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 20: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.
