Fix panzer errors.

This commit is contained in:
JezuzLizard
2024-02-08 02:00:17 -08:00
parent 7c043cee57
commit 6a8fdc0e93
9 changed files with 248 additions and 58 deletions

View File

@ -1,19 +1,25 @@
#include clientscripts\mp\zombies\_zm_ai_avogadro;
#include clientscripts\mp\zombies\_zm_ai_screecher;
#include clientscripts\mp\zombies\_zm_ai_ghost;
#include clientscripts\mp\zombies\_zm_ai_brutus;
#include clientscripts\mp\zombies\_zm_ai_mechz;
main()
{
replaceFunc( clientscripts\mp\_visionset_mgr::init, ::visionset_mgr_init_override );
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[ "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";
@ -22,12 +28,12 @@ main()
level.ai_data[ "mechz" ].should_execute = level.script != "zm_tomb";
keys = getArrayKeys( level.ai_data );
for ( j = 0; j < keys2.size; j++ )
for ( i = 0; i < keys.size; i++ )
{
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
&& level.ai_data[ keys[ j ] ].should_execute )
if ( isDefined( level.ai_data[ keys[ i ] ].main ) && isDefined( level.ai_data[ keys[ i ] ].should_execute )
&& level.ai_data[ keys[ i ] ].should_execute )
{
level [[ level.ai_data[ keys[ j ] ].main ]]();
level [[ level.ai_data[ keys[ i ] ].main ]]();
}
}
}
@ -35,4 +41,45 @@ main()
init()
{
}
add_visionset_callback( func )
{
if ( !isDefined( level.visionset_mgr_callbacks ) )
{
level.visionset_mgr_callbacks = [];
}
level.visionset_mgr_callbacks[ level.visionset_mgr_callbacks.size ] = func;
}
run_visionset_callbacks()
{
if ( !isDefined( level.visionset_mgr_callbacks ) )
{
return;
}
for ( i = 0; i < level.visionset_mgr_callbacks.size; i++ )
{
[[ level.visionset_mgr_callbacks[ i ] ]]();
}
}
visionset_mgr_init_override()
{
if ( isDefined( level.createfx_enabled ) && level.createfx_enabled )
return;
level.vsmgr_initializing = 1;
level.vsmgr_default_info_name = "none";
level.vsmgr = [];
level.vsmgr_states_inited = [];
level.vsmgr_filter_custom_enable = [];
level thread register_type( "visionset", ::visionset_slot_cb, ::visionset_lerp_cb, ::visionset_update_cb );
vsmgr_register_visionset_info( level.vsmgr_default_info_name, 1, 1, "undefined", "undefined" );
level thread register_type( "overlay", ::overlay_slot_cb, ::overlay_lerp_cb, ::overlay_update_cb );
vsmgr_register_overlay_info_style_none( level.vsmgr_default_info_name, 1, 1 );
level.vsmgr_is_type_currently_default_func = ::vsmgr_is_type_currently_default;
[[ level.on_finalize_initialization_callback ]]( ::finalize_clientfields );
level thread monitor();
run_visionset_callbacks();
}

View File

