JezuzLizard 9665312608 checked 3 zm_highrise scripts
Checked mp zm_highrise.gsc, mp zm_highrise_ffotd.gsc, and _zm_weap_slipgun.gsc.
2020-07-25 04:49:56 -07:00

190 lines
5.8 KiB
Plaintext

//checked includes match cerberus output
#include maps/mp/zombies/_zm_weapons;
#include maps/mp/zombies/_zm_zonemgr;
#include maps/mp/zombies/_zm_utility;
#include common_scripts/utility;
#include maps/mp/_utility;
main_start() //checked matches cerberus output
{
level thread spawned_collision_ffotd();
level thread eject_player_trigger_init();
level thread change_bad_spawner();
}
main_end() //checked matches cerberus output
{
level thread eject_player_trigger();
}
spawned_collision_ffotd() //checked changed to match cerberus output
{
precachemodel( "collision_wall_32x32x10_standard" );
flag_wait( "start_zombie_round_logic" );
if ( !is_true( level.optimise_for_splitscreen ) )
{
collision1 = spawn( "script_model", ( 2044, 499, 2893 ) );
collision1 setmodel( "collision_wall_32x32x10_standard" );
collision1.angles = vectorScale( ( 0, 1, 0 ), 330 );
collision1 ghost();
collision2 = spawn( "script_model", ( 2044, 499, 2925 ) );
collision2 setmodel( "collision_wall_32x32x10_standard" );
collision2.angles = vectorScale( ( 0, 1, 0 ), 330 );
collision2 ghost();
collision3 = spawn( "script_model", ( 1768, 1507, 3075 ) );
collision3 setmodel( "collision_wall_256x256x10_standard" );
collision3.angles = ( 0, 0, 0 );
collision3 ghost();
collision3b = spawn( "script_model", ( 1740, 1497, 3075 ) );
collision3b setmodel( "collision_wall_256x256x10_standard" );
collision3b.angles = ( 0, 0, 0 );
collision3b ghost();
collision3 = spawn( "script_model", ( 2054, 1455, 3440 ) );
collision3 setmodel( "collision_wall_128x128x10_standard" );
collision3.angles = ( 0, 0, 0 );
collision3 ghost();
collision4 = spawn( "script_model", ( 2257, 2374, 3101 ) );
collision4 setmodel( "collision_wall_256x256x10_standard" );
collision4.angles = vectorScale( ( 0, 1, 0 ), 270 );
collision4 ghost();
collision5 = spawn( "script_model", ( 3076, 1598, 2791 ) );
collision5 setmodel( "collision_wall_256x256x10_standard" );
collision5.angles = vectorScale( ( 1, 0, 0 ), 347.6 );
collision5 ghost();
collision6b = spawn( "script_model", ( 3693, 1840, 1897 ) );
collision6b setmodel( "collision_wall_256x256x10_standard" );
collision6b.angles = ( 0, 270, 12 );
collision6b ghost();
collision6c = spawn( "script_model", ( 3666, 1840, 2023 ) );
collision6c setmodel( "collision_wall_256x256x10_standard" );
collision6c.angles = ( 0, 270, 12 );
collision6c ghost();
collision7 = spawn( "script_model", ( 2157, 839, 3129 ) );
collision7 setmodel( "collision_wall_128x128x10_standard" );
collision7.angles = ( 0, 9.79996, -90 );
collision7 ghost();
collision7 = spawn( "script_model", ( 3594, 1708, 2247 ) );
collision7 setmodel( "collision_wall_128x128x10_standard" );
collision7.angles = ( 0, 270, 12 );
collision7 ghost();
}
}
eject_player_trigger_init() //checked matches cerberus output
{
trig1 = spawn( "trigger_box", ( 3172, 1679, 1296.09 ), 0, 64, 10, 64 );
trig1.angles = ( 0, 0, 0 );
trig1.targetname = "eject_player_pos";
trig1.point = spawn( "script_origin", ( 3266, 1703.5, 1325 ) );
trig2 = spawn( "trigger_box", ( 3225.5, 1153, 1346.48 ), 0, 64, 10, 64 );
trig2.angles = ( 0, 0, 0 );
trig2.targetname = "eject_player_pos";
trig2.point = spawn( "script_origin", ( 3074, 1137.5, 1282.26 ) );
trig3 = spawn( "trigger_radius", ( 3583, 1964, 2751.95 ), 0, 30, 64 );
trig3.angles = ( 0, 0, 0 );
trig3.targetname = "eject_player_pos";
trig3.point = spawn( "script_origin", ( 3590.2, 2068, 2720.34 ) );
}
eject_player_trigger() //checked matches cerberus output
{
trigs = getentarray( "eject_player_pos", "targetname" );
array_thread( trigs, ::player_eject_watcher );
}
player_eject_watcher() //checked matches cerberus output
{
time = 0;
while ( 1 )
{
self waittill( "trigger", who );
if ( is_player_valid( who ) )
{
while ( who istouching( self ) )
{
time++;
if ( time >= 6 )
{
if ( isDefined( self.point ) )
{
if ( !positionwouldtelefrag( self.point.origin ) )
{
who setorigin( self.point.origin );
who playlocalsound( level.zmb_laugh_alias );
who playrumbleonentity( "damage_light" );
earthquake( 0.5, 0.5, who.origin, 100 );
who thread ejected_overrun( self );
}
}
}
wait 1;
}
time = 0;
}
wait 0.1;
}
}
ejected_overrun( trig ) //checked changed to match cerberus output
{
if ( !isDefined( trig.ejected ) )
{
trig.ejected = 1;
}
else
{
trig.ejected++;
if ( trig.ejected >= 3 )
{
primaries = self getweaponslistprimaries();
foreach ( weapon in primaries )
{
self takeweapon( weapon );
}
lethal = self get_player_lethal_grenade();
if ( isDefined( lethal ) && lethal != "" )
{
self takeweapon( lethal );
maps/mp/zombies/_zm_weapons::unacquire_weapon_toggle( lethal );
}
tactical = self get_player_tactical_grenade();
if ( isDefined( tactical ) && tactical != "" )
{
self takeweapon( tactical );
maps/mp/zombies/_zm_weapons::unacquire_weapon_toggle( tactical );
}
mine = self get_player_placeable_mine();
if ( isDefined( mine ) )
{
self takeweapon( mine );
maps/mp/zombies/_zm_weapons::unacquire_weapon_toggle( mine );
}
melee_weapon = self get_player_melee_weapon();
if ( isDefined( melee_weapon ) )
{
self takeweapon( melee_weapon );
maps/mp/zombies/_zm_weapons::unacquire_weapon_toggle( melee_weapon );
}
self giveweapon( "knife_zm" );
self.current_melee_weapon = "knife_zm";
self give_start_weapon( 1 );
self.currentweapon = "m1911_zm";
}
}
}
change_bad_spawner() //checked changed to match cerberus output
{
flag_wait( "always_on" );
spawner_array = getstructarray( "zone_blue_level4a_spawners", "targetname" );
foreach ( struct in spawner_array )
{
if ( isDefined( struct.origin ) && struct.origin == ( 2154, 748.5, 1312 ) )
{
struct.script_noteworthy = "riser_location";
return;
}
}
}