Jump to content

Quistess Alpha

Resident
  • Posts

    3,876
  • Joined

  • Last visited

Everything posted by Quistess Alpha

  1. and in other viewers, but they're in a slightly different place in each if at all. I kinda wish 'debug settings' were less hidden to "regular users". I don't want to have to boot up firestorm whenever I'm conversing with someone and we realize some aspect of firestorm's default settings are dumb.
  2. Interestingly this is viewer-dependent behavior. If the debug setting ScriptDialogLimitations is set to 4, and a script is in a HUD, (in addition to other possible combinations) then sending a new llDialog() menu to the user won't close an old one they may not have responded to or manually closed.
  3. It depends a lot on the actual use-case, but for situations in which I want a sequence of user-input things to happen in order, states can be a useful way of making that happen: integer gChan = 35; string responseA; string responseB; default { state_entry() { llListen(gChan,"",llGetOwner(),""); llTextBox(llGetOwner(),"Question 1:",gChan); } listen(integer chan, string name, key ID, string text) { responseA = text; state state_b; } } state state_b { state_entry() { llListen(gChan,"",llGetOwner(),""); // listeners are reset on state change. llTextBox(llGetOwner(),"Question 2:",gChan); } listen(integer chan, string name, key ID, string text) { responseB = text; // do something with the responses. llSay(0,responseA+" : "+responseB); // for demonstration. } } This kind of approach can get messy with duplicated code (a 'real application' might want to repeat the question on touch_start, go back to the beginning if there isn't a response within a few minutes etc etc) but can be a lot less of a spaghetti mess if the kinds of things you're asking require radically different user input at each step. (textbox, dialog, put a notecard in the prim, change my permissions, change the rotation of this thing I just rezzed so it 'looks right' etc. etc.) Since llDialog can be used to generate a llTextBox, you can fairly easily generalize a long list of questions: list questions = [ "How are you today?", "a, b or c?", "Pineapple on pizza?" ]; list options = [ "!!llTextBox!!", "a,b,c", "Eww. No!,Awesome!" ]; integer q_index; integer n_questions = 3; // list responses; integer gChan = 35; default { state_entry() { llListen(gChan,"",llGetOwner(),""); llDialog(llGetOwner(),llList2String(questions,q_index),llCSV2List(llList2String(options,q_index)),gChan); } listen(integer chan, string name, key ID, string text) { responses+=text; ++q_index; if(q_index<n_questions) { llDialog(llGetOwner(),llList2String(questions,q_index),llCSV2List(llList2String(options,q_index)),gChan); }else { // do something with the responses. llSay(0,llList2CSV(responses)); // for demonstration. } } }
  4. Perhaps apple doesn't want a talking head whining about abuse of their 'monopoly power' on fox news?
  5. making the viewer in unity makes an additional web-browser port less-unrealistic, but still probably unlikely.
  6. at least Android has a choice between different app-store curators. Free-droid is awesome for finding non-add-spammy basic functionality apps, and Amazon Appstore exists I guess.
  7. Might involve sending in a support ticket in that case?
  8. how does right-click from inventory touch an object work though?
  9. It seems more like a scripted agent type of thing rather than a RLV thing, and IMO those need different protocols. As a different example, a 'scripted agent command' to send an IM to someone is pretty universal capability, it would destroy RLV if not over-managed with permissions though.
  10. The screens on many smartphones are actually as big or bigger than desktop monitors in terms of pixel dimensions. (as an example, 1920x1080 on my desktop, 2961x1440 on my phone. ) Setting your resoluton lower can increase your FPS quite a lot though, try setting your debug setting 'renderResolutionDivisor' to 2 or 3 some time.
  11. Hypothetically a viewer could support being told to touch a specific attachment via a script API, but I don't think any viewers do. (not even Cool VL viewer has that functionality. https://sldev.free.fr/CoolVLViewerLuaManual.pdf )
  12. As far as I know, an adult, expressing themselves as clearly an adult who's acting and dressing like a child is within the TOS, even if that goes pretty close to the line. perhaps too close for a lot of people's comfort. ETA: even if adult things are also involved.
  13. unfortunately LSL doesn't support binary operations in the ways that are needed to do a lot of cryptography effectively. XTEA translated well to LSL though (see LSL library). We have new functions llSignRSA and llHMAC but no native ECDSA support.
  14. If the head is mod (most furry things I have experience with are) you can make sure the head has BOM set by manually changing the texture. (look closely at the texture select window to find the BOM options)
  15. Hilarious! Thanks for sharing. I wish the dubbing was better synced though .
  16. You need to wrap the contents of the 'if' clause in {brackets} for the else clause to be valid, and for the script to do what you expect. Indentation in LSL is non-functional, unlike some other languages like python. You also will want to add a check to not remove the item if it's already been removed to avoid an error message every hour on the specified day. // Delete inventory object on date default { state_entry() { llSetTimerEvent(0.1); } timer() { if(llGetDate() == "2023-03-09") { string item = llGetInventoryName(INVENTORY_OBJECT, 0); if(item) llRemoveInventory(item); llSetText("Sorry, You must wait next month to take the gift", <0,1,0>, 1.0); }else { llSetText("", <0,1,0>, 1.0); } llSetTimerEvent(3600.0); // check every hour. } } Also, the LSL library section is the wrong place for this topic, usually specific script help questions go in the LSL scripting forum. (parent of this section). [Thank you moderator for moving it]
  17. with discord dev things enabled, there's a 'copy ID' option at the bottom of the right click menu of most relevant things:
  18. Come to think of it, other practical solutions would be to either wear an outfit that doesn't have your HUDs in it, or to put links to all your HUDs in an easy to access folder.
  19. I'm not much of a builder/architect, but my tip would be to make the landing point higher elevation than the explorable areas, "looking up" is not something that comes naturally with SL's camera controls.
  20. Not unless you can add extra scripts to your HUDS (unlikely for most) or your viewer supports some kind of client side scripting (the only full featured viewer I know of that does is Cool VL viewer)
  21. if anything it's not "fooling the IRS" but avoiding double tax. someone paid tax to buy the L$; that tax should still "count" if the L$ is used to pay for land, but 'cashing out' and paying with USD incurs a second tax (because of the odd accounting). Most countries/nationalities have agreements with each-other that basically amount to "only one country should tax a specific transaction" If, say, an American pays US sales tax and buys L$ then gives the L$ to a European who spends the L$ on land, arguably the European ~'should have' been able to get a rebate on the US sales tax if they also paid European taxes. That's only my 2L$ though.
  22. if you want to get all economics 101, sometimes it works that way, sometimes it's the opposite. The "ideal" price is whatever makes marginal revenue = marginal cost. If the football league didn't give out underpriced tickets to select groups, the stadiums would be empty save for just a few seats filled by crazy rich willing to pay whatever it takes to get a seat at the superbowl. As has already been mentioned, we don't have access to the numbers, so we can't know.
  23. /me pays you 1L$ The screenshot of the 'how to pay' tutorial shows the name of the object being paid as "Casperlet rental kiosk v1.0" although that doesn't imply anything about the scripts inside.
×
×
  • Create New...