Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Discussion: Timeless Linked Door

chr0nic MacKay
Registered User
Join date: 12 Jul 2006
Posts: 26
03-01-2008 17:39
i would love to see access notecard added to this script is one of the best door scripts out jsut a shame it doesnt have that or if your useing it fro renters they could do somthing like/ add to add the person name to the door and not haev to edit the script all the time

thx for reading this
rico
Lulu Pink
Registered User
Join date: 30 Sep 2006
Posts: 18
03-27-2008 04:46
I really love to use this script even if i change it a lot once all is configured to make it less laggy (which door needs a channel 0 listener?).
I use it for other things than doors, too, or just try to and fail...

Does anyone know why a big scale change from 10,5,5 to 0.5,0.1,0.1 causes the positioning to fail?
Cause that is what happens then... the "door" stays at the same position and doesnt just get "shrinked" into a different position, or the other way around, what actually happens is:
i make the big size as door close config, then make it small... one side not the middle, remains at the same spot thuogh... then config that as open...
When i now close the door again, the prim grows big but stays at its open position instead of moving to the closed one...

Any ideas what is happening?
Thanks,
Lulu
Partington Gould
Registered User
Join date: 15 Sep 2005
Posts: 94
03-29-2008 22:18
Hi Lulu,

Sorry if this is a dumb question, but did you grab a recent version of the script? LL broke this script a few months ago.

I've used one modified by Yabu Kurosawa in post #46, I shrink 10x10x.4 to .2x10x.4 with no problems.

Thanks :)
_____________________
PG - Permanently Confused and prone to Wandering
Iraefer Revnik
Registered User
Join date: 3 Dec 2007
Posts: 10
04-23-2008 10:19
hey;

This is a very good script. I want to ask 2 things...

1- Can we use this door as sliding what do we need to do?

2- When i say lock it says corfirmed. But i can still open it is it beacuse i am the owner... Or i am doing someting wrong...

Thank you for all
Arritalon Paine
Registered User
Join date: 3 Mar 2007
Posts: 4
04-30-2008 20:15
The owner can always open it regardless you need someone else to help you test it
Yabu Kurosawa
Registered User
Join date: 29 Jan 2007
Posts: 3
05-07-2008 02:26
From: Iraefer Revnik

1- Can we use this door as sliding what do we need to do?


This script can be used for sliding doors, swinging/rotating doors, shrinking/expanding doors... It stores the position, rotation and size of the opened and closed door. Actually, you can use it for a lot of other things too: curtains, sun blinds, garage doors, sliding roofs etc... everything you can make from a single prim that should have an open/closed, up/down, on/off state.
Gisela Gynoid
Registered User
Join date: 26 Jul 2007
Posts: 3
05-19-2008 13:19
I get the "The door prim's description is empty of has invalid syntax", everytime. I tried recreating the prim and starting over but i still get the same thing. Is there something in the script I must change? What must I type in the Name and Description. I put in Glass Sliding Door and Scripted Door, Scripted, or Null in the Description. what am I doing wrong?
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
05-19-2008 16:22
From: Gisela Gynoid
I get the "The door prim's description is empty of has invalid syntax", everytime. I tried recreating the prim and starting over but i still get the same thing. Is there something in the script I must change? What must I type in the Name and Description. I put in Glass Sliding Door and Scripted Door, Scripted, or Null in the Description. what am I doing wrong?


Have nothing in the name or description of the prim, not even (No Description.)
Vida Orenstein
Registered User
Join date: 24 May 2008
Posts: 1
Multi Prim Version
06-15-2008 19:44
Here is a multi prims version modified from Yabu's post(#46)

The changes are:
- Removed Scaling and original door API
- Add doorSetID and Sound Enable

This script uses LLMessageLinked instead of some animator, so its only useful for doors with less prims (I have one with 10..)
You need to insert a script in every door prim to make them work.

If you have 1+ multi prim doors in a linked set, each doorset need to have a unique doorSetID. And it's better to enable sound for only one prim in each doorset. (unless you like another way.)

The door prims will toggle together on click, the one little bug I found is that if you say open/close to the door in a position where only some prims hears you, the internal open/closed status of each script can go out of sync. You can reset it by walk close and say "close" or just wait for auto close.

