Jump to content

Ruthven Ravenhurst

  • Content Count

  • Joined

  • Last visited

Community Reputation

146 Excellent

About Ruthven Ravenhurst

  • Rank
    Advanced Member

Recent Profile Visitors

1,136 profile views
  1. This example on LlSetKeyFramedMotion does just that. It does use a sensor, but you could easily change it to a timer that polls for the position and rotation of the avatar/object it's following. The benefit of the timer is you could get that info from across the sim and at a much larger height, rather than the limit of 96m in the sensor
  2. If you only need 2 different timers, there is the sensor event. You can have it look for an avatar with it's own key as the name, and with a very short range. This will trigger the no_sensor event, where you can set the second timer functions. Another one is to give each timed function a number Global: GTimer; //1 for a sound, 2 for a light, 3 for saying something. Set the numbers to match the thing you want to happen when the timer goes off Each time you need to use llSetTimerEvent, set GTimer to the appropriate number { ... other things in this event...;
  3. Yes, sort of. You'll need to bring the gif into a photo editing software and break up the layers into a grid, and turn it into a flat texture used with llTextureAnim. There may be some online generators that can do that for you.
  4. Also this will eventually break the script. If the end user drops something into the inventory, the script will reset, and it won't be able to get the key of the non-fullperm notecard in state_entry again
  5. This forum is for help with scripts you are working on. If you want someone to make a script for you, post in the Wanted forum, or In World Employment. You likely won't get someone to make it for free either, but it could be a fun project for someone that wants to. Edit to add: And now I see you posted the same request almost a day ago in another forum, and someone else told you basically the same thing....🤷‍♂️
  6. Something like alt-text in a browser? Unfortunately there's no way to do that in lsl😕 The closest you'd get to that on an object is the hover tips with all the info, but that doesn't work on attachments as far as I know.
  7. Yeah, if I was to make one with llTakeControls, I would have it not pass controls to ither6 scripts and for pose change/movement I'd use: Page Up/Down: Next/Previous* I thought these were options? Arrows keys for moving avatar left, right, forward, backward. Mouse Left to turn left Mouse Right to turn Right* Nevermind, guess this isn't an option. And to rotate forward/backward, umm....
  8. Use llGetAgentSize. If it returns zero_vector, wait a few seconds and try again
  9. Try it like this? Capturing it as a key, then listing it inside the function list List = ["n","n","13056ed9-7351-446d-b7ee-3152aeffed1a"];default{ touch_start(integer total_number) { key TOUCHER = llDetectedKey(0); integer found = ~llListFindList(List,[TOUCHER]); if(found){llSay(0,"Found");llSay(0,(string)found);} else{llSay(0,"Not Found");llSay(0,(string)found);} }}
  10. Also this should be an && test, as the OR will always result to true in this case, so: if((number != 10006) && (number != 10008))
  11. 😀 llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHANTOM,( llDetectedType(0) & AGENT)]);
  12. can also do toggle = -toggle; float toggle = 1.0;//can keep as integer you want, but it's being converted to a float in the vector anyways default { touch_start(integer total_number) { llPlaySound(DOOR_SOUND, VOL); toggle = -toggle; llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POS_LOCAL, llList2Vector(llGetLinkPrimitiveParams(LINK_THIS, [PRIM_POS_LOCAL]), 0) + <toggle, 0.0, 0.0 >]); } }
  13. think i figured it out, but there's gotta be a more efficient way of doing it 😕 it's getting the time when the loop is about to start, then replaces the unix time in the temp list with the time since that player's score was last updated. formatted by lumping it together as "score-timesince-name" then sorting, it sorts how i wanted it to. then it parses each of those lumped strings, then converts the timesince back to the original unix time, and reconstructs the score list list scores = [15,2001,"player 1", 12,2004, "player 2", 19,2004, "player 3", 15,2002, "player 4", 12,2005, "
  14. I'm trying to figure out how to sort a list of scores, and names, but maintain the player's place on the scoreboard if someone ties with them. for example, player 1 has a score of 15, then player 3 gets a score of 15, player 1 should stay in 1st place, and player 3 should move up to second place. following? i used the following script, but it didn't maintain the places as i expected. list scores = [15,"player 1", 12, "player 2", 19, "player 3", 15, "player 4", 12, "player 5"]; default { state_entry() { scores = llListSort(scores, 2, FALSE); llOwnerSay(llList2CS
  15. that's not something you can do with a script. it has to be done with the edit window https://gyazo.com/1a7ff76e1774f8409220004229949d4d
  • Create New...