So I was given this wonderful foor script that has provided me with perfect assistance: // ********** 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) == "") {
llSetPos(llGetPos() + <0, 0, 3.325 / 2 - 0.25>);
}
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);
}
} But there is a section of the code that I believe is useless, please someone correct me if I'm wrong, but I don't see the purpose of the llGetTexture: default { // first time startup
state_entry() {
if (llGetTexture(0) == "") {
llSetPos(llGetPos() + <0, 0, 3.325 / 2 - 0.25>); Can anyone show me how to fix that and get rid of the llGetTexture? I've been struggling as I'm an uber newb at this. The other thing I was wondering if anyone could help me with, is if anyone could show me (using the script above) how to add a section to determine that access is group only. Since every time I try I seem to screw something up =/ Thanks in advance!