Cheers.

//------------------------------------------------------
// Timeless Linked Door Script by Timeless Prototype
//------------------------------------------------------

//======================================================
// Modified by Vida Orenstein (Jun 2008)
// Modify for multi prim door using link message.
// Removed scaling and the original Door API.
// Add doorSetID and SoundEnable
// If you have multi prim door in a linked set, they need
// to have the same doorSetID, and only enable one sound
// (or they will play the same sound together, LOL)
//======================================================
// Modified by Yabu Kurosawa (feb 2008)
// As of server version 1.19.0, the length of the object
// name is always truncated to 63 characters, the length of the
// description to 127 characters. See also:
// http://blog.secondlife.com/2008/02/01/scripters-object-name-and-description-changes/
// The original script exceeds the maximum name length.
// This problem is solved by compressing the 20 float
// values into 5-character strings and storing them all
// in the description field. Total string length is 105.
//======================================================


// The original version of this script can always be found
// in the Library section of the wiki:
// http://www.secondlife.com/badgeo/
// This script is free to use, but whereever it is used
// the SCRIPT's permissions MUST be set to:
// [x] Next owner can modify
// [x] Next owner can copy
// [x] Next owner can transfer
// [x] Allow anyone to copy
// [x] Share with group

//------------------------------------------------------
// USAGE INSTRUCTIONS FOR EVERYDAY USE:
//------------------------------------------------------
// Say the following commands on channel 0:
// 'unlock' - Unlocks all doors in range.
// 'lock' - Locks all doors in range and allows
// only the permitted users to open it.
// To open the door, either Touch it, Walk into it or
// say 'open' or say 'close'.

//------------------------------------------------------
// USAGE INSTRUCTIONS FOR BUILDERS:
//------------------------------------------------------
// 1. Copy and paste this script into the door prim and
// change the settings (see further down).
// 2. The door prim must be linked to at least one other
// prim (could be linked to the house for example).
// 3. The door prim MUST NOT be the root prim.
// 4. Use Edit Linked Parts to move, rotate and size the
// door prim for the closed state.
// 5. When ready, stand close to the door and say
// '/door closed' (this records the closed door
// position, rotation and size to the object's
// name and description).
// 6. Use the Edit Linked parts to move, rotate and size
// the door prim for the opened state.
// 7. When ready, stand close to the door and say
// '/door opened' (this records the opened door
// position, rotation and size).
// 8. Once recorded it will not accept these commands
// again. If you do need to redo the settings then
// delete the Description of the door prim
// (these are where the position information is
// stored), and then follow the steps above again.

//------------------------------------------------------
// Change these settings to suit your needs.
//------------------------------------------------------
// To mute any/all of the sounds set the sound string(s)
// to "" (empty string).
// To get the UUID of a sound, right click on the sound
// in your inventory and choose "Copy Asset UUID", then
// paste the UUID in here.

string doorOpenSound = "cb340647-9680-dd5e-49c0-86edfa01b3ac";
string doorCloseSound = "e7ff1054-003d-d134-66be-207573f2b535";
string confirmedSound = "69743cb2-e509-ed4d-4e52-e697dc13d7ac";
string accessDeniedSound = "58da0f9f-42e5-8a8f-ee51-4fac6c247c98";
string doorBellSound = "ee871042-e272-d8ec-3d40-0b0cb3371346"; // Setting to empty stops door announcements too.
float autoCloseTime = 120.0; // 0 seconds to disable auto close.
integer allowGroupToo = TRUE; // Set to FALSE to disallow same group access to door.
list allowedAgentUUIDs = ["8efecbac-35de-4f40-89c1-2c772b83cafa"]; // Comma-separated, quoted list of avatar UUIDs who are allowed access to this door.
integer listenChannel = 0;

string doorSetID = "door1"; // Door groupID, unique in linked set
integer SoundEnable = 1; // Sound enable, set to 1 for only 1 prim in the door group

