
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!
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 wayIain McCracken wrote: ↑Sat Jun 25, 2022 5:03 pmYou 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); } }
Is it part of a linkset?Lunk Portal wrote: ↑Mon Jun 27, 2022 5:54 pmYeah, I can't seem to get this to work...my script skills are weak LOL
I have a hinge, which is the parent so there are 2 primsGraham Mills wrote: ↑Mon Jun 27, 2022 10:02 pmIs it part of a linkset?Lunk Portal wrote: ↑Mon Jun 27, 2022 5:54 pmYeah, I can't seem to get this to work...my script skills are weak LOL
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() );
}
}