Call of Duty 4: Elevator Brushes: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Shortened the code) |
||
Line 25: | Line 25: | ||
main() | main() | ||
{ | { | ||
level.elevatorUp = 1; | |||
level.elevatorMoving = false; | |||
thread elevator_start(); | |||
} | } | ||
elevator_start() | elevator_start() | ||
{ | { | ||
elevator = getentarray ("switch","targetname"); | |||
if ( isdefined(elevator) ) | |||
for (i = 0; i < elevator.size; i++) | |||
elevator[i] thread elevator_think(); | |||
} | } | ||
elevator_think() | elevator_think() | ||
{ | { | ||
for(;;) | |||
{ | |||
self waittill ("trigger"); | |||
if (!level.elevatorMoving) | |||
thread elevator_move(); | |||
} | |||
} | } | ||
elevator_move() | elevator_move() | ||
{ | { | ||
elevatormodel = getent ("elevator", "targetname"); | |||
level.elevatorMoving = true; | |||
speed = 10; | |||
height = 581; | |||
elevatormodel playsound ("elevator"); | |||
elevatormodel movez (height - level.elevatorUp * 2 * height, speed); // When elevator is up, it will go down. | |||
elevatormodel waittill ("movedone"); | |||
level.elevatorUp ^= 1; // A smart trick, turns 1 to 0 and vice-versa. | |||
level.elevatorMoving = false; | |||
}</pre> | }</pre> | ||
Latest revision as of 23:16, 22 February 2012
This tutorial assumes that you already know how to create, compile & create GSCs,CSVs & FastFiles for your maps
Simple Elevator
by nuthowz
key = targetname value = elevator
Then create the triggers go to triggers use_touch create 2 of these 1 for the beginning and 1 for the end
assign key/values
key = targetname value = switch
Then connect them by selecting your brushmodel then trigger then hit the [W] key to weld them. That's it for the map side
Now create your script for the elevator to move.
main() { level.elevatorUp = 1; level.elevatorMoving = false; thread elevator_start(); } elevator_start() { elevator = getentarray ("switch","targetname"); if ( isdefined(elevator) ) for (i = 0; i < elevator.size; i++) elevator[i] thread elevator_think(); } elevator_think() { for(;;) { self waittill ("trigger"); if (!level.elevatorMoving) thread elevator_move(); } } elevator_move() { elevatormodel = getent ("elevator", "targetname"); level.elevatorMoving = true; speed = 10; height = 581; elevatormodel playsound ("elevator"); elevatormodel movez (height - level.elevatorUp * 2 * height, speed); // When elevator is up, it will go down. elevatormodel waittill ("movedone"); level.elevatorUp ^= 1; // A smart trick, turns 1 to 0 and vice-versa. level.elevatorMoving = false; }
Complex Elevator
Invalid Article.