Theremes Langdon
Registered User
Join date: 14 Oct 2004
Posts: 4
|
08-10-2005 12:22
Just as the title says. I am looking for a 1 prim door script. All the scripts I have for locking doors cause the door to open/close from the middle so I am looking for a script that will work with just the door where I don't have to add an extra prim on the door for it to open and close correctly. Thanks  Theremes Langdon
|
Cid Jacobs
Theoretical Meteorologist
Join date: 18 Jul 2004
Posts: 4,304
|
08-10-2005 12:25
If you cut the prim in half, then it will still turn about the middle, but it will look like its on a hinge because the other half has been cut off. 
|
Hank Ramos
Lifetime Scripter
Join date: 15 Nov 2003
Posts: 2,328
|
08-10-2005 19:17
// deluxe door script by Ezhar Fairlight // features: one prim, no building skills required, automatic closing, workaround for rotation drift, // doesn't mess up when moved, adjustable direction (inwards/outwards) and sound volume, HHGG quotes! // updated for SL 1.4
// just rez a cube primitive and put this script inside - it will shape and texture itself into a door
// ********** SETTINGS HERE ************ float TIMER = 30.0; // automatically close the door after this many seconds, // set to 0 to disable automatic closing
integer DIRECTION = -1; // direction door opens in. Either 1 (outwards) or -1 (inwards);
float VOLUME = 0.8; // sound volume, 1.0 loudest, 0.0 to disable sound // ********** END OF SETTINGS **********
key SOUND_OPEN = "cb340647-9680-dd5e-49c0-86edfa01b3ac"; key SOUND_CLOSE = "e7ff1054-003d-d134-66be-207573f2b535";
vector gPos; // door position (objects move a tiny amount // away from their position each time they are rotated, // thus we need to workaround this by resetting // the position after rotating) door(integer open) { if (open) { llTriggerSound(SOUND_OPEN, VOLUME); llSetRot(llEuler2Rot(<0, 0, -DIRECTION * PI_BY_TWO>) * llGetRot()); } else { // close llSetRot(llEuler2Rot(<0, 0, DIRECTION * PI_BY_TWO>) * llGetRot()); llTriggerSound(SOUND_CLOSE, VOLUME); } }
default { // first time startup state_entry() { if (llGetTexture(0) == "89556747-24cb-43ed-920b-47caed15465f") { // is default texture, set it up llSetPos(llGetPos() + <0, 0, 3.325 / 2 - 0.25>); llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, <0.375, 0.875, 0>, 0.0, 0.0, <1, 1, 0>, <0, 0, 0>, PRIM_SIZE, <0.2, 4, 3.325>, PRIM_TEXTURE, 0, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.060000, 0.000000>, <0.500015, 0.469985, 0.000000>, 1.570840, PRIM_TEXTURE, 1, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <-2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 2, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.599994, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 3, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 4, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.080000, 0.000000>, <0.500015, 0.550005, 0.000000>, 1.570840, PRIM_TEXTURE, 5, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 6, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000] ); llSetObjectName("Door Deluxe"); llSay(0, "Thank you for making a simple door very happy."); } gPos = llGetPos(); // remember where we're supposed to be door(TRUE); state closed; } } state closed { // door is closed on_rez(integer start_param) { gPos = llGetPos(); }
state_entry() { door(FALSE); }
touch_start(integer total_number) { state open; }
moving_end() { // done moving me around, store new position gPos = llGetPos(); } }
state open { // door is open on_rez(integer start_param) { gPos = llGetPos(); state closed; }
state_entry() { llSetTimerEvent(TIMER); llSetPos(gPos); // rotation drift workaround door(TRUE); } touch_start(integer num) { state closed; } timer() { // auto-close state closed; } moving_start() { // close when being moved state closed; } state_exit() { llSetTimerEvent(0); } }
|
Theremes Langdon
Registered User
Join date: 14 Oct 2004
Posts: 4
|
08-11-2005 10:55
Oh thanks so much...but  ran into a problem. I made the cube put in the script and it jumped up then...I got this message llSetPrimitiveParams error running rule #1 (PRIM_TYPE_BOX): arg #1 (hole type) integer expected but vector given. Any suggestions?
|
Cid Jacobs
Theoretical Meteorologist
Join date: 18 Jul 2004
Posts: 4,304
|
08-11-2005 11:24
From: Hank Ramos llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, <0.375, 0.875, 0>, 0.0, 0.0, <1, 1, 0>, <0, 0, 0>, PRIM_SIZE, <0.2, 4, 3.325>, PRIM_TEXTURE, 0, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.060000, 0.000000>, <0.500015, 0.469985, 0.000000>, 1.570840, PRIM_TEXTURE, 1, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <-2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 2, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.599994, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 3, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 4, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.080000, 0.000000>, <0.500015, 0.550005, 0.000000>, 1.570840, PRIM_TEXTURE, 5, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 6, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000] ); I cant get in world atm, but shouldnt that be: llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.375, 0.875, 0>, 0.0, <0.0, 0.0, 0.0>, <1.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, PRIM_SIZE, <0.2, 4, 3.325>, PRIM_TEXTURE, 0, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.060000, 0.000000>, <0.500015, 0.469985, 0.000000>, 1.570840, PRIM_TEXTURE, 1, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <-2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 2, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.599994, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 3, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 1.000000, 0.000000>, <0.500015, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 4, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <2.000000, 0.080000, 0.000000>, <0.500015, 0.550005, 0.000000>, 1.570840, PRIM_TEXTURE, 5, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000, PRIM_TEXTURE, 6, "086c7e6b-bdd6-7388-f146-f3d1b353ed15", <0.100000, 1.000000, 0.000000>, <0.449995, 0.000000, 0.000000>, 0.000000] );
|
Theremes Langdon
Registered User
Join date: 14 Oct 2004
Posts: 4
|
08-13-2005 00:47
wooohooo thanks
|
Theremes Langdon
Registered User
Join date: 14 Oct 2004
Posts: 4
|
08-13-2005 01:05
doh...uh how do I make it lock?
|