I know it's done with permissions and llTakeControl, but I don't see how to freeze someone with it.
Any ideas?
Thanks for the help.
(And no, it's not for griefing..)

These forums are CLOSED. Please visit the new forums HERE
I can't for the life of me figure this out. |
|
|
Owner Maltese
Registered User
Join date: 13 Sep 2005
Posts: 65
|
05-15-2007 16:39
How the hell can you make someone freeze in place?
I know it's done with permissions and llTakeControl, but I don't see how to freeze someone with it. Any ideas? Thanks for the help. (And no, it's not for griefing..) ![]() _____________________
The only interactive virtual drug in Second Life. Come on down to the Seclimine Shack on Seclimine Street and try it out.
Seclimine: Helping you lead the way..... Http://www.Seclimine.com Zeuzara 229, 104, 113 |
|
Kenn Nilsson
AeonVox
Join date: 24 May 2005
Posts: 897
|
05-15-2007 16:42
It involves a fixed-position llMoveToTarget() repeated over a short interval.
_____________________
--AeonVox--
Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms chasing ghosts, eating magic pills, and listening to repetitive, addictive, electronic music. |
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
05-15-2007 17:05
You can do it with llTakeControls as well, take all the movement controls and don't pass them on but don't do anything with them either. You can't stop someone rotating in place, though.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names |
|
Phoenix Ristow
Registered User
Join date: 11 Sep 2006
Posts: 9
|
Solution
05-16-2007 11:37
This is a solution for like an attached object like a slave collarr etc.
Set an global variables to handle whether the person is frozen or can walk Set a global variable to mark their position we want to hold them at integer stay_status; vector stay_spot; The person designated as owner sends a command and you pick it up via listen event handler so you process it something like this: if(message=="Stay" {stay_status = 1; llSetEventTimer(1.0); stay_spot = llGetPos(); } if(message=="Release){ stay_status = 0; llSetEventTimer(0.0); llStopMoveToTarget(); } Set up the timer event handler to just keep moving them back to the starting position timer() { if (stay_status==1) { llMoveToTarget(stay_spot); } } Note: If you use timer for multiple events at times use the "Freeze status" integer to make sure if they are not frozen and you are using the timer for another event that it will not decide to freeze the avatar again. If this is the only thing you will use the timer event for then you can do away with the stay_status integer and the if conditional in the timer. |