Page 1 of 3
Lockable doors
Posted: Tue Dec 28, 2004 6:20 pm
by Ke3pR
hi.. I started to script today an first i went to volume dmage .. and that worked .. and now i am busy with lockable doors but it does not work :S .. it just open.. maybe there is something wrong with my script or something ?
// Dungeon
// ARCHITECTURE: Ke3pR
// SCRIPTING: Ke3pR
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
exec global/door_locked.scr::lock
$dooropenerin nottriggerable
$dooropenerout nottriggerable
level waitTill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/Dungeon.scr
level waittill spawn
fire2 :
$fire volumedamage 90
doorlock:
$outsidelock nottriggerable
$insidelock nottriggerable
$dooropenerin triggerable
$dooropenerout triggerable
wait 10
$dooropenerin nottriggerable
$dooropenerout nottriggerable
$outsidelock triggerable
$insidelock triggerable
end
thats my script..
Posted: Tue Dec 28, 2004 6:37 pm
by Ke3pR
btw : how do you de-filter triggers ?
Posted: Tue Dec 28, 2004 8:04 pm
by Green Beret
view tab at top of radiant.
view>filters>
Posted: Tue Dec 28, 2004 9:10 pm
by Ke3pR
and what about the door ?

Posted: Tue Dec 28, 2004 10:04 pm
by Green Beret
Code: Select all
doorlock:
$outsidelock nottriggerable
$insidelock nottriggerable
$dooropenerin triggerable
$dooropenerout triggerable
wait 10
$dooropenerin nottriggerable
$dooropenerout nottriggerable
$outsidelock triggerable
$insidelock triggerable
goto doorlock//<----i added this
end
does that look right?
what are u tryin to do?
do u want it to stay locked or no?
or try this
Code: Select all
// Dungeon
// ARCHITECTURE: Ke3pR
// SCRIPTING: Ke3pR
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
level waitTill prespawn//changed this
exec global/door_locked.scr::lock
$door1 lock//added this
level.door1_locked = 1//added this
//(change $door1 to match your door targetname)
$dooropenerin nottriggerable
$dooropenerout nottriggerable
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/Dungeon.scr
level waittill spawn
end
Posted: Wed Dec 29, 2004 8:52 am
by Ke3pR
I want just that my door is closed.. and if that works i want to make a button to unlock the door;)
but the door just opens when i use this script..
Code: Select all
// Dungeon
// ARCHITECTURE: Ke3pR
// SCRIPTING: Ke3pR
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
level waitTill prespawn
exec global/door_locked.scr::lock
$door1 lock//added this
level.door1_locked = 1
$dooropenerin nottriggerable
$dooropenerout nottriggerable
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/Dungeon.scr
level waittill spawn
fire2 :
$fire volumedamage 70
end
Posted: Wed Dec 29, 2004 9:15 am
by lizardkid
the easiest, and usually best, way to lock doors is a simple one-line cmd.
lets just use $outsidelock for ease...
Code: Select all
doorLock:
$outsidelock notriggerable
$outsidelockDoor close
$outsidelockDoor waittil movedone
$outsidelockDoor lock
end
assuming the trigger with teh setthread is called outsidelock and the setthread is doorLock. it closes, locks the door and disables the trigger.
also, you need "end"s at the end of each thread,

Posted: Wed Dec 29, 2004 9:22 am
by Ke3pR

It just dont work ! maybe i should post my .map and my scr file ?!
Posted: Wed Dec 29, 2004 9:23 am
by At0miC
Try this one,
Code: Select all
// Dungeon
// ARCHITECTURE: Ke3pR
// SCRIPTING: Ke3pR
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
level waitTill prespawn
exec global/door_locked.scr::lock
$door1 lock//added this
level.door1_locked = 1
$dooropenerin nottriggerable
$dooropenerout nottriggerable
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/Dungeon.scr
level waittill spawn
fire2 :
$fire volumedamage 70
end
door:
if (level.door1_locked == 0)
{
$door1 lock
level.door1_locked = 1
//$switch playsound (you can have a sound for the lock/unlock)
$switch anim off // if you use the switch model, this is your buttom
end
}
if (level.door1_locked == 1)
{
$door1 unlock
level.door1_locked = 0
//$switch playsound (you can have a sound for the lock/unlock)
$switch anim on // if you use the switch model
end
}
end
You need to create a switch buttom with a trigger ($switch)
Posted: Wed Dec 29, 2004 4:33 pm
by Ke3pR
bah .. bah.. bah the ******** door just opens

could someone give me a example of the script and the map ? :$
Posted: Wed Dec 29, 2004 5:34 pm
by Green Beret
Here is a script from Tom Trude for locked doors with a Key to open them.
Code: Select all
// lockable_test
// ARCHITECTURE: tltrude
// SCRIPTING: tltrude
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "Lockable door"
setcvar "g_obj_alliedtext2" "test map"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" ""
local.master = spawn ScriptMaster
local.master aliascache yordorsnd sound/mechanics/Mec_ElevatorRun_01.wav soundparms 1.0 0.0 1.0 0.0 160 1600 auto loaded maps "m dm moh obj "
local.master aliascache tomdorsnd sound/mechanics/Mec_ElevatorRun_01.wav soundparms 1.5 0.0 1.0 0.0 160 1600 auto loaded maps "m dm moh obj "
// call additional stuff for playing this map round based is needed
if(level.roundbased)
thread roundbasedthread
level waittill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/lockable_test.scr
exec global/ambient.scr mohdm7
exec global/door_locked.scr::lock
$door1 lock
level.door1_locked = 1
$door2 lock
level.door2_locked = 1
level waittill spawn
end
door1_key:
if (level.door1_locked == 0)
{
$door1 lock
level.door1_locked = 1
$switch1 playsound alarm_switch
$switch1 anim off
iprintln "Door1 locked!"
end
}
if (level.door1_locked == 1)
{
$door1 unlock
level.door1_locked = 0
$switch1 playsound alarm_switch
$switch1 anim on
iprintln "Door1 unlocked!"
end
}
end
door2_key:
if (level.door2_locked == 0)
{
$door2 lock
level.door2_locked = 1
$switch2 playsound alarm_switch
$switch2 anim off
iprintln "Door2 locked!"
end
}
if (level.door2_locked == 1)
{
$door2 unlock
level.door2_locked = 0
$switch2 playsound alarm_switch
$switch2 anim on
iprintln "Door2 unlocked!"
end
}
end
does this sound right?
Posted: Wed Dec 29, 2004 6:48 pm
by Ke3pR
is this with 2 doors :s ? .. i
Posted: Wed Dec 29, 2004 7:16 pm
by Green Beret
yes,u can comensate for one,just take out the other code.
Posted: Wed Dec 29, 2004 10:09 pm
by lizardkid
AAAAAH! even i'm getting confused with all these scripts flying around.
to make the door LOCKED jsut use this!
it'll set it as locked. no need to go giving keys and all that shiz yet... let the poor man breathe!

Posted: Wed Dec 29, 2004 10:51 pm
by Green Beret
yea,thats what i put in the first code i posted.but he wants to unlock it too.