Revision 429 | Revision 431 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
//-----------------------------------------------------------------// EF2 Level Script File//// Level: map4// Script By: Nemo22// Geometry By: Argyle// Created on: 01/04/2004//// Last Edited By: Nemo22//-----------------------------------------------------------------void main();void init();void trigger_shower_door();void wall_exp();void redalert();void kraftfeld();void poison_gas();void before_lab();void inside_lab();void koi_swim();#include "maps/global_scripts/global_common.scr"#include "maps/global_scripts/global_math.scr"void main(){$player.give( "models/weapons/worldmodel-tricorder-STX.tik" );thread init();thread redalert();koi_swim();}void before_lab(){$kraftfeld2.show();$kraftfeld_solid2.solid();triggerentity( $kraftfeld_sound2 );}void inside_lab(){$kraftfeld3.show();$kraftfeld_solid3.solid();triggerentity( $kraftfeld_sound3 );$lab_exit2.time( .1 );wait( .1 );$lab_exit2.moveUp( 120 );}void koi_swim(){$koi1.bind ( $koi1_origin );$koi1.anim( "idle" );//$koi1_origin.followpath( $koi1_path , "loop" , "normalangles" );//$koi1.followpath( $koi1_path , "loop" , "normalangles" );$koi1.followpath( $koi1_path );}void init(){//--Kraftfelder hiden$kraftfeld.hide();$kraftfeld2.hide();$kraftfeld3.hide();$kraftfeld_solid.notsolid();$kraftfeld_solid2.notsolid();$kraftfeld_solid3.notsolid();$kraft_feld_poison.hide();$kraft_feld_poison.notsolid();//--Showergirl SetUp$showergirl1.ai_off();$showergirl1.anim("conv-gesture1");//--Explosionstrigger$trigger1.nottriggerable();//--Tür zum Badetimmer$shower_door_left.time( .1 );$shower_door_right.time( .1 );wait( .1 );$shower_door_left.moveWest( 40 );$shower_door_right.moveEast( 40 );//--Gas im Korridor$gas.hide();}void trigger_shower_door(){$shower_door_left.time( .35 );$shower_door_right.time( .35 );wait( .1 );$shower_door_left.playsound( "sound/doors/forever_door1.wav" );$shower_door_left.moveEast( 40 );$shower_door_right.moveWest( 40 );wait( 35 );}/////////////////////////////Wand fliegt in die Luft/////////////////////////////void wall_exp(){//$wall_puzzle.nottriggerable();triggerentity( $blabla_tut );triggerentity( $blabla_tut_overload );wait( 3.8 );$trigger1.triggerable();triggerentity( $trigger );$console.playsound( "sound/impact/explosion/expl_inside4.wav" );triggerentity( $console_exp );$player.earthquake( .75, 1.4 );$wall_hide.hide();wait( .2 );$console.playsound( "sound/impact/explosion/expl_inside3.wav" );triggerentity( $console_exp1 );$console.hide();$console.notsolid();}//////////////////////////////////////////////////////////////////////////Roter Alarm///////////////////////Wenn möglich nur target_speaker in den Korridoren///////////////////////////////////////////////////////void redalert(){$world.light_fade( "redalert", .85, .4 );$player.playsound( "sound/redalert.mp3" );wait( .7 );$world.light_fade( "redalert", .2, .6 );wait( 1.8 );thread redalert();}//////////////////////////////////////////Kraffelder + Sound schalten sich ein//////////////////////////////////////////void kraftfeld(){$gas.show();$kraftfeld.show();$kraftfeld_solid.solid();triggerentity( $kraftfeld_sound );wait( 1 );$player.simpleplaydialog( "localization/sound/dialog/map04/computer/intruder.mp3", 1, 20000 ); //Lieutenant Munro, you have a visitor waiting for you in the main entrance.waitDialogLength( "localization/sound/dialog/map04/computer/intruder.mp3" );thread poison_gas();$player.simpleplaydialog( "localization/sound/dialog/map04/computer/gas.mp3", 1, 20000 ); //Lieutenant Munro, you have a visitor waiting for you in the main entrance.waitDialogLength( "localization/sound/dialog/map04/computer/gas.mp3" );}void poison_gas(){//////////////////////////////30 SEKUNDEN//////////////////////////////////////////////////////////////////bis der Spieler stirbt/////////////////////////////////////Wenn er oder sie 100 Health hat.//"lebendesspielers", mir fiel nichts besseres ein!//Note: Um den Timer zu verändern, kann man zwei Werte verändern.// Der erste Wert ist dazu da, um festzulegen, wie wiel Schaden// verursacht wird. Der zweite Wert ist dazu da, um festzulegen// wann der Spieler wieder verletzt wird.//HINWEIS: Wenn du nicht durch das Loch kommst, dann duck dich!//First Get Initial Value of Chang's lifefloat lebendesspielers;lebendesspielers = $player.gethealth();//Now, continue looping until chang is dead. If chang is saved//before he dies, then killthread MUST be called on this thread//to stop this counterwhile( lebendesspielers > 1.0 ){//Every iteration damage the player$player.hurt( 5 );lebendesspielers = $player.gethealth();//print ("end of cinematic thread life counter\n");//Check if chang is 'dead". If he is, then fail the missionif ( lebendesspielers <= 1.0 ){wait( 1 );stuffcmd ( "kill\n" );}//Wait a specified interval before damaging againwait( 1.5 );}}void stop_poison_gas(){killthread( "poison_gas" );triggerentity( $kraft_feld_poison_sound );$kraft_feld_poison.show();$kraft_feld_poison.solid();}