2024-05-28 13:25:29 -04:00
|
|
|
#using scripts\codescripts\struct;
|
|
|
|
|
|
|
|
#using scripts\shared\audio_shared;
|
|
|
|
#using scripts\shared\clientfield_shared;
|
|
|
|
#using scripts\shared\exploder_shared;//DO NOT REMOVE - needed for system registration
|
|
|
|
#using scripts\shared\flag_shared;
|
|
|
|
#using scripts\shared\flagsys_shared;
|
|
|
|
#using scripts\shared\fx_shared;
|
|
|
|
#using scripts\shared\demo_shared;
|
|
|
|
#using scripts\shared\hud_message_shared;
|
|
|
|
#using scripts\shared\load_shared;
|
|
|
|
#using scripts\shared\lui_shared;
|
|
|
|
#using scripts\shared\music_shared;
|
|
|
|
#using scripts\shared\_oob;
|
|
|
|
#using scripts\shared\scene_shared;
|
|
|
|
#using scripts\shared\serverfaceanim_shared;
|
|
|
|
#using scripts\shared\system_shared;
|
|
|
|
#using scripts\shared\turret_shared;
|
|
|
|
#using scripts\shared\util_shared;
|
|
|
|
#using scripts\shared\vehicle_shared;
|
|
|
|
#using scripts\shared\archetype_shared\archetype_shared;
|
|
|
|
|
|
|
|
//Abilities
|
|
|
|
#using scripts\shared\abilities\_ability_player; //DO NOT REMOVE - needed for system registration
|
|
|
|
|
|
|
|
#insert scripts\shared\shared.gsh;
|
|
|
|
#insert scripts\shared\version.gsh;
|
|
|
|
|
|
|
|
#using scripts\shared\ai\zombie_utility;
|
|
|
|
|
|
|
|
#using scripts\zm\_zm;
|
|
|
|
#using scripts\zm\gametypes\_spawnlogic;
|
|
|
|
|
|
|
|
#using scripts\zm\_destructible;
|
|
|
|
#using scripts\zm\_util;
|
|
|
|
|
|
|
|
//REGISTRATION - These scripts are initialized here
|
|
|
|
//Do not remove unless you are removing the script from the game
|
|
|
|
|
|
|
|
//Gametypes Registration
|
|
|
|
#using scripts\zm\gametypes\_clientids;
|
|
|
|
#using scripts\zm\gametypes\_scoreboard;
|
|
|
|
#using scripts\zm\gametypes\_serversettings;
|
|
|
|
#using scripts\zm\gametypes\_shellshock;
|
|
|
|
#using scripts\zm\gametypes\_spawnlogic;
|
|
|
|
#using scripts\zm\gametypes\_spectating;
|
|
|
|
#using scripts\zm\gametypes\_weaponobjects;
|
|
|
|
|
|
|
|
//Systems registration
|
|
|
|
#using scripts\zm\_art;
|
|
|
|
#using scripts\zm\_callbacks;
|
|
|
|
#using scripts\zm\_zm_audio;
|
|
|
|
#using scripts\zm\_zm_behavior;
|
|
|
|
#using scripts\zm\_zm_blockers;
|
|
|
|
#using scripts\zm\_zm_bot;
|
|
|
|
#using scripts\zm\_zm_clone;
|
|
|
|
#using scripts\zm\_zm_devgui;
|
|
|
|
#using scripts\zm\_zm_magicbox;
|
|
|
|
#using scripts\zm\_zm_playerhealth;
|
|
|
|
#using scripts\zm\_zm_power;
|
|
|
|
#using scripts\zm\_zm_score;
|
|
|
|
#using scripts\zm\_zm_stats;
|
|
|
|
#using scripts\zm\_zm_traps;
|
|
|
|
#using scripts\zm\_zm_unitrigger;
|
|
|
|
#using scripts\zm\_zm_zonemgr;
|
|
|
|
|
|
|
|
//Weapon registration
|
|
|
|
#using scripts\zm\gametypes\_weaponobjects;
|
|
|
|
|
|
|
|
#precache( "fx", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
#precache( "fx", "_t6/bio/player/fx_footstep_sand" );
|
|
|
|
#precache( "fx", "_t6/bio/player/fx_footstep_mud" );
|
|
|
|
#precache( "fx", "_t6/bio/player/fx_footstep_water" );
|
|
|
|
|
|
|
|
#namespace load;
|
|
|
|
|
|
|
|
function main()
|
|
|
|
{
|
|
|
|
zm::init();
|
|
|
|
|
|
|
|
level._loadStarted = true;
|
|
|
|
|
|
|
|
register_clientfields();
|
|
|
|
|
|
|
|
level.aiTriggerSpawnFlags = getaitriggerflags();
|
|
|
|
level.vehicleTriggerSpawnFlags = getvehicletriggerflags();
|
|
|
|
|
|
|
|
level thread start_intro_screen_zm();
|
2024-05-28 15:58:17 -04:00
|
|
|
|
2024-05-28 13:25:29 -04:00
|
|
|
//thread _spawning::init();
|
|
|
|
//thread _deployable_weapons::init();
|
|
|
|
//thread _minefields::init();
|
|
|
|
//thread _rotating_object::init();
|
|
|
|
//thread _shutter::main();
|
|
|
|
//thread _flare::init();
|
|
|
|
//thread _pipes::main();
|
|
|
|
//thread _vehicles::init();
|
|
|
|
//thread _dogs::init();
|
|
|
|
//thread _tutorial::init();
|
|
|
|
|
|
|
|
setup_traversals();
|
|
|
|
|
2024-05-28 15:58:17 -04:00
|
|
|
footsteps();
|
|
|
|
|
2024-05-28 13:25:29 -04:00
|
|
|
system::wait_till( "all" );
|
|
|
|
|
|
|
|
level thread load::art_review();
|
2024-05-28 15:58:17 -04:00
|
|
|
|
|
|
|
level flagsys::set( "load_main_complete" );
|
|
|
|
|
2024-05-28 13:48:08 -04:00
|
|
|
SetDvar("scr_firstGumFree",1); // First GobbleGum free
|
|
|
|
SetDvar("zm_private_rankedmatch",1); // Ranked private match
|
2024-05-28 13:25:29 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
function footsteps()
|
|
|
|
{
|
|
|
|
if ( IS_TRUE( level.FX_exclude_footsteps ) )
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
zombie_utility::setFootstepEffect( "asphalt", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "brick", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "carpet", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "cloth", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "concrete", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "dirt", "_t6/bio/player/fx_footstep_sand" );
|
|
|
|
zombie_utility::setFootstepEffect( "foliage", "_t6/bio/player/fx_footstep_sand" );
|
|
|
|
zombie_utility::setFootstepEffect( "gravel", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "grass", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "metal", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "mud", "_t6/bio/player/fx_footstep_mud" );
|
|
|
|
zombie_utility::setFootstepEffect( "paper", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "plaster", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "rock", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
zombie_utility::setFootstepEffect( "sand", "_t6/bio/player/fx_footstep_sand" );
|
|
|
|
zombie_utility::setFootstepEffect( "water", "_t6/bio/player/fx_footstep_water" );
|
|
|
|
zombie_utility::setFootstepEffect( "wood", "_t6/bio/player/fx_footstep_dust" );
|
|
|
|
}
|
|
|
|
|
|
|
|
function setup_traversals()
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
potential_traverse_nodes = GetAllNodes();
|
|
|
|
for (i = 0; i < potential_traverse_nodes.size; i++)
|
|
|
|
{
|
|
|
|
node = potential_traverse_nodes[i];
|
|
|
|
if (node.type == "Begin")
|
|
|
|
{
|
|
|
|
node zombie_shared::init_traverse();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
|
|
|
|
function start_intro_screen_zm( )
|
|
|
|
{
|
|
|
|
players = GetPlayers();
|
|
|
|
for(i = 0; i < players.size; i++)
|
|
|
|
{
|
|
|
|
players[i] lui::screen_fade_out( 0, undefined );
|
|
|
|
players[i] freezecontrols(true);
|
|
|
|
}
|
|
|
|
wait 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
function register_clientfields()
|
|
|
|
{
|
|
|
|
//clientfield::register( "missile", "cf_m_proximity", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "missile", "cf_m_emp", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "missile", "cf_m_stun", VERSION_SHIP, 1, "int" );
|
|
|
|
|
|
|
|
//clientfield::register( "scriptmover", "cf_s_emp", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "scriptmover", "cf_s_stun", VERSION_SHIP, 1, "int" );
|
|
|
|
|
|
|
|
//clientfield::register( "world", "sndPrematch", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "toplayer", "sndMelee", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "toplayer", "sndEMP", VERSION_SHIP, 1, "int" );
|
|
|
|
|
|
|
|
clientfield::register( "allplayers", "zmbLastStand", VERSION_SHIP, 1, "int" );
|
|
|
|
//clientfield::register( "toplayer", "zmbLastStand", VERSION_SHIP, 1, "int" );
|
|
|
|
|
|
|
|
clientfield::register( "clientuimodel", "zmhud.swordEnergy", VERSION_SHIP, 7, "float" ); // energy: 0 to 1
|
|
|
|
clientfield::register( "clientuimodel", "zmhud.swordState", VERSION_SHIP, 4, "int" ); // state: 0 = hidden, 1 = charging, 2 = ready, 3 = inuse, 4 = unavailable (grey), 5 = ele-charging, 6 = ele-ready, 7 = ele-inuse,
|
|
|
|
clientfield::register( "clientuimodel", "zmhud.swordChargeUpdate", VERSION_SHIP, 1, "counter" );
|
2024-05-28 13:48:08 -04:00
|
|
|
}
|