Lockable doors

Post your scripting questions / solutions here

Moderator: Moderators

Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Lockable doors

Post 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..
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post by Ke3pR »

btw : how do you de-filter triggers ?
Green Beret
Major General
Posts: 746
Joined: Mon Apr 19, 2004 12:21 pm
Contact:

Post by Green Beret »

view tab at top of radiant.

view>filters>
Image
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post by Ke3pR »

and what about the door ? :)
Green Beret
Major General
Posts: 746
Joined: Mon Apr 19, 2004 12:21 pm
Contact:

Post 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
Image
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post 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
lizardkid
Windows Zealot
Posts: 3672
Joined: Fri Mar 19, 2004 7:16 pm
Location: Helena MT

Post 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,

Code: Select all

fire2 : 

$fire volumedamage 90

end
:wink:
Moderator

۞
Abyssus pro sapientia
Olympus pro Ignarus
۞

AND STUFF™ © 2006
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post by Ke3pR »

:shock: It just dont work ! maybe i should post my .map and my scr file ?!
User avatar
At0miC
General
Posts: 1164
Joined: Fri Feb 27, 2004 11:29 pm
Location: The Netherlands

Post 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)
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post by Ke3pR »

bah .. bah.. bah the ******** door just opens :o could someone give me a example of the script and the map ? :$
Green Beret
Major General
Posts: 746
Joined: Mon Apr 19, 2004 12:21 pm
Contact:

Post 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?
Image
Ke3pR
Corporal
Posts: 44
Joined: Tue Dec 14, 2004 3:17 pm

Post by Ke3pR »

is this with 2 doors :s ? .. i
Green Beret
Major General
Posts: 746
Joined: Mon Apr 19, 2004 12:21 pm
Contact:

Post by Green Beret »

yes,u can comensate for one,just take out the other code.
Image
lizardkid
Windows Zealot
Posts: 3672
Joined: Fri Mar 19, 2004 7:16 pm
Location: Helena MT

Post by lizardkid »

AAAAAH! even i'm getting confused with all these scripts flying around.

to make the door LOCKED jsut use this!

Code: Select all

$nameOfDoor lock
it'll set it as locked. no need to go giving keys and all that shiz yet... let the poor man breathe! :lol:
Moderator

۞
Abyssus pro sapientia
Olympus pro Ignarus
۞

AND STUFF™ © 2006
Green Beret
Major General
Posts: 746
Joined: Mon Apr 19, 2004 12:21 pm
Contact:

Post by Green Beret »

yea,thats what i put in the first code i posted.but he wants to unlock it too.
Image
Post Reply