//------------------------------------------------------
// Leave the rest of the settings alone, these are
// handled by the script itself.
//------------------------------------------------------
integer isLocked = FALSE; // Only when the door is locked do the permissions apply.
integer isOpen = TRUE;
vector openPos = ZERO_VECTOR;
rotation openRot = ZERO_ROTATION;
vector closedPos = ZERO_VECTOR;
rotation closedRot = ZERO_ROTATION;
key openerKey = NULL_KEY;
key closerKey = NULL_KEY;
integer isSetup = FALSE;
integer listenHandle = 0;
string avatarName = "";

// code string used for the parameter encoding/decoding
string code68 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@$#&!?";

mySayName(integer channel, string objectName, string message)
{
string name = llGetObjectName();
llSetObjectName(objectName);
llSay(0, "/me " + message);
llSetObjectName(name);
}

mySay(integer channel, string message)
{
string name = llGetObjectName();
llSetObjectName("Door";);
llSay(0, message);
llSetObjectName(name);
}

myOwnerSay(string message)
{
string name = llGetObjectName();
llSetObjectName("Door";);
llOwnerSay(message);
llSetObjectName(name);
}

mySoundConfirmed()
{
if (confirmedSound != "" && SoundEnable == 1)
{
llTriggerSound(confirmedSound, 1.0);
}
}

mySoundAccessDenied()
{
if (accessDeniedSound != "" && SoundEnable == 1)
{
llTriggerSound(accessDeniedSound, 1.0);
}
}

myGetDoorParams()
{
isSetup = FALSE;
if (llSubStringIndex(llGetObjectDesc(), "door:";) == 0)
{
string s = llGetObjectDesc();
integer k = 5;

openPos.x = decode_float( llGetSubString(s,k,k+4) ); k += 5;
openPos.y = decode_float( llGetSubString(s,k,k+4) ); k += 5;
openPos.z = decode_float( llGetSubString(s,k,k+4) ); k += 5;

openRot.x = decode_float( llGetSubString(s,k,k+4) ); k += 5;
openRot.y = decode_float( llGetSubString(s,k,k+4) ); k += 5;
openRot.z = decode_float( llGetSubString(s,k,k+4) ); k += 5;
openRot.s = decode_float( llGetSubString(s,k,k+4) ); k += 5;

closedPos.x = decode_float( llGetSubString(s,k,k+4) ); k += 5;
closedPos.y = decode_float( llGetSubString(s,k,k+4) ); k += 5;
closedPos.z = decode_float( llGetSubString(s,k,k+4) ); k += 5;

closedRot.x = decode_float( llGetSubString(s,k,k+4) ); k += 5;
closedRot.y = decode_float( llGetSubString(s,k,k+4) ); k += 5;
closedRot.z = decode_float( llGetSubString(s,k,k+4) ); k += 5;
closedRot.s = decode_float( llGetSubString(s,k,k+4) ); k += 5;

isSetup = TRUE;
}
else
{
myOwnerSay("The door prim's description is empty of has invalid syntax. Delete the door prim's description and setup the door prim again.";);
}

}

mySetDoorParams(vector openPos, rotation openRot, vector closedPos, rotation closedRot)
{
string s = "door:";

s += encode_float(openPos.x);
s += encode_float(openPos.y);
s += encode_float(openPos.z);

s += encode_float(openRot.x);
s += encode_float(openRot.y);
s += encode_float(openRot.z);
s += encode_float(openRot.s);

s += encode_float(closedPos.x);
s += encode_float(closedPos.y);
s += encode_float(closedPos.z);

s += encode_float(closedRot.x);
s += encode_float(closedRot.y);
s += encode_float(closedRot.z);
s += encode_float(closedRot.s);

llSetObjectDesc(s);

isSetup = TRUE;
mySay(0,"Parameters are stored";);
}

integer myPermissionCheck(key id)
{
integer hasPermission = FALSE;
if (isLocked == FALSE)
{
hasPermission = TRUE;
}
else if (llGetOwnerKey(id) == llGetOwner())
{
hasPermission = TRUE;
}
else if (allowGroupToo == TRUE && llSameGroup(id))
{
hasPermission = TRUE;
}
else if (llListFindList(allowedAgentUUIDs, [(string)id]) != -1)
{
hasPermission = TRUE;
}
return hasPermission;
}

myOpenDoor()
{
isOpen = FALSE;
myToggleDoor();
}