@ -1,43 +1,55 @@
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_ai_avogadro;
#include maps\mp\zombies\_zm_ai_screecher;
#include maps\mp\zombies\_zm_ai_ghost;
#include maps\mp\zombies\_zm_ai_brutus;
#include maps\mp\zombies\_zm_ai_mechz;
#include maps\mp\zombies\_zm_ai_dogs;
main()
{
replaceFunc( maps\mp\_visionset_mgr::init, ::visionset_mgr_init_override );
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 );
level.ai_data = [];
// level.ai_data[ "avogadro" ] = spawnStruct();
// level.ai_data[ "avogadro" ].main = maps\mp\zombies\_zm_ai_avogadro::main;
// level.ai_data[ "avogadro" ].init = maps\mp\zombies\_zm_ai_avogadro::init;
// level.ai_data[ "avogadro" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
// level.ai_data[ "screecher" ] = spawnStruct();
// level.ai_data[ "screecher" ].main = maps\mp\zombies\_zm_ai_screecher::main;
// level.ai_data[ "screecher" ].init = maps\mp\zombies\_zm_ai_screecher::init;
// level.ai_data[ "screecher" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
// level.ai_data[ "ghost" ] = spawnStruct();
// level.ai_data[ "ghost" ].main = maps\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 = maps\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 = maps\mp\zombies\_zm_ai_mechz::main;
level.ai_data[ "mechz" ].init = maps\mp\zombies\_zm_ai_mechz::init;
level.ai_data[ "mechz" ].should_execute = level.script != "zm_tomb";
// level.ai_data[ "zombie_dog" ] = spawnStruct();
// level.ai_data[ "zombie_dog" ].main = maps\mp\zombies\_zm_ai_dogs::init;
// level.ai_data[ "zombie_dog" ].init = maps\mp\zombies\_zm_ai_dogs::enable_dog_rounds;
// level.ai_data[ "zombie_dog" ].should_execute = !( level.gametype == "zstandard" && getGametypeSetting( "allowDogs" ) == 1 );
keys = getArrayKeys( level.ai_data );
for ( j = 0; j < keys2.size; j++ )
for ( i = 0; i < keys.size; i++ )
{
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
&& level.ai_data[ keys[ j ] ].should_execute )
if ( isDefined( level.ai_data[ keys[ i ] ].main ) && isDefined( level.ai_data[ keys[ i ] ].should_execute )
&& level.ai_data[ keys[ i ] ].should_execute )
{
level [[ level.ai_data[ keys[ j ] ].main ]]();
level [[ level.ai_data[ keys[ i ] ].main ]]();
}
}
level thread command_thread();
level thread on_player_connect();
}
@ -45,16 +57,53 @@ main()
init()
{
keys = getArrayKeys( level.ai_data );
for ( j = 0; j < keys2.size; j++ )
for ( i = 0; i < keys.size; i++ )
{
if ( isDefined( level.ai_data[ keys[ j ] ].init ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
&& level.ai_data[ keys[ j ] ].should_execute )
if ( isDefined( level.ai_data[ keys[ i ] ].init ) && isDefined( level.ai_data[ keys[ i ] ].should_execute )
&& level.ai_data[ keys[ i ] ].should_execute )
{
level [[ level.ai_data[ keys[ j ] ].init ]]();
level [[ level.ai_data[ keys[ i ] ].init ]]();
}
}
}
add_visionset_callback( func )
{
if ( !isDefined( level.visionset_mgr_callbacks ) )
{
level.visionset_mgr_callbacks = [];
}
level.visionset_mgr_callbacks[ level.visionset_mgr_callbacks.size ] = func;
}
run_visionset_callbacks()
{
if ( !isDefined( level.visionset_mgr_callbacks ) )
{
return;
}
for ( i = 0; i < level.visionset_mgr_callbacks.size; i++ )
{
[[ level.visionset_mgr_callbacks[ i ] ]]();
}
}
visionset_mgr_init_override()
{
if ( isDefined( level.createfx_enabled ) && level.createfx_enabled )
return;
level.vsmgr_initializing = 1;
level.vsmgr_default_info_name = "none";
level.vsmgr = [];
level thread register_type( "visionset" );
level thread register_type( "overlay" );
onfinalizeinitialization_callback( ::finalize_clientfields );
level thread monitor();
level thread onplayerconnect();
run_visionset_callbacks();
}
command_thread()
{
for (;;)
@ -73,6 +122,15 @@ command_thread()
{
level.next_dog_round = level.round_number + 1;
}
else if ( message == "spawnmechz" )
{
level.mechz_left_to_spawn = 1;
level notify( "spawn_mechz" );
}
else if ( message == "spawnbrutus" )
{
level notify( "spawn_brutus", 1 );
}
}
}