mirror of
https://github.com/JezuzLizard/t6-fastfile-mods.git
synced 2025-06-10 11:17:59 -05:00
Cleanup scripts.
This commit is contained in:
@ -1,19 +0,0 @@
|
||||
// T6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\zombies\_zm_utility;
|
||||
#include clientscripts\mp\_visionset_mgr;
|
||||
|
||||
precache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
clientscripts\mp\_visionset_mgr::vsmgr_register_overlay_info_style_electrified( "zm_ai_avogadro_electrified", 1, 15, 1 );
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
// T6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\zombies\_zm_utility;
|
||||
|
||||
precache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_prison" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
registerclientfield( "actor", "helmet_off", 9000, 1, "int", ::brutus_helmet_launch_cb );
|
||||
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int", ::brutus_lock_down_effects_cb );
|
||||
registerbrutusfootstepcb( "zm_alcatraz_brutus", ::brutusfootstepcbfunc );
|
||||
}
|
||||
|
||||
brutus_helmet_launch_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( is_true( self.helmet_launched ) )
|
||||
return;
|
||||
|
||||
if ( newval )
|
||||
{
|
||||
self.helmet_launched = 1;
|
||||
createdynentandlaunch( localclientnum, "c_zom_cellbreaker_helmet", self.origin + vectorscale( ( 0, 0, 1 ), 85.0 ), self.angles, self.origin + vectorscale( ( 0, 0, 1 ), 85.0 ), anglestoforward( self.angles ) );
|
||||
}
|
||||
}
|
||||
|
||||
brutus_lock_down_effects_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( bwasdemojump )
|
||||
return;
|
||||
|
||||
if ( bnewent )
|
||||
{
|
||||
/#
|
||||
println( "LDS: NewEnt!" );
|
||||
#/
|
||||
}
|
||||
|
||||
if ( binitialsnap )
|
||||
{
|
||||
/#
|
||||
println( "LDS: InitialSnap!" );
|
||||
#/
|
||||
}
|
||||
|
||||
player = getlocalplayer( localclientnum );
|
||||
player earthquake( 0.7, 1, self.origin, 1500 );
|
||||
playrumbleonposition( localclientnum, "explosion_generic", self.origin );
|
||||
}
|
||||
|
||||
brutusfootstepcbfunc( localclientnum, pos, surface, notetrack, bone )
|
||||
{
|
||||
players = getlocalplayers();
|
||||
|
||||
for ( i = 0; i < players.size; i++ )
|
||||
{
|
||||
if ( abs( self.origin[2] - players[i].origin[2] ) < 100 )
|
||||
{
|
||||
players[i] earthquake( 0.5, 0.1, self.origin, 1500 );
|
||||
playerlocalclientnum = players[i] getlocalclientnumber();
|
||||
|
||||
if ( isdefined( playerlocalclientnum ) )
|
||||
playrumbleonposition( playerlocalclientnum, "brutus_footsteps", self.origin );
|
||||
}
|
||||
}
|
||||
|
||||
footstepdoeverything();
|
||||
}
|
||||
|
||||
registerbrutusfootstepcb( aitype, func )
|
||||
{
|
||||
if ( !isdefined( level._footstepcbfuncs ) )
|
||||
level._footstepcbfuncs = [];
|
||||
|
||||
if ( isdefined( level._footstepcbfuncs[aitype] ) )
|
||||
{
|
||||
/#
|
||||
println( "Attempting to register footstep callback function for ai type " + aitype + " multiple times." );
|
||||
#/
|
||||
return;
|
||||
}
|
||||
|
||||
level._footstepcbfuncs[aitype] = func;
|
||||
}
|
@ -1,177 +0,0 @@
|
||||
// T6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\zombies\_zm_utility;
|
||||
|
||||
precache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#using_animtree("zm_buried_ghost");
|
||||
|
||||
init_animtree()
|
||||
{
|
||||
scriptmodelsuseanimtree( #animtree );
|
||||
}
|
||||
|
||||
precache_fx()
|
||||
{
|
||||
if ( !isdefined( level.ghost_effects ) )
|
||||
{
|
||||
level.ghost_effects = [];
|
||||
level.ghost_effects[1] = loadfx( "maps/zombie_buried/fx_buried_ghost_death" );
|
||||
level.ghost_effects[2] = loadfx( "maps/zombie_buried/fx_buried_ghost_drain" );
|
||||
level.ghost_effects[3] = loadfx( "maps/zombie_buried/fx_buried_ghost_spawn" );
|
||||
level.ghost_effects[4] = loadfx( "maps/zombie_buried/fx_buried_ghost_trail" );
|
||||
level.ghost_effects[5] = loadfx( "maps/zombie_buried/fx_buried_ghost_evaporation" );
|
||||
level.ghost_impact_effects[1] = loadfx( "maps/zombie_buried/fx_buried_ghost_impact" );
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
precache_fx();
|
||||
register_client_fields();
|
||||
}
|
||||
|
||||
register_client_fields()
|
||||
{
|
||||
registerclientfield( "actor", "ghost_impact_fx", 12000, 1, "int", ::play_impact_fx_clientfield_cb, 0 );
|
||||
registerclientfield( "actor", "ghost_fx", 12000, 3, "int", ::play_fx_clientfield_cb, 0 );
|
||||
registerclientfield( "actor", "sndGhostAudio", 12000, 3, "int", ::sndghostaudio, 0 );
|
||||
registerclientfield( "scriptmover", "ghost_fx", 12000, 3, "int", ::play_fx_clientfield_cb, 0 );
|
||||
registerclientfield( "scriptmover", "sndGhostAudio", 12000, 3, "int", ::sndghostaudio, 0 );
|
||||
registerclientfield( "world", "ghost_round_light_state", 12000, 1, "int", ::ghost_round_presentation_light_state_cb, 1 );
|
||||
}
|
||||
|
||||
play_impact_fx_clientfield_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( !isdefined( newval ) )
|
||||
return;
|
||||
|
||||
if ( newval > 0 )
|
||||
self thread play_impact_fx_internal( localclientnum, newval );
|
||||
}
|
||||
|
||||
play_impact_fx_internal( localclientnum, newval )
|
||||
{
|
||||
self endon( "entityshutdown" );
|
||||
self waittill_dobj( localclientnum );
|
||||
effect = level.ghost_impact_effects[newval];
|
||||
|
||||
if ( isdefined( effect ) )
|
||||
playfx( localclientnum, effect, self.origin + vectorscale( ( 0, 0, 1 ), 36.0 ) );
|
||||
}
|
||||
|
||||
play_fx_clientfield_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( !isdefined( newval ) )
|
||||
return;
|
||||
|
||||
if ( newval > 0 )
|
||||
self play_fx( localclientnum, newval );
|
||||
else if ( isdefined( self._fx_array ) && isdefined( self._fx_array[localclientnum] ) )
|
||||
deletefx( localclientnum, self._fx_array[localclientnum], 0 );
|
||||
}
|
||||
|
||||
play_fx( localclientnum, newval )
|
||||
{
|
||||
self thread play_fx_internal( localclientnum, newval );
|
||||
}
|
||||
|
||||
play_fx_internal( localclientnum, newval )
|
||||
{
|
||||
self endon( "entityshutdown" );
|
||||
self waittill_dobj( localclientnum );
|
||||
|
||||
if ( !isdefined( self._fx_array ) )
|
||||
self._fx_array = [];
|
||||
|
||||
linktag = "tag_origin";
|
||||
effect = level.ghost_effects[newval];
|
||||
|
||||
if ( isdefined( self._fx_tag_override ) )
|
||||
linktag = self._fx_tag_override;
|
||||
|
||||
if ( isdefined( self._fx_array[localclientnum] ) )
|
||||
deletefx( localclientnum, self._fx_array[localclientnum], 0 );
|
||||
|
||||
if ( newval == 1 )
|
||||
self notify( "sndDeath" );
|
||||
|
||||
if ( newval == 1 || newval == 5 )
|
||||
self._fx_array[localclientnum] = playfx( localclientnum, effect, self.origin );
|
||||
else
|
||||
self._fx_array[localclientnum] = playfxontag( localclientnum, effect, self, linktag );
|
||||
}
|
||||
|
||||
ghost_round_presentation_light_state_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( !isdefined( newval ) )
|
||||
return;
|
||||
|
||||
if ( newval == 1 )
|
||||
{
|
||||
if ( !is_true( level.ghost_round_presentation_light_flicker_on ) )
|
||||
{
|
||||
level notify( "ghost_round_flicker" );
|
||||
level.ghost_round_presentation_light_flicker_on = 1;
|
||||
}
|
||||
}
|
||||
else if ( is_true( level.ghost_round_presentation_light_flicker_on ) )
|
||||
{
|
||||
level notify( "ghost_round_flicker" );
|
||||
level.ghost_round_presentation_light_flicker_on = 0;
|
||||
}
|
||||
}
|
||||
|
||||
sndghostaudio( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( !isdefined( self.sndent ) )
|
||||
{
|
||||
self.sndent = spawn( 0, self.origin, "script_origin" );
|
||||
self.sndent linkto( self );
|
||||
self thread sndghostaudiodeleteent( self.sndent );
|
||||
}
|
||||
|
||||
if ( newval == 1 )
|
||||
{
|
||||
self playsound( 0, "zmb_ai_ghost_apparate" );
|
||||
self.sndent playloopsound( "zmb_ai_ghost_loop", 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self playsound( 0, "zmb_ai_ghost_disapparate" );
|
||||
self.sndent playloopsound( "zmb_ai_ghost_loop", 1 );
|
||||
}
|
||||
}
|
||||
|
||||
sndghostaudiodeleteent( ent )
|
||||
{
|
||||
self waittill_any( "death", "entityshutdown", "sndDeath" );
|
||||
ent delete();
|
||||
}
|
||||
|
||||
sndghostattackaudio()
|
||||
{
|
||||
if ( !isdefined( self.sndattackent ) )
|
||||
{
|
||||
self.sndattackent = spawn( 0, self.origin, "script_origin" );
|
||||
self.sndattackent linkto( self );
|
||||
self thread sndghostattackaudiodeleteent( self.sndattackent );
|
||||
}
|
||||
|
||||
self.sndattackent playloopsound( "zmb_ai_ghost_attack_loop", 0.1 );
|
||||
}
|
||||
|
||||
sndghostattackaudiodeleteent( ent )
|
||||
{
|
||||
self endon( "sndDoneAttacking" );
|
||||
self waittill_any( "death", "entityshutdown" );
|
||||
ent delete();
|
||||
}
|
@ -1,319 +0,0 @@
|
||||
// T6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\zombies\_zm_utility;
|
||||
|
||||
precache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#using_animtree("mechz_claw");
|
||||
|
||||
init_animtree()
|
||||
{
|
||||
scriptmodelsuseanimtree( #animtree );
|
||||
}
|
||||
|
||||
add_fx_element( index, fx_element, tag_name, min_freq, max_freq )
|
||||
{
|
||||
if ( !isdefined( level.mechz_clientside_fx ) )
|
||||
level.mechz_clientside_fx = [];
|
||||
|
||||
if ( !isdefined( level.mechz_clientside_fx_inst ) )
|
||||
level.mechz_clientside_fx_inst = [];
|
||||
|
||||
if ( !isdefined( level.mechz_clientside_fx[index] ) )
|
||||
level.mechz_clientside_fx[index] = [];
|
||||
|
||||
if ( !isdefined( level.mechz_clientside_fx_inst[index] ) )
|
||||
level.mechz_clientside_fx_inst[index] = [];
|
||||
|
||||
new_fx_struct = spawnstruct();
|
||||
new_fx_struct.fx_element = loadfx( fx_element );
|
||||
new_fx_struct.tag_name = tag_name;
|
||||
new_fx_struct.min_freq = min_freq;
|
||||
new_fx_struct.max_freq = max_freq;
|
||||
curr_size = level.mechz_clientside_fx[index].size;
|
||||
level.mechz_clientside_fx[index][curr_size] = new_fx_struct;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::mechz_clientfields );
|
||||
}
|
||||
|
||||
mechz_clientfields()
|
||||
{
|
||||
registerclientfield( "actor", "mechz_fx", 14000, 12, "int", ::mechz_handle_fx );
|
||||
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int", ::mechz_claw_callback );
|
||||
registerclientfield( "actor", "anim_rate", 14000, 2, "float", undefined, 0 );
|
||||
setupclientfieldanimspeedcallbacks( "actor", 1, "anim_rate" );
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_LE" );
|
||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_LE", 0.25, 0.75 );
|
||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_LE", 0.1, 0.3 );
|
||||
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_RI" );
|
||||
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_RI", 0.25, 0.75 );
|
||||
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_RI", 0.1, 0.3 );
|
||||
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_ShoulderArmor_LE" );
|
||||
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_ShoulderArmor_LE", 0.25, 0.75 );
|
||||
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_ShoulderArmor_LE", 0.1, 0.3 );
|
||||
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_ShoulderArmor_RI" );
|
||||
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_ShoulderArmor_RI", 0.25, 0.75 );
|
||||
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_ShoulderArmor_RI", 0.1, 0.3 );
|
||||
add_fx_element( 4, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Root_Attach_RI", 0.25, 0.75 );
|
||||
add_fx_element( 4, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Root_Attach_RI", 0.1, 0.3 );
|
||||
add_fx_element( 5, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Root_Attach_LE", 0.25, 0.75 );
|
||||
add_fx_element( 5, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Root_Attach_LE", 0.1, 0.3 );
|
||||
add_fx_element( 6, "maps/zombie_tomb/fx_tomb_mech_wpn_flamethrower", "tag_flamethrower_FX", 0.25 );
|
||||
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster", "tag_booster_LE_FX", 0.25 );
|
||||
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster", "tag_booster_RI_FX", 0.25 );
|
||||
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm", "tag_leg_booster_LE_FX", 0.25 );
|
||||
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm", "tag_leg_booster_RI_FX", 0.25 );
|
||||
add_fx_element( 8, "maps/zombie_tomb/fx_tomb_mech_wpn_source", "tag_claw", 0.5 );
|
||||
add_fx_element( 9, "maps/zombie_tomb/fx_tomb_mech_jump_landing", "tag_origin" );
|
||||
add_fx_element( 10, "maps/zombie_tomb/fx_tomb_mech_dmg_armor_face", "J_Helmet" );
|
||||
add_fx_element( 11, "maps/zombie_tomb/fx_tomb_mech_head_light", "tag_headlamp_FX" );
|
||||
registermechzfootstepcb( "zm_tomb_mech_zombie", ::mechzfootstepcbfunc );
|
||||
level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" );
|
||||
level._effect["mech_exhaust_smoke"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" );
|
||||
init_animtree();
|
||||
}
|
||||
|
||||
setup_fx( localclientnum, index, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( !is_true( self.fx_initialized ) )
|
||||
{
|
||||
self.fx_initialized = 1;
|
||||
self.smoke_fx = playfxontag( localclientnum, level._effect["mech_exhaust_smoke"], self, "tag_back_exhaust_FX" );
|
||||
self setsoundentcontext( "f35", "interior" );
|
||||
}
|
||||
|
||||
if ( index == 10 )
|
||||
self setsoundentcontext( "f35", "exterior" );
|
||||
|
||||
for ( i = 0; i < level.mechz_clientside_fx[index].size; i++ )
|
||||
{
|
||||
fx_struct = level.mechz_clientside_fx[index][i];
|
||||
unique_script_id = "kill_fx_" + index + "_" + self getentitynumber();
|
||||
self thread sndplayfxloops( localclientnum, index, fx_struct.tag_name );
|
||||
|
||||
if ( isdefined( fx_struct.min_freq ) )
|
||||
{
|
||||
self thread mechz_do_manual_looping_fx( localclientnum, unique_script_id, fx_struct.tag_name, fx_struct.fx_element, fx_struct.min_freq, fx_struct.max_freq );
|
||||
continue;
|
||||
}
|
||||
|
||||
self thread mechz_do_auto_looping_fx( localclientnum, index, fx_struct.tag_name, fx_struct.fx_element );
|
||||
}
|
||||
}
|
||||
|
||||
cleanup_fx( localclientnum, index, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
unique_script_id = "kill_fx_" + index + "_" + self getentitynumber();
|
||||
fx_array = level.mechz_clientside_fx_inst[index];
|
||||
|
||||
if ( isdefined( fx_array ) && fx_array.size > 0 )
|
||||
{
|
||||
for ( i = fx_array.size - 1; i >= 0; i-- )
|
||||
{
|
||||
stopfx( localclientnum, fx_array[i] );
|
||||
fx_array[i] = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
self notify( unique_script_id );
|
||||
}
|
||||
|
||||
mechz_handle_fx( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
for ( i = 0; i < level.mechz_clientside_fx.size; i++ )
|
||||
{
|
||||
set_in_new = ( newval & 1 << i ) != 0;
|
||||
set_in_old = ( oldval & 1 << i ) != 0;
|
||||
|
||||
if ( set_in_new && !set_in_old )
|
||||
{
|
||||
self thread setup_fx( localclientnum, i, bnewent, binitialsnap, fieldname, bwasdemojump );
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !set_in_new && set_in_old )
|
||||
self thread cleanup_fx( localclientnum, i, bnewent, binitialsnap, fieldname, bwasdemojump );
|
||||
}
|
||||
|
||||
if ( !newval && is_true( self.fx_initialized ) )
|
||||
{
|
||||
self.fx_initialized = 0;
|
||||
|
||||
if ( isdefined( self.smoke_fx ) )
|
||||
deletefx( localclientnum, self.smoke_fx );
|
||||
}
|
||||
}
|
||||
|
||||
mechz_do_manual_looping_fx( localclientnum, script_id, tag_name, fx_element, min_wait, max_wait )
|
||||
{
|
||||
self endon( script_id );
|
||||
self endon( "death" );
|
||||
|
||||
if ( !isdefined( min_wait ) )
|
||||
{
|
||||
playfxontag( localclientnum, fx_element, self, tag_name );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isdefined( max_wait ) )
|
||||
max_wait = min_wait;
|
||||
|
||||
while ( true )
|
||||
{
|
||||
if ( !isdefined( self ) )
|
||||
return;
|
||||
|
||||
playfxontag( localclientnum, fx_element, self, tag_name );
|
||||
waitrealtime( randomfloatrange( min_wait, max_wait ) );
|
||||
wait randomfloatrange( min_wait, max_wait );
|
||||
}
|
||||
}
|
||||
|
||||
mechz_do_auto_looping_fx( localclientnum, index, tag_name, fx_element )
|
||||
{
|
||||
curr_size = level.mechz_clientside_fx_inst[index].size;
|
||||
level.mechz_clientside_fx_inst[index][curr_size] = playfxontag( localclientnum, fx_element, self, tag_name );
|
||||
}
|
||||
|
||||
mechz_screen_shake_loop( localclientnum )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
self endon( "kill_screen_shake" );
|
||||
|
||||
while ( true )
|
||||
{
|
||||
self playrumbleonentity( localclientnum, "mechz_footsteps" );
|
||||
waitrealtime( 0.1 );
|
||||
wait 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
mechz_claw_callback( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( oldval == 1 && newval == 0 )
|
||||
{
|
||||
self stoprumble( localclientnum, "mechz_footsteps" );
|
||||
self notify( "kill_screen_shake" );
|
||||
}
|
||||
else if ( newval == 1 )
|
||||
self thread mechz_screen_shake_loop( localclientnum );
|
||||
}
|
||||
|
||||
mechzfootstepcbfunc( localclientnum, pos, surface, notetrack, bone )
|
||||
{
|
||||
players = getlocalplayers();
|
||||
|
||||
for ( i = 0; i < players.size; i++ )
|
||||
{
|
||||
if ( !players[i] isplayer() )
|
||||
continue;
|
||||
|
||||
if ( abs( self.origin[2] - players[i].origin[2] ) < 100 )
|
||||
{
|
||||
n_distance = distance2d( self.origin, players[i].origin );
|
||||
|
||||
if ( n_distance < 1500 && n_distance > 750 )
|
||||
{
|
||||
if ( !is_true( players[i].mechz_camshake ) )
|
||||
{
|
||||
players[i] earthquake( 0.25, 0.1, self.origin, 1500 );
|
||||
players[i] thread prevent_camshake_stacking();
|
||||
}
|
||||
|
||||
playerlocalclientnum = players[i] getlocalclientnumber();
|
||||
|
||||
if ( isdefined( playerlocalclientnum ) )
|
||||
playrumbleonposition( playerlocalclientnum, "shotgun_fire", self.origin );
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( n_distance < 750 )
|
||||
{
|
||||
if ( !is_true( players[i].mechz_camshake ) )
|
||||
{
|
||||
players[i] earthquake( 0.35, 0.1, self.origin, 750 );
|
||||
players[i] thread prevent_camshake_stacking();
|
||||
}
|
||||
|
||||
playerlocalclientnum = players[i] getlocalclientnumber();
|
||||
|
||||
if ( isdefined( playerlocalclientnum ) )
|
||||
playrumbleonposition( playerlocalclientnum, "mechz_footsteps", self.origin );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( bone == "j_ball_ri" )
|
||||
playfxontag( localclientnum, level._effect["mech_footstep_steam"], self, "tag_foot_steam_RI" );
|
||||
else if ( bone == "j_ball_le" )
|
||||
playfxontag( localclientnum, level._effect["mech_footstep_steam"], self, "tag_foot_steam_LE" );
|
||||
|
||||
footstepdoeverything();
|
||||
}
|
||||
|
||||
prevent_camshake_stacking()
|
||||
{
|
||||
self.mechz_camshake = 1;
|
||||
wait 0.1;
|
||||
self.mechz_camshake = 0;
|
||||
}
|
||||
|
||||
registermechzfootstepcb( aitype, func )
|
||||
{
|
||||
if ( !isdefined( level._footstepcbfuncs ) )
|
||||
level._footstepcbfuncs = [];
|
||||
|
||||
if ( isdefined( level._footstepcbfuncs[aitype] ) )
|
||||
{
|
||||
/#
|
||||
println( "Attempting to register footstep callback function for ai type " + aitype + " multiple times." );
|
||||
#/
|
||||
return;
|
||||
}
|
||||
|
||||
level._footstepcbfuncs[aitype] = func;
|
||||
}
|
||||
|
||||
sndplayfxloops( localclientnum, index, tag_name )
|
||||
{
|
||||
if ( index == 6 )
|
||||
self thread sndflamethrower_start( localclientnum, index, tag_name );
|
||||
}
|
||||
|
||||
sndflamethrower_start( localclientnum, index, tag_name )
|
||||
{
|
||||
self endon( "stop_flamethrower" );
|
||||
sndorigin = self gettagorigin( tag_name );
|
||||
sndent = spawn( 0, sndorigin, "script_origin" );
|
||||
sndent linkto( self, tag_name );
|
||||
sndent playsound( 0, "zmb_ai_mechz_flame_start" );
|
||||
sndent playloopsound( "zmb_ai_mechz_flame_loop", 0.6 );
|
||||
self thread sndflamethrower_stop( sndent, index );
|
||||
}
|
||||
|
||||
sndflamethrower_stop( ent, index )
|
||||
{
|
||||
notify_name = "kill_fx_" + index + "_" + self getentitynumber();
|
||||
self waittill( notify_name );
|
||||
ent playsound( 0, "zmb_ai_mechz_flame_stop" );
|
||||
ent stoploopsound( 0.25 );
|
||||
wait 1;
|
||||
ent delete();
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
// T6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\zombies\_zm_utility;
|
||||
#include clientscripts\mp\_visionset_mgr;
|
||||
|
||||
precache()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::screecher_clientfields );
|
||||
}
|
||||
|
||||
screecher_clientfields()
|
||||
{
|
||||
clientscripts\mp\_visionset_mgr::vsmgr_register_overlay_info_style_blur( "zm_ai_screecher_blur", 1, 1, 0.1, 0.25, 4 );
|
||||
registerclientfield( "actor", "render_third_person", 1, 1, "int", ::screecher_render_clientfield_cb, 0 );
|
||||
}
|
||||
|
||||
screecher_render_clientfield_cb( localclientnum, oldval, newval, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||
{
|
||||
if ( newval )
|
||||
self setrenderinthirdpersonspectate( 1 );
|
||||
else
|
||||
self setrenderinthirdpersonspectate( 0 );
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_avogadro::precache();
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_avogadro::init();
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_prison" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_brutus::main();
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
}
|
@ -1,102 +0,0 @@
|
||||
#include maps\mp\zombies\_zm_ai_ghost;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
//maps\mp\zombies\_zm_ai_ghost::precache_fx();
|
||||
//maps\mp\zombies\_zm_ai_ghost::init();
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
//level thread ghost_zone_spawning_think();
|
||||
}
|
||||
|
||||
ghost_zone_spawning_think()
|
||||
{
|
||||
level endon( "intermission" );
|
||||
|
||||
if ( isdefined( level.intermission ) && level.intermission )
|
||||
return;
|
||||
|
||||
if ( !isdefined( level.female_ghost_spawner ) )
|
||||
{
|
||||
/#
|
||||
assertmsg( "No female ghost spawner in the map. Check to see if the zone is active and if it's pointing to spawners." );
|
||||
#/
|
||||
}
|
||||
|
||||
while ( true )
|
||||
{
|
||||
if ( level.zombie_ghost_count >= level.zombie_ai_limit_ghost )
|
||||
{
|
||||
wait 0.1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.zombie_spawn_locations.size <= 0 )
|
||||
{
|
||||
wait 0.1;
|
||||
continue;
|
||||
}
|
||||
|
||||
spawn_point = random( level.zombie_spawn_locations );
|
||||
|
||||
if ( !isdefined( spawn_point ) )
|
||||
{
|
||||
print( "No spawn point" );
|
||||
wait 0.1;
|
||||
continue;
|
||||
}
|
||||
|
||||
/#
|
||||
if ( isdefined( level.force_no_ghost ) && level.force_no_ghost )
|
||||
{
|
||||
wait 0.1;
|
||||
continue;
|
||||
}
|
||||
#/
|
||||
ghost_ai = undefined;
|
||||
|
||||
if ( isdefined( level.female_ghost_spawner ) )
|
||||
ghost_ai = spawn_zombie( level.female_ghost_spawner, level.female_ghost_spawner.targetname, spawn_point );
|
||||
else
|
||||
{
|
||||
print( "No spawner" );
|
||||
/#
|
||||
assertmsg( "No female ghost spawner in the map." );
|
||||
#/
|
||||
}
|
||||
|
||||
if ( isdefined( ghost_ai ) )
|
||||
{
|
||||
ghost_ai setclientfield( "ghost_fx", 3 );
|
||||
ghost_ai.spawn_point = spawn_point;
|
||||
ghost_ai.is_ghost = 1;
|
||||
ghost_ai.is_spawned_in_ghost_zone = 1;
|
||||
ghost_ai.find_target = 1;
|
||||
level.zombie_ghost_count++;
|
||||
/#
|
||||
ghost_print( "ghost total " + level.zombie_ghost_count );
|
||||
#/
|
||||
}
|
||||
else
|
||||
{
|
||||
/#
|
||||
assertmsg( "Female ghost: failed spawn" );
|
||||
#/
|
||||
}
|
||||
|
||||
wait 0.1;
|
||||
}
|
||||
}
|
@ -1,140 +0,0 @@
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level thread on_player_connect();
|
||||
level thread command_thread();
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_mechz::precache();
|
||||
maps\mp\_utility::onfinalizeinitialization_callback( ::register_clientfields );
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_mechz::init();
|
||||
}
|
||||
|
||||
register_clientfields()
|
||||
{
|
||||
registerclientfield( "actor", "mechz_fx", 14000, 12, "int" );
|
||||
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int" );
|
||||
registerclientfield( "actor", "anim_rate", 14000, 2, "float" );
|
||||
}
|
||||
|
||||
command_thread()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
level waittill( "say", message, player, is_hidden );
|
||||
|
||||
if ( message == "print" )
|
||||
{
|
||||
player iPrintLn( player.origin );
|
||||
}
|
||||
else if ( message == "zone" )
|
||||
{
|
||||
player iPrintLn( player maps\mp\zombies\_zm_zonemgr::get_player_zone() );
|
||||
}
|
||||
else if ( message == "points" )
|
||||
{
|
||||
player.score = 1000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
on_player_connect()
|
||||
{
|
||||
while ( true )
|
||||
{
|
||||
level waittill( "connected", player );
|
||||
player thread zone_hud();
|
||||
}
|
||||
}
|
||||
|
||||
zone_hud()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
x = 5;
|
||||
y = -119;
|
||||
if (level.script == "zm_buried")
|
||||
{
|
||||
y -= 25;
|
||||
}
|
||||
else if (level.script == "zm_tomb")
|
||||
{
|
||||
y -= 60;
|
||||
}
|
||||
|
||||
zone_hud = newClientHudElem(self);
|
||||
zone_hud.alignx = "left";
|
||||
zone_hud.aligny = "middle";
|
||||
zone_hud.horzalign = "user_left";
|
||||
zone_hud.vertalign = "user_bottom";
|
||||
zone_hud.x += x;
|
||||
zone_hud.y += y;
|
||||
zone_hud.fontscale = 1.4;
|
||||
zone_hud.alpha = 0;
|
||||
zone_hud.color = ( 1, 1, 1 );
|
||||
zone_hud.hidewheninmenu = 1;
|
||||
zone_hud.foreground = 1;
|
||||
|
||||
zone_hud endon("death");
|
||||
|
||||
zone_hud thread destroy_on_intermission();
|
||||
|
||||
flag_wait( "initial_blackscreen_passed" );
|
||||
|
||||
zone = self get_current_zone();
|
||||
prev_zone = zone;
|
||||
zone_hud settext(zone);
|
||||
zone_hud.alpha = 1;
|
||||
|
||||
while (1)
|
||||
{
|
||||
zone = self get_current_zone();
|
||||
|
||||
if(prev_zone != zone)
|
||||
{
|
||||
prev_zone = zone;
|
||||
|
||||
zone_hud fadeovertime(0.25);
|
||||
zone_hud.alpha = 0;
|
||||
wait 0.25;
|
||||
|
||||
zone_hud settext(zone);
|
||||
|
||||
zone_hud fadeovertime(0.25);
|
||||
zone_hud.alpha = 1;
|
||||
wait 0.25;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
destroy_on_intermission()
|
||||
{
|
||||
self endon("death");
|
||||
|
||||
level waittill("intermission");
|
||||
|
||||
if(isDefined(self.elemtype) && self.elemtype == "bar")
|
||||
{
|
||||
self.bar destroy();
|
||||
self.barframe destroy();
|
||||
}
|
||||
|
||||
self destroy();
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_screecher::precache();
|
||||
maps\mp\_utility::onfinalizeinitialization_callback( ::register_clientfields );
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_screecher::init();
|
||||
}
|
||||
|
||||
register_clientfields()
|
||||
{
|
||||
maps\mp\_visionset_mgr::vsmgr_register_info( "overlay", "zm_ai_screecher_blur", 1, level.vsmgr_prio_overlay_zm_ai_screecher_blur, 1, 1, maps\mp\_visionset_mgr::vsmgr_timeout_lerp_thread_per_player, 0 );
|
||||
registerclientfield( "actor", "render_third_person", 1, 1, "int" );
|
||||
}
|
38
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.csc
Normal file
38
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.csc
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.script = toLower( getDvar( "mapname" ) );
|
||||
level.gametype = toLower( getDvar( "g_gametype" ) );
|
||||
|
||||
level.ai_data = [];
|
||||
level.ai_data[ "avogadro" ] = spawnStruct();
|
||||
level.ai_data[ "avogadro" ].main = clientscripts\mp\zombies\_zm_ai_avogadro::main;
|
||||
level.ai_data[ "avogadro" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||
level.ai_data[ "screecher" ] = spawnStruct();
|
||||
level.ai_data[ "screecher" ].main = clientscripts\mp\zombies\_zm_ai_screecher::main;
|
||||
level.ai_data[ "screecher" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||
level.ai_data[ "ghost" ] = spawnStruct();
|
||||
level.ai_data[ "ghost" ].main = clientscripts\mp\zombies\_zm_ai_ghost::main;
|
||||
level.ai_data[ "ghost" ].should_execute = !( level.script == "zm_buried" && level.gametype == "zclassic" );
|
||||
level.ai_data[ "brutus" ] = spawnStruct();
|
||||
level.ai_data[ "brutus" ].main = clientscripts\mp\zombies\_zm_ai_brutus::main;
|
||||
level.ai_data[ "brutus" ].should_execute = level.script != "zm_prison";
|
||||
level.ai_data[ "mechz" ] = spawnStruct();
|
||||
level.ai_data[ "mechz" ].main = clientscripts\mp\zombies\_zm_ai_mechz::main;
|
||||
level.ai_data[ "mechz" ].should_execute = level.script != "zm_tomb";
|
||||
|
||||
keys = getArrayKeys( level.ai_data );
|
||||
for ( j = 0; j < keys2.size; j++ )
|
||||
{
|
||||
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||
{
|
||||
level [[ level.ai_data[ keys[ j ] ].main ]]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
|
||||
}
|
165
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.gsc
Normal file
165
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.gsc
Normal file
@ -0,0 +1,165 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.script = toLower( getDvar( "mapname" ) );
|
||||
level.gametype = toLower( getDvar( "g_gametype" ) );
|
||||
|
||||
level.ai_home_maps = [];
|
||||
level.ai_home_maps[ "avogadro" ] = spawnStruct();
|
||||
level.ai_home_maps[ "avogadro" ].main = maps\mp\zombies\_zm_ai_avogadro::main;
|
||||
level.ai_home_maps[ "avogadro" ].init = maps\mp\zombies\_zm_ai_avogadro::init;
|
||||
level.ai_home_maps[ "avogadro" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||
level.ai_home_maps[ "screecher" ] = spawnStruct();
|
||||
level.ai_home_maps[ "screecher" ].main = maps\mp\zombies\_zm_ai_screecher::main;
|
||||
level.ai_home_maps[ "screecher" ].init = maps\mp\zombies\_zm_ai_screecher::init;
|
||||
level.ai_home_maps[ "screecher" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||
level.ai_home_maps[ "ghost" ] = spawnStruct();
|
||||
level.ai_home_maps[ "ghost" ].main = maps\mp\zombies\_zm_ai_ghost::main;
|
||||
level.ai_home_maps[ "ghost" ].should_execute = !( level.script == "zm_buried" && level.gametype == "zclassic" );
|
||||
level.ai_home_maps[ "brutus" ] = spawnStruct();
|
||||
level.ai_home_maps[ "brutus" ].main = maps\mp\zombies\_zm_ai_brutus::main;
|
||||
level.ai_home_maps[ "brutus" ].should_execute = level.script != "zm_prison";
|
||||
level.ai_home_maps[ "mechz" ] = spawnStruct();
|
||||
level.ai_home_maps[ "mechz" ].main = maps\mp\zombies\_zm_ai_mechz::main;
|
||||
level.ai_home_maps[ "mechz" ].init = maps\mp\zombies\_zm_ai_mechz::init;
|
||||
level.ai_home_maps[ "mechz" ].should_execute = level.script != "zm_tomb";
|
||||
level.ai_home_maps[ "zombie_dog" ] = spawnStruct();
|
||||
level.ai_home_maps[ "zombie_dog" ].main = maps\mp\zombies\_zm_ai_dogs::init;
|
||||
level.ai_home_maps[ "zombie_dog" ].init = maps\mp\zombies\_zm_ai_dogs::enable_dog_rounds;
|
||||
level.ai_home_maps[ "zombie_dog" ].should_execute = !( level.gametype == "zstandard" && getGametypeSetting( "allowDogs" ) == 1 );
|
||||
|
||||
keys = getArrayKeys( level.ai_data );
|
||||
for ( j = 0; j < keys2.size; j++ )
|
||||
{
|
||||
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||
{
|
||||
level [[ level.ai_data[ keys[ j ] ].main ]]();
|
||||
}
|
||||
}
|
||||
|
||||
level thread command_thread();
|
||||
level thread on_player_connect();
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
keys = getArrayKeys( level.ai_data );
|
||||
for ( j = 0; j < keys2.size; j++ )
|
||||
{
|
||||
if ( isDefined( level.ai_data[ keys[ j ] ].init ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||
{
|
||||
level [[ level.ai_data[ keys[ j ] ].init ]]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
command_thread()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
level waittill( "say", message, player, is_hidden );
|
||||
|
||||
if ( message == "print" )
|
||||
{
|
||||
player iPrintLn( player.origin );
|
||||
}
|
||||
else if ( message == "points" )
|
||||
{
|
||||
player.score = 1000000;
|
||||
}
|
||||
else if ( message == "setdoground" )
|
||||
{
|
||||
level.next_dog_round = level.round_number + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
on_player_connect()
|
||||
{
|
||||
while ( true )
|
||||
{
|
||||
level waittill( "connected", player );
|
||||
player thread zone_hud();
|
||||
}
|
||||
}
|
||||
|
||||
zone_hud()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
x = 5;
|
||||
y = -119;
|
||||
if (level.script == "zm_buried")
|
||||
{
|
||||
y -= 25;
|
||||
}
|
||||
else if (level.script == "zm_tomb")
|
||||
{
|
||||
y -= 60;
|
||||
}
|
||||
|
||||
zone_hud = newClientHudElem(self);
|
||||
zone_hud.alignx = "left";
|
||||
zone_hud.aligny = "middle";
|
||||
zone_hud.horzalign = "user_left";
|
||||
zone_hud.vertalign = "user_bottom";
|
||||
zone_hud.x += x;
|
||||
zone_hud.y += y;
|
||||
zone_hud.fontscale = 1.4;
|
||||
zone_hud.alpha = 0;
|
||||
zone_hud.color = ( 1, 1, 1 );
|
||||
zone_hud.hidewheninmenu = 1;
|
||||
zone_hud.foreground = 1;
|
||||
|
||||
zone_hud endon("death");
|
||||
|
||||
zone_hud thread destroy_on_intermission();
|
||||
|
||||
flag_wait( "initial_blackscreen_passed" );
|
||||
|
||||
zone = self get_current_zone();
|
||||
prev_zone = zone;
|
||||
zone_hud settext(zone);
|
||||
zone_hud.alpha = 1;
|
||||
|
||||
while (1)
|
||||
{
|
||||
zone = self get_current_zone();
|
||||
|
||||
if(prev_zone != zone)
|
||||
{
|
||||
prev_zone = zone;
|
||||
|
||||
zone_hud fadeovertime(0.25);
|
||||
zone_hud.alpha = 0;
|
||||
wait 0.25;
|
||||
|
||||
zone_hud settext(zone);
|
||||
|
||||
zone_hud fadeovertime(0.25);
|
||||
zone_hud.alpha = 1;
|
||||
wait 0.25;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
destroy_on_intermission()
|
||||
{
|
||||
self endon("death");
|
||||
|
||||
level waittill("intermission");
|
||||
|
||||
if(isDefined(self.elemtype) && self.elemtype == "bar")
|
||||
{
|
||||
self.bar destroy();
|
||||
self.barframe destroy();
|
||||
}
|
||||
|
||||
self destroy();
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
main()
|
||||
{
|
||||
if ( getDvar( "g_gametype" ) == "zstandard" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_dogs::init();
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
if ( getGametypeSetting( "allowDogs" ) == 1 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
maps\mp\zombies\_zm_ai_dogs::enable_dog_rounds();
|
||||
|
||||
wait 1;
|
||||
level.next_dog_round = 2;
|
||||
}
|
Reference in New Issue
Block a user