myCloseDoor()
{
isOpen = TRUE;
myToggleDoor();
}

myToggleDoor()
{
if (isSetup == FALSE)
{
myOwnerSay("The door prim has not been configured yet. Please read the usage instructions in the door script.";);
}
else if (llGetLinkNumber() == 0 || llGetLinkNumber() == 1)
{
myOwnerSay("The door prim must be linked to at least one other prim and the door prim must not be the root prim";);
}
else
{
isOpen = !isOpen;
if (isOpen)
{
if (doorBellSound != "" && SoundEnable == 1)
{
llTriggerSound(doorBellSound, 1.0);
if (avatarName != "";)
{
mySayName(0, avatarName, "is at the door.";);
avatarName = "";
}
}
if (doorOpenSound != "" && SoundEnable == 1)
{
llTriggerSound(doorOpenSound, 1.0);
}
llSetPrimitiveParams([ PRIM_POSITION, openPos, PRIM_ROTATION, ZERO_ROTATION * openRot / llGetRootRotation() ]);
}
else
{
if (doorCloseSound != "" && SoundEnable == 1)
{
llTriggerSound(doorCloseSound, 1.0);
}
llSetPrimitiveParams([ PRIM_POSITION, closedPos, PRIM_ROTATION, ZERO_ROTATION * closedRot / llGetRootRotation() ]);
}

llSetTimerEvent(0.0);
if (isOpen == TRUE && autoCloseTime != 0.0)
{
llSetTimerEvent(autoCloseTime);
}
}
}

//==========================================================================
// encode a float with 7 digits precision into a 5-character string
// minimum=1e-31, maximum=1e+31
// example: 1.234567 --> "hAM70"
//==========================================================================

string encode_float(float value)
{
integer neg = 0;
integer exp = 0;
integer k = 0;
integer i;
integer n;
string s;

// get sign, make value positive
if( value < 0 )
{
neg = 1;
value = -value;
}

// scale value to 7 digits before decimal dot
if( value > 0 )
{
if( value > 1e31 ) value = 1e31;
if( value < 1e-31) value = 1e-31;
while( value >= 10000000 )
{
exp += 1;
value = value / 10;
}
while( value < 1000000 )
{
exp -= 1;
value = value * 10;
}
}

// round to integer, discard decimals
k = (integer)(value+0.5);

// encode exponent and sign into integer (should fit into 32 bit)
k = k*64 + (exp+38);
k = k*2 + neg;

// encode integer into string
s = "";
for( i=0; i<5; i++ )
{
n = k % 68;
k = k / 68;
s = llGetSubString(code68,n,n) + s;
}

return s;
}

//==========================================================================
// decode a 5-character string into a float with 7 digits precision
// example: "hAM70" --> 1.234567
//==========================================================================

float decode_float(string s)
{
integer k = 0;
integer i;
integer neg;
float value;
integer exp;

// decode string into integer
for( i=0; i<5; i++ )
{
k = k*68 + llSubStringIndex(code68,llGetSubString(s,i,i));
}

// extract sign and exponent
neg = k % 2;
k = k/2;

exp = k % 64 - 38;
k = k/64;

// convert into float
value = (float)k;

// scale according to exponent
while( exp > 0 )
{
value = value * 10;
exp -= 1;
}
while( exp < 0 )
{
value = value / 10;
exp += 1;
}

// insert sign
if( neg ) value = -value;

return value;
}

