Jump to content

Rolig Loon

Resident
  • Posts

    46,706
  • Joined

  • Days Won

    5

Everything posted by Rolig Loon

  1. From the LSL wiki: • key id – avatar or prim UUID that is in the same region id must specify a valid rezzed prim or avatar key, present in or otherwise known to the sim in which the script is running, otherwise an empty string is returned. In the case of an avatar, this function will still return a valid name if the avatar is a child agent of the sim (i.e., in an adjacent sim, but presently able to see into the one the script is in), or for a short period after the avatar leaves the sim (specifically, when the client completely disconnects from the sim, either as a main or child agent).
  2. A floor shadow is just an extra prim that is textured so that it grades from a midtone gray at about 50% alpha at the middle to 100% alpha at the edges. You ought to be able to make one in a minute or less with Photoshop or GIMP, or you can find freebie ones all over SL. ETA: In fact, here's one now >>> "21b98d3c-617c-8165-d1bb67ec9dfb". Just apply it to your prim with a script and you'll have a shadow prim.
  3. Ooop. Right you are. I regularly open boxes as attachments because it saves me the trouble of going home again to do it, but I misspoke. You do need to do it with Edit >> Contents and then drag the items to your inventory. "Open" doesn't work.
  4. Earlier this month there were still a few welcoming areas in SL where it was possible to register for a new account with a "legacy" name. I am not sure how many of them are still active, or for how much longer. ETA: Here's the list that was still good during the first week in March, the last time I paid attention: http://www.emagine.jp/regapi/secondlife.php http://islab.org/slreg/ http://sl.nmc.org/create.php?v=2 http://registration.nanolands.com/ http://registration.scilands.org.uk/ http://registration.secondhealth.org.uk/ http://www.thevesuviusgroup.com/reg/vai/slreg/index.php
  5. :smileyvery-happy: Pas du tout. Vous avez seulement besoin de se rappeler que la boîte a déjà le "http://" en elle, donc il faut faire attention de ne pas ajouter un de plus par erreur. Sinon, votre expérience a été couronnée de succès. Félicitations.
  6. Pas tout à fait. Il n'existe aucun lien sur le mot "voila". ETA: Ooop, pardon. Il est là, mais mon navigateur ne peut pas lier à elle pour une raison quelconque. Je pense que c'est mon problème, pas le vôtre. ETA: Non, je vois. Il ya un supplément de "http://"dans votre adresse web.
  7. Rolig Loon

    This or that!

    Eh bien, j'aime le Google Translate (http://translate.google.com/?tab=mT#fr|en|). Je ne sais pas si elle traduit le langage technique correctement, parce que je ne connais pas les termes techniques en français moi-même. Sa traduction de phrases de base est généralement OK, cependant. (Il me sauve aussi la peine de taper les accents, qui ne sont pas sur mon système, j'ai donc l'utiliser même si je pourrais probablement écrire une bonne réponse en français par moi-même.)
  8. Rolig Loon

    This or that!

    LOL. Ich wünschte nur, dass meine deutschen Wortschatz besser war. Es wurde viel zu vielen Jahren, seit ich studiert, so jetzt muss ich auf Google Translate verlassen. Ich war froh, dass Ihre Frage auf Französisch statt gestellt wurde. ;-)
  9. Rolig Loon

    This or that!

    Ah, je viens de voir ta nouvelle note d'explication. Peewee y a repondu exactement. Bonne chance.
  10. You will discover that you are not allowed to drag a box to the ground in most places in SL. There are two ways around the problem. One way is to find a sandbox where you are allowed to rez items. You can do that by opening your Search function, selecting the "Places" tab, and typing in the keyword sandbox. Another way to open a box is to attach it to yourself instead. You have already done that simply by wearing the box. Once it is attached, you should be able to select the box by right clicking on it, and then select "Open" to send its contents to your inventory. When you are finished, just detach the box again.
  11. Rolig Loon

    This or that!

    Salut Rotpaulette! Utilisez le menu «Options» , dans le coin supérieur droit de votre message . Le premier choix dans le menu est "Edit". Vous pouvez utiliser cette option pour modifier n'importe quelle partie de votre message, y compris le titre.
  12. Take a look at the shortcut cheat sheet at http://wiki.secondlife.com/wiki/Shortcut_Keys. It has most of the common shortcuts, laid out for both PC and Mac platforms. It might be handy to print out and keep next to your keyboard while you are learning your way around in SL.
  13. Nope. Avatars only have one arm. That was one of LL's dumber design choices. The only way to make a tattoo appear on one side but not the other is to wear a prim attachment (armor, a puffy sleeve, or a fake arm) to cover it on the side you don't want to see.
  14. Essayez de porter une base de chaussures différente, et puis essayer de porter une nouvelle paire de chaussures.
  15. It looks like you have found your answer. You are trying to run SL in a 64-bit Windows 7environment and the CPU is not fast enough to handle it. You might try running in 32-bit emulation mode to see if that helps. If not, your only alternative is to be patient until you can replace your computer with one that has a faster CPU.
  16. Define a global variable to carry the value of llDetectedKey(0) to the dataserver event. At the top of your script, before the default event, write, for example key gAV; Then, in the touch_start event, write gAV = llDetectedKey(0); Once gAV is defined and properly loaded that way, you can use it in the dataserver event in place of llDetectedKey(0), which will not work there. The llDetected* functions only work in events that actually detect something.
  17. If your code is sending the correct message when your friend clicks on it, then you can be fairly sure that her age is being calculated correctly, so the problem is likely to be in the information passed to llGiveInventory. The problem is often that an improper UUID has been passed to the llGiveInventory function. This can happen, for instance, if you have failed to capture the target av's UUID in a touch_start or collision_start event and pass it to whatever event the llGiveInventory function is sitting in. One way to track it down is to put llOwnerSay diagnostic statements around the section of the code where you are trying to give inventory and find out what UUID and av name are being used. Check also to be sure that the inventory you are trying to give isn't no copy, and that you have named it appropriately.
  18. Nice. As usual in scripting, there's more than one solution to a problem. If you only need to use the function a couple of times, this one's a good solution. Each use involves querying every single prim in the linkset, though, so if you have to use this function very many times, it ends up doing way too much computation. In that case, it's smarter to query the prims one time and save the results in a list. Checking the list for an index is much faster in the end. One of the challenges in scripting is to find the best solution for the particular situation you are facing. Not always easy. :smileytongue:
  19. Once you have downloaded and installed a viewer, then go HERE to find out how to do things in SL. After that, you're on your own. You can go anywhere you want, meet new friends, and do anything that you find interesting. Welcome aboard. :smileyhappy:
  20. Oh, #$@***! Fixed again. :smileysad: Yeah, I actually considered that doubling back trick for getting rid of the script name but figured that it wasn't worth the extra effort to optimize a bit of code that will execute once on a script reset, especially where saving time is not really important.
  21. if (change & CHANGED_LINK){ gPrimnames = []; integer i; for(i=1;i<=llGetNumberOfPrims();++i) { gPrimnames += [llGetLinkName(i)]; }} Then you can safely query the global list gPrimnames by list index at any time with integer LinkIdx = llListFindList(gPrimnames, [the_link_I_Want]) + 1; to get the number of a named link.
  22. Oh, the list could go on and on. Actually, the biggest reason why it will be a long time before most greeter scripts recognize Display names is simply economics. Most people who use those scripts aren't scripters. They paid someone to create the greeters for them, and they aren't about to pay some else to do it all over again just to accommodate Display Names. Even if they are using freebie greeters, it's a pain to have to replace all of them. Inertia rules in all things.
  23. Nice thoughts, Void. Thanks. I updated the OP, above.
  24. Here's the scenario: You have a box full of goodies that you want to offer people, and you want to make it easy for them to know what's inside. Yes, I know they can always right click and use Open or Edit >> Contents, but you want to save them even that much trouble. This simple little script lists everything in your box in an alphabetized hover text display that shows 8 lines at a time, like a vertical marquee. It even shows what type of item (clothing, script, notecard, ....) each one is. // FLOAT BOX CONTENTS -- Rolig Loon // Lists object contents in hover text, labeled by type // // Hover text has a 254 character limit, so this script rotates the contents list into hover text eight at a time, marquee style list gContents = []; default { state_entry() { list list_types = [INVENTORY_NONE, INVENTORY_TEXTURE, INVENTORY_SOUND, INVENTORY_LANDMARK, INVENTORY_CLOTHING, INVENTORY_OBJECT, INVENTORY_NOTECARD, INVENTORY_SCRIPT, INVENTORY_BODYPART, INVENTORY_ANIMATION, INVENTORY_GESTURE]; list list_names = ["None", "Texture", "Sound", "Landmark", "Clothing", "Object", "Notecard", "Script", "Body Part", "Animation", "Gesture"]; integer i; for (i=0;i<llGetInventoryNumber(INVENTORY_ALL);++i) { string item_name = llGetInventoryName(INVENTORY_ALL,i); if((item_name != llGetScriptName())&& (llGetInventoryType(item_name) != 10)) { integer type_index = llListFindList(list_types,[llGetInventoryType(llGetInventoryName(INVENTORY_ALL,i))]); string type_name = llList2String(list_names, type_index); gContents += type_name + ": " + item_name + "\n "; } } if(llGetListLength(gContents) > 8) { llSetTimerEvent(5.0); } else { llSetText("THIS BOX CONTAINS: \n " + llDumpList2String(gContents,""),<1,1,1>,1.0); } } changed(integer change) { if (change & CHANGED_INVENTORY) { llResetScript(); } } timer() { gContents = llList2List(gContents,1,-1) + llList2String(gContents,0); // Move item 0 to the end of the list list temp = llList2List(gContents,-8,-1); // Display only the last eight items llSetText("THIS BOX CONTAINS: \n " + llDumpList2String(temp,""),<1,1,1>,1.0); } }ETA: Modified with the addition of suggestions by Void Singer. :smileywink: ETA2: And again. That's what I get for editing too fast. :=P
  25. Most scripted objects that you are likely to bump into were created before anyone had even thought of Display names, so they don't know how to recognize one. Also, many of those devices are scripted to recognize when the same visitor returns a second time. That way it doesn't send another annoying greeting or count you twice in its visitor counter. To do that, it needs to look for your real (i.e., Login) name or your UUID because it can't count on a Display name staying the same from one week to the next. Including a Display name as well may use more memory than many greeters can handle. For those and many other reasons, that scripting job is just tricky enough that I suspect it will be a while before many greeters are written to do it right. It will actually be a while before most people see your Display name, after all. :smileywink:
×
×
  • Create New...