Jump to content

Estelle Pienaar

Resident
  • Posts

    143
  • Joined

  • Last visited

Everything posted by Estelle Pienaar

  1. Without testing it now, I would say that the script looks like it should work (there are some functions like llRemoveInventory) that I have never used, though). I would just warn people in written that their inventory items will break when they break rules or leave. "Legalese" speaking you might be messing with other people's property and you don't want the Lab knocking at your door!
  2. I am quite sure that messages with more than 15 characters are possible with llDialog. They won't be shown completely on the buttons, but they will be shown in chat. (Can't test right now, but I remember 'saying' long 'predetermined statements' to an NPC bot via a 'dialog menu').
  3. Rolig, when I try to attach anything from a HUD, the user always has to give permission via a permission request. Since you were mentioning this possability, have you seen any way arround this limitation? Many people overlook the permission request boxes and then say that the HUD is broken... Also the experience keys will come out of beta soon. With the experience permissions system, it will be possible to attach objects (and possibly clothing) without asking for permission all the time. As plans are now, an experience key will cost extra money (fee per key per month), so it can only be used by people with payment info on file, and abusing it (clothing is a very sensitive subject...) will not be taken lightly by the Lab.
  4. :catlol:I have started scripting after 7 years in SL because I totally wanted to make a system like yours. I had by chance a few SL friends who are great scripters and who gave me some guidance (plus people on this forum). I think I have become quite a good scripter in less than a year. The first steps are the hardest, but once you understand the basic principles you'll see that it is like playing Sudoku with much nicer results at the end...
  5. This is a quite good tutorial for script resources: http://www.unitedjousters.com/index.php/tournaments/script-lag-very-important My experience has been that if a sim runs over it's allocated resources then scripts start being delayed (and rarely failing) randomly. If a sim can only execute 80% of all scripts over a few seconds that should have run in one second, then there is a 20% chance that your script is delayed to the next second, a (0,2 x 0,2=) 4% chance that your script is delayed at least two seconds and an even lower chance that it is delayed more than 2 seconds or that it completely fails. From your description I would guess that the relation between an avatar wearing many scripts and the HUD not working is purely coincidental. It is more likely that you have some code in there that crashes the HUD or stops it somehow. Ok, your statement that getting rid of other scripts made your HUD working again doesn't fit my theory. But what you say really contradicts everything that I have experienced in SL. Are you using a listener that might use a common channel and the commands that you transfer over the channel are common too? Maybe other attachments use the same channel and commands and interfere with your HUD? That's also unlikely but it would make more sense to me than blaming the general script load of an avatar. That said, no avatar should put more than 0.25 ms script load on the servers! 1ms and more is antisocial behaviour!
  6. Please excuse also my late reply. It really worked like a charm! Great, I am very happy with it!
  7. Would you mind to post a short instruction hw to set-up sublime text? I tried and failed.
  8. RIght..., we won't be able to avoid a list then... :matte-motes-bashful:
  9. Why so complicated everyone, seriously? Just use one simple global variable that is counted up from 0 to 15 with every prize that is found. integer foundPrice = 0; //this is a global variable for the number of found prizes integer restPrice = 15; //this global variable is not necessary, I only put it for funlisten event //Let's say when a prize is found and touched, it always says "Found me!" to the channel that the HUD is listening toif (message = "Found me!") //yay, congratulations { foundPrice +=1; restPrice -= 1; //value of global variable is changed by +1,. Now perform the check how many prices have been found in total. if (foundPrice == 15) llOwnerSay("We found all the prizcs"); else llOwnerSay("You need to find " + (string)(restPrice) + "more prices, before you win this game."); }
  10. I loooooooove how this conversation went off-topic! :matte-motes-inlove:
  11. Thanks a lot for the quick reply! So "0x" is kind of a marker and the compiler recognises that it should typcast the numbers/letters after that marker as hexadecimal numbers. My new lesson for the day. :matte-motes-smile:
  12. A few months ago I learned how to create dialogs. I like that every user gets their own llListen channel based on their avatar key: http://wiki.secondlife.com/wiki/Dialog_Menus#Listening_to_Hear_the_User.27s_Choice I tried to understand how this works exactly, so I created a little script to see what are the different ingrediants: string avaChannel1; string avaChannel2; integer avaIntChannel1; integer avaIntChannel2; integer avaIntChannel3; default { state_entry() { avaChannel1 = llGetSubString( (string)llGetKey(), -7, -1); avaChannel2 = ("0x" + llGetSubString( (string)llGetKey(), -7, -1)); avaIntChannel1 = (integer)avaChannel1; avaIntChannel2 = (integer)avaChannel2; avaIntChannel3 = (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) ); } touch_start(integer total_number) { llSay(0, avaChannel1); llSay(0, avaChannel2); llSay(0, (string)avaIntChannel1); llSay(0, (string)avaIntChannel2); llSay(0, (string)avaIntChannel3); llSay(0, llGetKey()); } } I got these 4 results: Avatar Key: XXXXXXXX-XXXX-XXXX-XXX-XXXX2e227f4 avaChannel1: 2e227f4 avaChannel2: 0x2e227f4 avaIntChannel1: 2 avaIntChannel2: 48375796 avaIntChannel3: 48375796 What is the Maths behind this? Why is string "avaChannel1" typcasted into the integer "2" and an a very similar string with the addition of "0x" into the integer "48375796"? How are letters typcasted into integers anyway?
  13. Sorry, I am a bit late for the show. The upcoming experience tools will give creators a way to attach items: http://community.secondlife.com/t5/Tools-and-Technology/Seeking-Creators-for-the-Experience-Keys-Beta/ba-p/2764864 It is still possible to approach LL for access to the beta stage. Do use these tools very carefully, I think that you get serious problems with LL if used for anything that could be considered griefing.
  14. These are intersting speculations and it would make sense to use existing and widely adopted platforms. If it would really be the direction of LL, then I'd be for the first time excited about SL2.0. But for the time beig SL and LSL is what we got and I enjoy workig with it.
  15. There is a way to lock objects? Why has no one ever told me? I could have avoided so many "situations" over the years... :matte-motes-shocked:
  16. I guess, that the OP has just mixed up "on_rez" and "attach" event. He/she is talking about wearing a chain after relog, etc. He/she will need to use the "attach" event for everything related to that. "on_rez" will simply not work, appart from the fact that he/she cannot get the key.
  17. I am not sure how your objects are placed and what you are trying to achieve. Maybe you could link some of the prims and communicate with llLinkMesage? Or you could let your objects via http? When I script, I am trying to avoid listeners as they are one of the major lag sources...
  18. There is also an LSL command that does limit the sound to a certaion range,: llTriggerSoundLimited http://wiki.secondlife.com/wiki/LlTriggerSoundLimited With the following code snippet you can limit the sound to a range of +/- 10 meters (credit to LSL wiki): llTriggerSoundLimited("soundname", 1.0, llGetPos() + <10,10,10>, llGetPos() - <10,10,10>); However this is still problematic in houses with several floors, as is the method to create several parcels and ristrict the sound to each parcel: The sound is limited towards the sides, but not upwards and downwards. You will hear on all floors what happens at another floor. That's also why I think that a HUD is the best way to limit sounds. But if a HUD is too complicated to script, then the code snippet above might still be better than playing all the sounds without any boundaries...
  19. First of all you need to reflect on how you want to give the people your thank-you object. Do you want to use a script that gives it automatically? Or do you want to go through the list, copy & paste every single one and send it personally? That could add up to a lot of work and effort over time. Secondly, do you want to give everyone a gift, who paid more than a certain threshhold? Or do you want to decide on a case by case basis? Scenario 1) Let's say you want to decide on a case to case basis if you want to give a gift. And you send it to every person manually. Then you need to work with strided lists. http://wiki.secondlife.com/wiki/Category:LSL_List#Strided_lists Here you need a grouping of two strides: list donations = [nameXY, paymentXY...] Instead of making a list names, you start with the list myDonations: Then you add after each payment the name of the donator and as a second new entry the amount of the payment. myDonations += [User, Payment]; Then you can let the script say the list in chat or write it on a notecard. And you go through it name by name and amount by amount. Scenario 2) You think about your metrics before you start scripting. Let's say that you will have 3 levels of gifts. You will give a "small" gift to everyone paying between 100LS and 250LS, a "medium" gift to everyone paying 250LS to 1000LS and a "big" gift to everyone who pays more than 1000LS. Then you don't have to work with a strided list, but with three single lists. Everyone who pays less than 100LS would not be saved, which saves you script memory. Don't list the names. Use llGiveInventory e.g. in combination with a listener and a command on a negative channel, then you can give everyone on the list the object in an automated process (if you are able to script that). In order to do that, you won't need the names but the key of the people who donated. list myDonationsSmall;list myDonationsMedium;list myDonationsBig; You make an if-else chain to identify, if the key of the donator goes into one of the three lists: default { money(key giver, integer amount) { if ((amount > 99))&&((amount < 250)) myDonationsSmall += giver;else if ((amount > 249))&&((amount < 1000)) myDonationsMedium += giver;else if (amount > 999) myDonationsBig += giver; }} Now you have the keys of all people donating more than a certain threshold. If you don't feel confident to script an automatic inventory distributor, then you can always save the names with llKey2Name instead.
  20. Hi, this is a problem that has already been discussed in this forum. I have had it as well and it seems to be one of these things that no one at the Lab is looking into... What you need to do: Do a total uninstall of Second Life from your PC. Then download the newest version from the website and install it. The problem should be gone. But for me, every 3-6 updates, it comes back... NEVER press on ignore/skip during an update when files are missing. Second Life viewer might become unstable and start crashing. I had that problem...
  21. @Grebo: Be aware that SL also puts a heavy load on your CPU. Anything below i7 3xxx will slow your FPS down with your graphics card. You should also have 1333Ghz DDR ram. Look at this guy, who achieves 75FPS with everything on MAX in the settings on a heavy load sim: https://my.secondlife.com/fl0.cale/snapshots/5408089da73e214cea000001 Look at his system stats and click on the picture to see his FPS and his settings. Your GTX970 card should be +/- as strong as his 980ti. (depending on overclocking settings) Also do read all the instructions on the web available about the things that can diminuish Oculus graphics. For example Oculus needs to be the primary monitor, and your normal screen needs to be set to 75Hz refresh rate, just like your Oculus. If the two screens don't have the same refresh rate, it slows you GENERALLY down considerably. There are more things like this. Look into it.
  22. Is DK2 support for the project Oculus viewer supposed to work now? I am still getting 'no device connected'! I didn't see any announcement for DK2 support either? Have I missed something?
  23. My bad! I didn't read it well enough. The claim that it would not work with R click had me confused. Shouldn't it work with R and L click then? I am also not sure that a map is the most customer friendly means of tp, even less than a sit teleporter without sit click action. But it will do it's job, of course.
  24. For the sake of your customers and your business, you should set the click action of your board to sit: http://community.secondlife.com/t5/LSL-Scripting/Avatar-and-object-interactions/td-p/2809462 ;-)
  25. You can also do this in the object edit floater: http://community.secondlife.com/t5/English-Knowledge-Base/Click-actions/ta-p/700051
×
×
  • Create New...