default
{
state_entry()
{
listenHandle = llListen(listenChannel, "", NULL_KEY, "";);
myGetDoorParams();
}

touch_start(integer total_number)
{
if (myPermissionCheck(llDetectedKey(0)) == TRUE)
{
avatarName = llDetectedName(0);
myToggleDoor();
llMessageLinked(LINK_ALL_OTHERS, 255, "cmd|door|doToggle", doorSetID);
}
else
{
mySoundAccessDenied();
}
}

timer()
{
myCloseDoor();
}

link_message(integer sender_num, integer num, string str, key id)
{
if (id == doorSetID)
{
if (str == "cmd|door|doToggle";)
{
myToggleDoor();
}
}
}

listen(integer channel, string name, key id, string message)
{
// Performance note: it's quicker to compare the strings than to compare
// permissions each time anyone says anything on this channel.
if (message == "open";)
{
if (myPermissionCheck(id) == TRUE)
{
// Only open the door if the person is quite close to this door.
openerKey = id;
closerKey = NULL_KEY;
avatarName = name;
llSensor(name, id, AGENT, 5.0, TWO_PI);
}
else
{
mySoundAccessDenied();
}
}
else if (message == "close";)
{
if (myPermissionCheck(id) == TRUE)
{
openerKey = NULL_KEY;
closerKey = id;
avatarName = name;
// Only close the door if the person is quite close to this door.
llSensor(name, id, AGENT, 5.0, TWO_PI);
}
else
{
mySoundAccessDenied();
}
}
else if (message == "lock";)
{
if (myPermissionCheck(id) == TRUE)
{
isLocked = TRUE;
mySoundConfirmed();
}
else
{
mySoundAccessDenied();
}
}
else if (message == "unlock";)
{
if (myPermissionCheck(id) == TRUE)
{
isLocked = FALSE;
mySoundConfirmed();
}
else
{
mySoundAccessDenied();
}
}
else if (message == "/door opened" && llSubStringIndex(llGetObjectDesc(), "door:";) == -1)
{
if (llGetOwnerKey(id) == llGetOwner())
{
mySoundConfirmed();
openPos = llGetLocalPos();
openRot = llGetLocalRot();
isOpen = TRUE;
if (! (closedPos == ZERO_VECTOR && closedRot == ZERO_ROTATION))
{
mySetDoorParams(openPos, openRot, closedPos, closedRot );
}
}
else
{
mySoundAccessDenied();
}
}
else if (message == "/door closed" && llSubStringIndex(llGetObjectDesc(), "door:";) == -1)
{
if (llGetOwnerKey(id) == llGetOwner())
{
mySoundConfirmed();
closedPos = llGetLocalPos();
closedRot = llGetLocalRot();
isOpen = FALSE;
if (! (openPos == ZERO_VECTOR && openRot == ZERO_ROTATION ))
{
mySetDoorParams(openPos, openRot, closedPos, closedRot);
}
}
else
{
mySoundAccessDenied();
}
}
}

sensor(integer num_detected)
{
if (openerKey != NULL_KEY)
{
integer i;
for (i = 0; i < num_detected; i++)
{
if (llDetectedKey(i) == openerKey && myPermissionCheck(llDetectedKey(i)) == TRUE)
{
myOpenDoor();
}
}
openerKey = NULL_KEY;
}
else
{
integer i;
for (i = 0; i < num_detected; i++)
{
if (llDetectedKey(i) == closerKey && myPermissionCheck(llDetectedKey(i)) == TRUE)
{
myCloseDoor();
}
}
closerKey = NULL_KEY;
}
}

//------------------------------------------------------
// Uncomment the following code if you particularly want
// collisions to affect the door state.
//------------------------------------------------------

// collision_start(integer num_detected)
// {
// integer i;
// for (i = 0; i < num_detected; i++)
// {
// if (myPermissionCheck(llDetectedKey(i)) == TRUE)
// {
// avatarName = llDetectedName(i);
// myOpenDoor();
// }
// else if (llDetectedType(i) & AGENT)
// {
// mySoundAccessDenied();
// }
// }
// }

} // End of default state and end of script.
StarSong Bright
SL Addict
Join date: 24 Jan 2007
Posts: 191
Channel Zero?!?!??!?
06-29-2008 05:24
Hi all,

I am VERY concerned that this door listens on channel zero, i thought that was a big no no! But i am unable to get it on another channel (11 for example). The door simply does not respond, is there an error somewhere? I have tried changing bothlistenChannel and/or listenHandle and nothing works.. Help please!
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
06-30-2008 04:57
hmmm

try looking for and changing (notice I'm saying try, not that I've tried) these two params near top of script:

integer listenChannel = 0;
integer listenHandle = 0;

to another number.


From: StarSong Bright
Hi all,

