soviet_standoff.gsc
Code: Select all
main()
{
level._effect["fire"] = loadfx ("fx/fire/tinybon.efx");
maps\mp\_fx::loopfx("fire", (-24, 8, 32), 0.4);
ambientPlay("ambient_mp_depot");
maps\mp\_load::main();
maps\mp\soviet_sound::main();
maps\mp\stuka::main();
maps\mp\soviet_elevator::main();
maps\mp\trapdoor::main();
maps\mp\sovietsecretdoor::main();
game["allies"] = "russian";
game["axis"] = "german";
game["russian_soldiertype"] = "conscript";
game["russian_soldiervariation"] = "normal";
game["german_soldiertype"] = "wehrmacht";
game["german_soldiervariation"] = "normal";
game["attackers"] = "allies";
game["defenders"] = "axis";
}
soviet_elevator.gsc
Code: Select all
main() {
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
}
elevator_start() {
elevator = getentarray ("elevatorswitch2","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 2;
height = 192;
wait (1);
if (level.elevatorDown) { // moves to top
elevatormodel playsound ("elevator1"); // sound definition for soundaliases.csv
wait (1); // wait a second to hear the motor start and then start the movement of the lift - feels more realistic
elevatormodel moveZ (-250,4,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
wait (5);
elevatormodel playsound ("elevator1"); // sound definition for soundaliases.csv
wait (1); // wait a second to hear the motor start and then start the movement of the lift - feels more realistic
elevatormodel moveZ (250,4,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
soviet_sound.gsc
Code: Select all
main()
{
thread message1();
}
message1()
{
messagetrig = getent ("fireburn","targetname");
while(1)
{
messagetrig waittill ("trigger",user);
user playSound("fireburn");
wait 3;
}
}
sovietsecretdoor.gsc
Code: Select all
main()
{
iprintln("Main started");
thread sovietsecretdoor();
iprintln("Secret Door Thread Run");
}
sovietsecretdoor()
{
iprintln("Secret Door Thread Started");
platform = getent ("sovietsecretdoor","targetname");
trigger = getent ("sovietsecretdoor_trigger","targetname");
while(1)
{
iprintln("While loop running");
trigger waittill ("trigger");
iprintln("Triggered");
wait(1);
platform moveZ (50,1,0.1,0.1);
iprintln("First Move");
wait(3);
platform moveZ (-50,1,0.1,0.1);
iprintln("Second Move");
platform waittill ("movedone");
iprintln("Loop Complete");
}
}
stuka.gsc
Code: Select all
main()
{
level thread planes();
}
planes()
{
level.PlaneSpeed = 3.5;
stuka1 = getent ("stuka1","targetname");
stuka2 = getent ("stuka2","targetname");
stuka3 = getent ("stuka3","targetname");
temp = getent (stuka1.target,"targetname");
stuka1.dest = temp.origin;
stuka1.start = stuka1.origin;
stuka1 hide();
temp = getent (stuka2.target,"targetname");
stuka2.dest = temp.origin;
stuka2.start = stuka2.origin;
stuka2 hide();
temp = getent (stuka3.target,"targetname");
stuka3.dest = temp.origin;
stuka3.start = stuka3.origin;
stuka3 hide();
wait 2;
while (1)
{
stuka1 thread plane_flyby("stuka_flyby");
wait .15;
stuka2 thread plane_flyby("stuka_flyby");
wait .15;
stuka3 thread plane_flyby("stuka_flyby");
wait 60;
}
}
plane_flyby(sound)
{
// If you specified a sound to play then play it
if (isdefined (sound))
self playsound (sound);
wait 15;
self show();
self moveto(self.dest, level.PlaneSpeed, 0.1, 0.1);
wait level.PlaneSpeed;
self hide();
self.origin = self.start;
}
trapdoor.gsc
Code: Select all
main()
{
trapdoor();
}
trapdoor()
{
door = getent ("trapdoor","targetname"); //the door it self with the origin
door_trigger = getent ("trapdoor_trigger","targetname"); // a trigger use to activte the door
while(1)
{
door_trigger waittill ("trigger");
door rotateto ((0,0,90),1);
wait 6;
door rotateto ((0,0,0),1);
}
}
and yes, a hand comes up when i look at the trigger ingame and i also tried adding to main .gsc, didn't work