Page 1 of 1
Set Rotation on SIM start
Posted: Wed Jun 22, 2022 11:12 am
by Lunk Portal
Hey everyone, I have some doors that get jacked up every time I upload an updated OAR to my SIM...and I am tired of resetting their rotation each time
I used to know a snippet of code but cannot remember it.
Does anyone know the code for setting rotation and position of an object on sim start-up?
THANKS!
Re: Set Rotation on SIM start
Posted: Sat Jun 25, 2022 5:03 pm
by Iain McCracken
You can use the "changed" event to detect sim restart using the "CHANGED_REGION_START" constant... So, this code inside the root prim of the door might be something like what you're looking for. I don't have a live sim right now so I can't test the sim restart on oar upload.
Code: Select all
changed(integer why)
{
if (why & CHANGED_REGION_START)
{
llSetRot(blah);
}
}
Re: Set Rotation on SIM start
Posted: Sat Jun 25, 2022 7:45 pm
by Lunk Portal
Iain McCracken wrote: ↑Sat Jun 25, 2022 5:03 pm
You can use the "changed" event to detect sim restart using the "CHANGED_REGION_START" constant... So, this code inside the root prim of the door might be something like what you're looking for. I don't have a live sim right now so I can't test the sim restart on oar upload.
Code: Select all
changed(integer why)
{
if (why & CHANGED_REGION_START)
{
llSetRot(blah);
}
}
I’ll give this a try next time I’m on and let you know either way
Re: Set Rotation on SIM start
Posted: Mon Jun 27, 2022 5:54 pm
by Lunk Portal
Yeah, I can't seem to get this to work...my script skills are weak LOL
Re: Set Rotation on SIM start
Posted: Mon Jun 27, 2022 10:02 pm
by Graham Mills
Lunk Portal wrote: ↑Mon Jun 27, 2022 5:54 pm
Yeah, I can't seem to get this to work...my script skills are weak LOL
Is it part of a linkset?
Re: Set Rotation on SIM start
Posted: Tue Jun 28, 2022 9:23 am
by Lunk Portal
Graham Mills wrote: ↑Mon Jun 27, 2022 10:02 pm
Lunk Portal wrote: ↑Mon Jun 27, 2022 5:54 pm
Yeah, I can't seem to get this to work...my script skills are weak LOL
Is it part of a linkset?
I have a hinge, which is the parent so there are 2 prims
Re: Set Rotation on SIM start
Posted: Tue Jun 28, 2022 2:47 pm
by Graham Mills
Lightly modded version of example script
https://wiki.secondlife.com/wiki/LlGetLocalRot
NB hinge is root, door is sliced and script is placed in door.
Code: Select all
//--// Door Script - Works At ANY Angle //--//
//-- works in ANY single prim door, linked or un-linked
//-- works in muti prim doors NOT linked to a larger structure
//-- REQUIREMENTS: a cut root prim. Suggest cube, pathcut start=.125, end=.625
//-- CAVEAT: single prim doors are limited to 5m width
//--// USERS MODIFY HERE v
integer vgIntDoorSwing = 90;
//-- use -# to reverse the direction of swing, eg. -90;
rotation gRotDoorSwing;
default{
state_entry(){
gRotDoorSwing = llEuler2Rot( <0.0, 0.0, vgIntDoorSwing> * DEG_TO_RAD );
}
changed(integer change)
{
if (change & CHANGED_REGION_RESTART)
{
llSetLocalRot(ZERO_ROTATION);
}
}
touch_start( integer vIntTouched ){
llSetLocalRot( (gRotDoorSwing = ZERO_ROTATION / gRotDoorSwing) * llGetLocalRot() );
}
}