I am VERY concerned that this door listens on channel zero, i thought that was a big no no! But i am unable to get it on another channel (11 for example). The door simply does not respond, is there an error somewhere? I have tried changing bothlistenChannel and/or listenHandle and nothing works.. Help please!
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
06-30-2008 04:59
Problem is that renters generally can't edit notecards in your objects, unless you jump through all the hoops required to allow other people to edit scripts / notecards in your objects.

From: chr0nic MacKay
i would love to see access notecard added to this script is one of the best door scripts out jsut a shame it doesnt have that or if your useing it fro renters they could do somthing like/ add to add the person name to the door and not haev to edit the script all the time

thx for reading this
rico
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
06-30-2008 05:21
Many people use this script for drawers in furniture, boxes, etc... where no listen at all for access control is required. For my use as such, I developed a minor variation of the script that has this at the top:

string ListenStatus = "On"; //set to "On" for setup; "Off" when done to reduce lag

I don't want to post it, though, as there are already so many variations of this script appearing I don't want to add to any confusion. If I were going to redo it for door use with access control, though, I'd do access control setup through a touch menu, rather than a non-stop open listen.

From: StarSong Bright
Hi all,

I am VERY concerned that this door listens on channel zero, i thought that was a big no no! But i am unable to get it on another channel (11 for example). The door simply does not respond, is there an error somewhere? I have tried changing bothlistenChannel and/or listenHandle and nothing works.. Help please!
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
Turokhan Legion
Vortech Enterprises CEO
Join date: 22 Jul 2007
Posts: 32
07-07-2008 13:59
luvly script, i am pulling my brains out however in using a resetscript in there. I need it to reset on rez for a project im working on and it defaults back to scratch each time...i dont get it...
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
07-07-2008 14:11
From: Turokhan Legion
luvly script, i am pulling my brains out however in using a resetscript in there. I need it to reset on rez for a project im working on and it defaults back to scratch each time...i dont get it...


Hmmm. Do you mean that it does reset, but that the problem is, when it does, it loses the door parameters you had set? If so, that means it ain't storing the params properly in the desc line of the prim?
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
followmeimthe Piedpiper
Registered User
Join date: 5 Nov 2006
Posts: 4
getting it to listen?
08-05-2008 09:49
Hi, I've used this great script on normal doors with no probs. However now I want to get a train to activate a semaphore signal, with the signal-timeless script listening on a channel other than 0. The train gives out the signal perfectly but the script refuses to respond. Does it only work with avatars?? What do I need to do? Help please.
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
08-05-2008 10:19
From: followmeimthe Piedpiper
Hi, I've used this great script on normal doors with no probs. However now I want to get a train to activate a semaphore signal, with the signal-timeless script listening on a channel other than 0. The train gives out the signal perfectly but the script refuses to respond. Does it only work with avatars?? What do I need to do? Help please.


Hard to know without seeing what you've done. You say the train gives out the signal perfectly. Did you change the timeless script to listen on the same channel as that perfect signal?
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
Kittie Munro
Registered User
Join date: 28 May 2007
Posts: 29
09-20-2008 23:18
Is there a much simpler version of the multi-prim version of this script out there somewhere? sounds and keys and locks and things are all just a bit more than I really need.

Chaz? Could you perhaps post the version that doesn't use the listen channel? I'd be very grateful!

:)

Thanks
Kittie
Chaz Longstaff
Registered User
Join date: 11 Oct 2006
Posts: 685
09-20-2008 23:44
I will pass it to you in-world, as it is not the "official" version and I don't want to confuse things.
_____________________
Thread attempting to compile a list of which animations are freebies, and which are not:

http://forums.secondlife.com/showthread.php?t=265609
Miles Beck
MilesBeck.com
Join date: 20 Mar 2007
Posts: 537
09-21-2008 09:00
From: Chaz Longstaff
I will pass it to you in-world, as it is not the "official" version and I don't want to confuse things.
Chaz, would you mind passing a copy to me, too? I tried to remove listens from the original script, but I have very limited experience doing things like that, so I'm not certain whether I was successful. I could learn a lot by seeing what you've done. Thanks!
_____________________
BECK'S GREETING CARDS, INVITATIONS & GIFTS

- Inworld: http://slurl.com/secondlife/FairChang%20Balboa/23/72/25/
- Xstreet: http://bit.ly/nH1n9
xanadu Kuhn
Registered User
Join date: 5 Mar 2007
Posts: 3
01-06-2009 07:00
I don't know if I'm an idiot or what but i do exactly as the directions say.
And nothing happens "/door closed" and "/door open" do nothing all i get is "Door: The Door prim has not been configured yet. Please read the usage instructions in the Door script."
i use the script as it is currently posted in the library.
Dekka Raymaker
thinking very hard
Join date: 4 Feb 2007
Posts: 3,898
01-06-2009 07:25
From: xanadu Kuhn
I don't know if I'm an idiot or what but i do exactly as the directions say.
And nothing happens "/door closed" and "/door open" do nothing all i get is "Door: The Door prim has not been configured yet. Please read the usage instructions in the Door script."
i use the script as it is currently posted in the library.

on a really bad SL day I can have problems like that, the only solution I can offer, which works for me is to remove the existing description line if there is one and reset the script, then restart with the commands. also I assume you have the door linked before attempting to set it up.
xanadu Kuhn
Registered User
Join date: 5 Mar 2007
Posts: 3
01-06-2009 07:34
yes the door is linked and there is nothing in the description to delete

and i did what you said here is the step ye step of what im doing
1 made door prims 2 prims total 1 is the door the other is the rot prim
2 inserted the script to the door prim
3 used edit linked parts to move door prim and used /door closed and door open
4 touched the door and got Door: The Door prim has not been configured yet. Please read the usage instructions in the Door script.

there is nothing else i made or did so if im missing something please tell me
Dekka Raymaker
thinking very hard
Join date: 4 Feb 2007
Posts: 3,898
01-06-2009 08:01
From: xanadu Kuhn
yes the door is linked and there is nothing in the description to delete

and i did what you said here is the step ye step of what im doing
1 made door prims 2 prims total 1 is the door the other is the rot prim
2 inserted the script to the door prim
3 used edit linked parts to move door prim and used /door closed and door open
4 touched the door and got Door: The Door prim has not been configured yet. Please read the usage instructions in the Door script.

there is nothing else i made or did so if im missing something please tell me

Yes there is something missing, after typing the commands /door closed and /door open the door should respond with a message, something like position set, which you hear. But it really maybe a bad day for using this script, see this post recently posted:

/327/25/301050/1.html

Their solution was to use 'shout', maybe that will work for you?
DancesWithRobots Soyer
Registered User
Join date: 7 Apr 2006
Posts: 701
01-06-2009 08:21
From: xanadu Kuhn
yes the door is linked and there is nothing in the description to delete

and i did what you said here is the step ye step of what im doing
1 made door prims 2 prims total 1 is the door the other is the rot prim
2 inserted the script to the door prim
3 used edit linked parts to move door prim and used /door closed and door open
4 touched the door and got Door: The Door prim has not been configured yet. Please read the usage instructions in the Door script.

there is nothing else i made or did so if im missing something please tell me


Did you say "door open" or "door opened"?

Step by step instructions:

Link two or more prims--you need at least a root and a door. As far as the TD script is concerned, they're the only important ones. The door prim should be in its closed position.

Insert script into the door prim, which should NOT be the root. (The original TD door script is broken. There are plenty of variations that still work in this forum tho.)

Say "/door closed". Without the quotes. The slash is necessary. You should here the door say "confirmed" this is AUDIBLE.

Set the door in it's opened position. (With a the TD door script, this could mean many different things)

say "/door opened". Again you should get the audible "confirmed."

Click the door to test.

Make any sound or other configuration changes.

If it's not working, type "object" in the name field, delete everything in the description field. (I type "empty, since deleting never seems to work.) Recompile and try again.

In cases of high lag, you might be waiting a few minutes (yes minutes) for the confirmation. Sometimes it might not come at all. If you change the door position after configuring it, it will go right back to where the script tells it to go. If you change the root by accident or design, all bets are off.

Yesterday I had an issue where I had to SHOUT at a door I was standing next to before it would work. Still haven't figured that one out.
_____________________
"Two lives I have.
One life I live. One life I dream.
In dreams I remember the better in me."
1 2 3 4