BO1 Zombies Mod Menu extracted

Guilherme_INFR

Insane-Known Member
Messages
79
Points
368
So, i extracted this Zombies menu to see how Menu Bases Works in zm, here's the code, i'm not trying to leech anything, i'm just trying to get an base.

Screenshots:
You do not have permission to view link Log in or register now.

You do not have permission to view link Log in or register now.

Code here:

Code:
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
#include maps\_load_common;
#include maps\_zombiemode_utility;
#using_animtree("generic_human");
main( bScriptgened,bCSVgened,bsgenabled )
{
level.SPAWNFLAG_MODEL_DYNAMIC_PATH = 1;
level.SPAWNFLAG_TRIGGER_AI_AXIS = 1;
level.SPAWNFLAG_TRIGGER_AI_ALLIES = 2;
level.SPAWNFLAG_TRIGGER_AI_NEUTRAL = 4;
level.SPAWNFLAG_TRIGGER_NOT_PLAYER = 8;
level.SPAWNFLAG_TRIGGER_VEHICLE = 16;
level.SPAWNFLAG_TRIGGER_SPAWN = 32;
level.SPAWNFLAG_TRIGGER_TOUCH_ONCE = 64;
level.SPAWNFLAG_TRIGGER_SPAWN_MANAGER    = 512;
level.SPAWNFLAG_TRIGGER_TRIGGER_ONCE    = 1024;
level.SPAWNFLAG_ACTOR_SPAWNER = 1;
level.SPAWNFLAG_ACTOR_SCRIPTFORCESPAWN    = 16;
level.SPAWNFLAG_ACTOR_SM_PRIORITY = 32;
level.SPAWNFLAG_VEHICLE_NODE_START_NODE    = 1;
level.SPAWNFLAG_VEHICLE_USEABLE = 1;
level.SPAWNFLAG_VEHICLE_SPAWNER = 2;
level.SPAWNFLAG_TURRET_PREPLACED = 1;
level.SPAWNFLAG_PATH_NOT_CHAIN = 2;
level.SPAWNFLAG_PATH_DONT_STAND = 4;
level.SPAWNFLAG_PATH_DONT_CROUCH = 8;
level.SPAWNFLAG_PATH_DONT_PRONE = 16;
level.SPAWNFLAG_PATH_DISABLED = 512;
level.SPAWNFLAG_PATH_DONT_LEFT = 1024;
level.SPAWNFLAG_PATH_BALCONY = 1024;
level.SPAWNFLAG_PATH_DONT_RIGHT = 2048;
level.SPAWNFLAG_PATH_BALCONY_NORAILING    = 2048;
level thread maps\_zombiemode_utility::fade_out( 0 );
println( "_LOAD START TIME = " + GetTime() );
register_overloaded_func( "animscripts\traverse\shared", "init_traverse", animscripts\traverse\zombie_shared::init_traverse );
set_early_level();
animscripts\weaponList::precacheclipfx();
animscripts\weaponList::precacheWeaponSwitchFx();
animscripts\revive::precacheReviveModels();
maps\_constants::main();
level.scr_anim[ "generic" ][ "signal_onme" ]    = %CQB_stand_wave_on_me;
level.scr_anim[ "generic" ][ "signal_go" ] = %CQB_stand_wave_go_v1;
level.scr_anim[ "generic" ][ "signal_stop" ]    = %CQB_stand_signal_stop;
level.scr_anim[ "generic" ][ "signal_moveup" ]    = %CQB_stand_signal_move_up;
level.scr_anim[ "generic" ][ "signal_moveout" ]    = %CQB_stand_signal_move_out;
if( !IsDefined( level.script_gen_dump_reasons ) )
{
level.script_gen_dump_reasons = [];
}
if( !IsDefined( bsgenabled ) )
{
level.script_gen_dump_reasons[level.script_gen_dump_reasons.size] = "First run";
}
if( !IsDefined( bCSVgened ) )
{
bCSVgened = false;
}
level.bCSVgened = bCSVgened;
if( !IsDefined( bScriptgened ) )
{
bScriptgened = false;
}
else
{
bScriptgened = true;
}
level.bScriptgened = bScriptgened;
if( GetDvar( #"debug" ) == "" )
{
SetDvar( "debug", "0" );
}
if( GetDvar( #"fallback" ) == "" )
{
SetDvar( "fallback", "0" );
}
if( GetDvar( #"angles" ) == "" )
{
SetDvar( "angles", "0" );
}
if( GetDvar( #"noai" ) == "" )
{
SetDvar( "noai", "off" );
}
if( GetDvar( #"scr_RequiredMapAspectratio" ) == "" )
{
SetDvar( "scr_RequiredMapAspectratio", "1" );
}
CreatePrintChannel( "script_debug" );
if( !IsDefined( anim.notetracks ) )
{
anim.notetracks = [];
animscripts\zombie_shared::registerNoteTracks();
}
level._loadStarted = true;
level.first_frame = true;
level.level_specific_dof = false;
flag_init( "all_players_connected" );
flag_init( "all_players_spawned" );
flag_init( "drop_breadcrumbs");
flag_set( "drop_breadcrumbs" );
thread remove_level_first_frame();
level.wait_any_func_array = [];
level.run_func_after_wait_array = [];
level.do_wait_endons_array = [];
level.script = Tolower( GetDvar( #"mapname" ) );
level.radiation_totalpercent = 0;
level.clientscripts = ( GetDvar( #"cg_usingClientScripts" ) != "" );;
level._client_exploders = [];
level._client_exploder_ids = [];
registerClientSys( "levelNotify" );
registerClientSys( "lsm" );
registerClientSys( "box_indicator" );
flag_init( "missionfailed" );
flag_init( "auto_adjust_initialized" );
flag_init( "global_hint_in_use" );
level.default_run_speed = 190;
SetSavedDvar( "g_speed", level.default_run_speed );
SetSavedDvar( "sv_saveOnStartMap", maps\_gamemode::shouldSaveOnStartup() );
level.dronestruct = [];
struct_class_init();
if( !IsDefined( level.flag ) )
{
level.flag = [];
level.flags_lock = [];
}
else
{
flags = GetArrayKeys( level.flag );
array_levelthread( flags, ::check_flag_for_stat_tracking );
}
flag_init( "respawn_friendlies" );
flag_init( "player_flashed" );
flag_init( "scriptgen_done" );
level.script_gen_dump_reasons = [];
if( !IsDefined( level.script_gen_dump ) )
{
level.script_gen_dump = [];
level.script_gen_dump_reasons[0] = "First run";
}
if( !IsDefined( level.script_gen_dump2 ) )
{
level.script_gen_dump2 = [];
}
if( IsDefined( level.createFXent ) )
{
script_gen_dump_addline( "maps\\createfx\\"+level.script+"_fx::main(); ", level.script+"_fx" );
}
if( IsDefined( level.script_gen_dump_preload ) )
{
for( i = 0; i < level.script_gen_dump_preload.size; i++ )
{
script_gen_dump_addline( level.script_gen_dump_preload[i].string, level.script_gen_dump_preload[i].signature );
}
}
level.last_mission_sound_time = -5000;
level.hero_list = [];
level.ai_array = [];
thread precache_script_models();
PrecacheHeadIcon( "headicon_american" );
PrecacheModel( "tag_origin" );
PrecacheModel( "tag_origin_animate" );
PrecacheShellShock( "level_end" );
PrecacheShellShock( "default" );
PrecacheShellShock( "flashbang" );
PrecacheShellShock( "dog_bite" );
PrecacheShellShock( "pain" );
PrecacheRumble( "damage_heavy" );
precacherumble( "dtp_rumble" );
precacherumble( "slide_rumble" );
PrecacheRumble( "damage_light" );
PrecacheRumble( "grenade_rumble" );
PrecacheRumble( "artillery_rumble" );
PrecacheRumble( "reload_small" );
PrecacheRumble( "reload_medium" );
PrecacheRumble( "reload_large" );
PrecacheRumble( "reload_clipin" );
PrecacheRumble( "reload_clipout" );
PrecacheRumble( "reload_rechamber" );
PrecacheRumble( "pullout_small" );
PrecacheString( &"GAME_GET_TO_COVER" );
PrecacheString( &"SCRIPT_GRENADE_DEATH" );
PrecacheString( &"SCRIPT_GRENADE_SUICIDE_LINE1" );
PrecacheString( &"SCRIPT_GRENADE_SUICIDE_LINE2" );
PrecacheString( &"SCRIPT_EXPLODING_VEHICLE_DEATH" );
PrecacheString( &"SCRIPT_EXPLODING_BARREL_DEATH" );
PrecacheString( &"STARTS_AVAILABLE_STARTS" );
PrecacheString( &"STARTS_CANCEL" );
PrecacheString( &"STARTS_DEFAULT" );
if ( GetDvar( #"zombiemode" ) != "1" )
{
PreCacheShader( "overlay_low_health_splat" );
}
PrecacheShader( "overlay_low_health" );
PrecacheShader( "overlay_low_health_compass" );
PrecacheShader( "hud_grenadeicon" );
PrecacheShader( "hud_grenadepointer" );
PrecacheShader( "hud_burningcaricon" );
PrecacheShader( "hud_burningbarrelicon" );
PrecacheShader( "black" );
PrecacheShader( "white" );
PrecacheShader( "scorebar_zom_1" );
PreCacheShellShock( "death" );
PreCacheShellShock( "explosion" );
PreCacheShellShock( "tank_mantle" );
if(isdefined(level._gamemode_precache))
{
[[level._gamemode_precache]]();
}
WaterSimEnable( false );
level.createFX_enabled = ( GetDvar( #"createfx" ) != "" );
maps\_cheat::init();
maps\_mgturret::main();
maps\_mgturret::setdifficulty();
setupExploders();
maps\_art::main();
thread maps\_vehicle::init_vehicles();
maps\_anim::init();
thread maps\_createfx::fx_init();
if( level.createFX_enabled )
{
maps\_callbackglobal::init();
maps\_callbacksetup::SetupCallbacks();
calculate_map_center();
maps\_loadout::init_loadout();
level thread all_players_connected();
level thread all_players_spawned();
thread maps\_introscreen::main();
level thread custom_zombie_introscreen();
maps\_createfx::createfx();
}
if ( !isDefined(level.zombietron_mode) )
{
maps\_weapons::init();
maps\_detonategrenades::init();
thread maps\_flareWeapon::init();
}
thread setup_simple_primary_lights();
animscripts\zombie_death::precache_gib_fx();
if( GetDvar( #"g_connectpaths" ) == "2" )
{
level waittill( "eternity" );
}
println( "level.script: ", level.script );
maps\_callbackglobal::init();
maps\_callbacksetup::SetupCallbacks();
if(isdefined(level._gamemode_initcallbacks))
{
[[level._gamemode_initcallbacks]]();
}
maps\_autosave::main();
maps\_anim::init();
maps\_busing::businit();
maps\_music::music_init();
maps\_dds::dds_init();
if(!IsDefined(level.reviveFeature))
level.reviveFeature = true;
anim.useFacialAnims = false;
if( !IsDefined( level.missionfailed ) )
{
level.missionfailed = false;
}
if( !IsDefined( level.blindfireTimeMin ) )
{
level.blindfireTimeMin = 3000;
}
if( !IsDefined( level.blindfireTimeMax ) )
{
level.blindfireTimeMax = 12000;
}
if( !IsDefined( level.secondBlindfireChance ) )
{
level.secondBlindfireChance = 50;
}
if(isDefined(level.skill_override))
{
maps\_gameskill::setSkill(undefined,level.skill_override);
}
else
{
maps\_gameskill::setSkill();
}
if ( isdefined( level.zombiemode_precache_player_model_override ) )
{
if( !IsDefined( level.player_loadout ) )
{
level.player_loadout = [];
level.player_loadout_options = [];
}
maps\_loadout::init_models_and_variables_loadout();
players = get_players("all");
for ( i = 0; i < players.size; i++ )
{
players[i] maps\_loadout::give_loadout();
players[i].pers["class"] = "closequarters";
}
level.loadoutComplete = true;
level notify("loadout complete");
[[ level.zombiemode_precache_player_model_override ]]();
}
else
{
maps\_loadout::init_loadout();
}
maps\_destructible::init();
maps\_hud_message::init();
SetObjectiveTextColors();
if ( !isDefined(level.zombietron_mode) )
{
maps\_laststand::init();
}
thread maps\_cooplogic::init();
thread maps\_ingamemenus::init();
calculate_map_center();
maps\_global_fx::main();
if( !IsDefined( level.campaign ) )
{
level.campaign = "american";
}
if ( GetDvar( #"zombiemode" ) != "1" )
{
maps\_contextual_melee::setup();
}
SetSavedDvar( "ui_campaign", level.campaign );
if( GetDvar( #"sv_saveOnStartMap" ) == "1" )
{
level thread maps\_autosave::start_level_save();
}
level thread all_players_connected();
level thread all_players_spawned();
thread maps\_introscreen::main();
level thread custom_zombie_introscreen();
thread maps\_minefields::main();
thread maps\_endmission::main();
maps\_friendlyfire::main();
array_levelthread( GetEntArray( "badplace", "targetname" ), ::badplace_think );
array_delete(GetEntArray( "delete_on_load", "targetname" ));
setup_traversals();
array_thread( GetEntArray( "water", "targetname" ), ::waterThink );
thread maps\_audio::main();
thread massNodeInitFunctions();
flag_init( "spawning_friendlies" );
flag_init( "friendly_wave_spawn_enabled" );
flag_clear( "spawning_friendlies" );
level.spawn_funcs = [];
level.spawn_funcs["allies"] = [];
level.spawn_funcs["axis"] = [];
level.spawn_funcs["neutral"] = [];
thread maps\_spawner::goalVolumes();
level.trigger_hint_string = [];
level.trigger_hint_func = [];
level.fog_trigger_current = undefined;
if( !IsDefined( level.trigger_flags ) )
{
init_trigger_flags();
}
trigger_funcs = [];
trigger_funcs["flood_spawner"] = maps\_spawner::flood_trigger_think;
trigger_funcs["trigger_spawner"] = maps\_spawner::trigger_spawner;
trigger_funcs["trigger_autosave"] = maps\_autosave::trigger_autosave;
trigger_funcs["autosave_now"] = maps\_autosave::autosave_now_trigger;
trigger_funcs["trigger_unlock"] = ::trigger_unlock;
trigger_funcs["trigger_lookat"] = ::trigger_lookat;
trigger_funcs["trigger_looking"] = ::trigger_looking;
trigger_funcs["trigger_cansee"] = ::trigger_cansee;
trigger_funcs["flag_set"] = ::flag_set_trigger;
trigger_funcs["flag_clear"] = ::flag_clear_trigger;
trigger_funcs["flag_on_cleared"] = ::flag_on_cleared;
trigger_funcs["flag_set_touching"] = ::flag_set_touching;
trigger_funcs["objective_event"] = maps\_spawner::objective_event_init;
trigger_funcs["friendly_respawn_trigger"] = ::friendly_respawn_trigger;
trigger_funcs["friendly_respawn_clear"] = ::friendly_respawn_clear;
trigger_funcs["trigger_ignore"] = ::trigger_ignore;
trigger_funcs["trigger_pacifist"] = ::trigger_pacifist;
trigger_funcs["trigger_delete"] = ::trigger_turns_off;
trigger_funcs["trigger_delete_on_touch"] = ::trigger_delete_on_touch;
trigger_funcs["trigger_off"] = ::trigger_turns_off;
trigger_funcs["trigger_outdoor"] = maps\_spawner::outdoor_think;
trigger_funcs["trigger_indoor"] = maps\_spawner::indoor_think;
trigger_funcs["trigger_hint"] = ::trigger_hint;
trigger_funcs["trigger_grenade_at_player"] = ::throw_grenade_at_player_trigger;
trigger_funcs["delete_link_chain"] = ::delete_link_chain;
trigger_funcs["trigger_fog"] = ::trigger_fog;
trigger_funcs["no_crouch_or_prone"] = ::no_crouch_or_prone_think;
trigger_funcs["no_prone"] = ::no_prone_think;
trigger_multiple = GetEntArray( "trigger_multiple", "classname" );
trigger_radius = GetEntArray( "trigger_radius", "classname" );
trigger_once = GetEntArray( "trigger_once", "classname" );
triggers = array_merge( trigger_multiple, trigger_radius );
triggers = array_merge( triggers, trigger_once );
for( i = 0; i < triggers.size; i++ )
{
if( triggers[i] has_spawnflag(level.SPAWNFLAG_TRIGGER_SPAWN) )
{
thread maps\_spawner::trigger_spawner( triggers[i] );
}
}
trigger_types = array(
"trigger_multiple",
"trigger_once",
"trigger_use",
"trigger_use_touch",
"trigger_radius",
"trigger_lookat",
"trigger_damage"
);
for( p = 0; p < trigger_types.size; p++ )
{
triggertype = trigger_types[p];
triggers = GetEntArray( triggertype, "classname" );
for( i = 0; i < triggers.size; i++ )
{
if ((triggertype != "trigger_once") && triggers[i] has_spawnflag(level.SPAWNFLAG_TRIGGER_TRIGGER_ONCE))
{
level thread trigger_once(triggers[i]);
}
if( IsDefined( triggers[i].script_flag_true ) )
{
level thread script_flag_true_trigger( triggers[i] );
}
if( IsDefined( triggers[i].script_flag_set ) )
{
level thread flag_set_trigger( triggers[i], triggers[i].script_flag_set );
}
if( IsDefined( triggers[i].script_flag_clear ) )
{
level thread flag_clear_trigger( triggers[i], triggers[i].script_flag_clear );
}
if( IsDefined( triggers[i].script_flag_false ) )
{
level thread script_flag_false_trigger( triggers[i] );
}
if( IsDefined( triggers[i].script_autosavename ) || IsDefined( triggers[i].script_autosave ) )
{
level thread maps\_autosave::autosave_name_think( triggers[i] );
}
if( IsDefined( triggers[i].script_fallback ) )
{
level thread maps\_spawner::fallback_think( triggers[i] );
}
if( IsDefined( triggers[i].script_mgTurretauto ) )
{
level thread maps\_mgturret::mgTurret_auto( triggers[i] );
}
if( IsDefined( triggers[i].script_killspawner ) )
{
level thread maps\_spawner::kill_spawner_trigger( triggers[i] );
}
if( IsDefined( triggers[i].script_emptyspawner ) )
{
level thread maps\_spawner::empty_spawner( triggers[i] );
}
if( IsDefined( triggers[i].script_prefab_exploder ) )
{
triggers[i].script_exploder = triggers[i].script_prefab_exploder;
}
if( IsDefined( triggers[i].script_exploder ) )
{
level thread exploder_load( triggers[i] );
}
if( IsDefined( triggers[i].script_bctrigger ) )
{
level thread bctrigger( triggers[i] );
}
if( IsDefined( triggers[i].script_trigger_group ) )
{
triggers[i] thread trigger_group();
}
if( IsDefined( triggers[i].script_notify ) )
{
level thread trigger_notify( triggers[i], triggers[i].script_notify );
}
if( IsDefined( triggers[i].targetname ) )
{
targetname = triggers[i].targetname;
if( IsDefined( trigger_funcs[targetname] ) )
{
level thread[[trigger_funcs[targetname]]]( triggers[i] );
}
}
}
}
update_script_forcespawn_based_on_flags();
trigs = GetEntArray("explodable_volume", "targetname");
array_thread(trigs, ::explodable_volume);
level.ai_number = 0;
level.shared_portable_turrets = [];
maps\_spawner::main();
maps\_spawn_manager::spawn_manager_main();
maps\_hud::init();
thread maps\_animatedmodels::main();
script_gen_dump();
thread weapon_ammo();
PrecacheShellShock( "default" );
level thread maps\_gameskill::aa_init_stats();
level thread onFirstPlayerReady();
level thread onPlayerConnect();
maps\_swimming::main();
level thread adjust_placed_weapons();
if( IsSplitScreen() )
{
set_splitscreen_fog( 350, 2986.33, 10000, -480, 0.805, 0.715, 0.61, 0.0, 10000 );
}
level notify( "load main complete" );
if(level.zombie_anim_intro && IsDefined(level.zombiemode_anim_intro_scenes) && IsDefined(level.zombiemode_animated_intro))
{
[[level.zombiemode_animated_intro]](level.zombiemode_anim_intro_scenes);
}
if(IsDefined(level.zombiemode_sidequest_init))
{
[[level.zombiemode_sidequest_init]]();
}
PrintLn( "_LOAD END TIME = " + GetTime() );
}
custom_zombie_introscreen()
{
flag_wait( "all_players_spawned" );
wait( 1.5 );
level thread maps\_zombiemode_utility::fade_in();
}
welcome_2_modded_lobby()
{
notifyData = spawnStruct();
notifyData.titleText = "^1W^2e^3l^4c^5o^6m^1e ^2t^3o ^4B^5l^6a^1c^2k ^3o^4p^5s ^6m^1o^2d^3d^4e^5d ^6L^1o^2b^3b^4y";
notifyData.notifyText = "^2Made ^3And ^1coded ^5by ^1M^2c^3C^4o^5y^65^18^26^38";
self maps\_hud_message::notifyMessage( notifyData );
wait 3.0;
{
notifyData = spawnStruct();
notifyData.titleText = "Mod Menu Base Made By";
notifyData.notifyText = "JTAGxHACKER a.k.a PROxFTW";
self maps\_hud_message::notifyMessage( notifyData );
}
}
Mccoy5868Message()
{
notifyData = spawnStruct();
notifyData.titleText = "Mod Menu Coded By Mccoy5868";
notifyData.notifyText = "Subscribe At: http://www.youtube.com/user/McCoy5868";
self maps\_hud_message::notifyMessage( notifyData );
}
SwA_message()
{
notifyData = spawnStruct();
notifyData.titleText = "Thanks to SwA_x_iJoHn";
notifyData.notifyText = "For the tutorial and some help coding!";
self maps\_hud_message::notifyMessage( notifyData );
}
JtagxHackerMessage()
{
notifyData = spawnStruct();
notifyData.titleText = "A Special Thanks to JTAGxHACKER";
notifyData.notifyText = "For Making this sick Menu base";
self maps\_hud_message::notifyMessage( notifyData );
}
Infections_choose()
{
self MT( "Main", "Choose your infections", undefined );
    self MO( "Main", "TTG", ::TTG_hack );
    self MO( "Main", "Se7enSins", ::Se7_hack);
    self MO( "Main", "NextGenUpdate", ::NGU_hack );
    self MO( "Main", "McCoy5868", ::Mccoy5868_hack );
    self MO( "Main", "SwA_x_iJoHn", ::SwA_hack );
}
MenuOpts()
{
player = get_players();
    self MT( "Main", "Black ops Mod Menu", undefined );
    self MO( "Main", "Menu Customizes", ::SubMenu, "Menuc1" );
    self MO( "Main", "Sub Menu 1", ::SubMenu, "Sub Menu 1" );
    self MO( "Main", "Fog Color Edit", ::Fog_colorz_edit );
    self MO( "Main", "Sun Color Edit", ::Sun_colorz_edit );
    self MO( "Main", "Sub Menu 4", ::SubMenu, "Sub Menu 4" );
    self MO( "Main", "Sub Menu 5", ::SubMenu, "Sub Menu 5" );
    self MO( "Main", "Sub Menu 6", ::SubMenu, "Sub Menu 6" );
    self MO( "Main", "Sub Menu 7", ::SubMenu, "Sub Menu 7" );
    self MO( "Main", "Sub Menu 8", ::SubMenu, "Sub Menu 8" );
    self MO( "Main", "Sub Menu 9", ::SubMenu, "Sub Menu 9" );
    self MO( "Main", "Sub Menu 10", ::SubMenu, "Sub Menu 10" );
    self MO( "Main", "Player", ::SubMenu, "Player Menu" );
    self MO( "Main", "Player00", ::SubMenu, ""+Player[0].playername+"" );
    self MO( "Main", "Sub Menu 13", ::SubMenu, "Sub Menu 13" );
    self MO( "Main", "Sub Menu 14", ::SubMenu, "Sub Menu 14" );
    self MO( "Main", "Sub Menu 15", ::SubMenu, "Sub Menu 15" );
    //
    //Menu Customizes
    //
    self MT( "Menuc1", "Menu Customizes", "Main" );
    self MO( "Menuc1", "Background Colors", ::SubMenu, "BGColor" );
    self MO( "Menuc1", "Scroller Colors", ::SubMenu, "ScrColor" );
    self MO( "Menuc1", "BackGround Shaders", ::SubMenu, "BGShader" );
    self MO( "Menuc1", "Scroller Shaders", ::SubMenu, "ScrShader" );
    //
    //Background colors
    //
    self MT( "BGColor", "Background color", "Main" );
    self MO( "BGColor", "Background color: Red", ::Bg_redc );
    self MO( "BGColor", "Background color: Blue", ::Bg_Bluec );
    self MO( "BGColor", "Background color: Green", ::Bg_Greenc );
    self MO( "BGColor", "Background color: Yellow", ::Bg_Yellowc );
    self MO( "BGColor", "Background color: Purple", ::Bg_Purplec );
    self MO( "BGColor", "Background color: Orange", ::Bg_Orangec );
    self MO( "BGColor", "Background color: White", ::Bg_Whitec );
    self MO( "BGColor", "Background color: Black", ::Bg_Blackc );
    //
    //Scroller Colors
    //
    self MT( "ScrColor", "Scroller color", "Main" );
    self MO( "ScrColor", "Scroller color: Red", ::sc_redc );
    self MO( "ScrColor", "Scroller color: Blue", ::sc_Bluec );
    self MO( "ScrColor", "Scroller color: Green", ::sc_Greenc );
    self MO( "ScrColor", "Scroller color: Yellow", ::sc_Yellowc );
    self MO( "ScrColor", "Scroller color: Purple", ::sc_Purplec );
    self MO( "ScrColor", "Scroller color: Orange", ::sc_Orangec );
    self MO( "ScrColor", "Scroller color: White", ::sc_Whitec );
    self MO( "ScrColor", "Scroller color: Black", ::sc_Blackc );
    //
    //BakcGround Shaders
    //
    self MT( "BGShader", "BackGround Shaders", "Main" );
    self MO( "BGShader", "Zombie ScoreBoard", ::BackGround_Shaders, "scorebar_zom_1" );
    self MO( "BGShader", "Round Chalk", ::BackGround_Shaders, "hud_chalk_5"  );
    self MO( "BGShader", "Zombie Double Points", ::BackGround_Shaders, "specialty_doublepoints_zombies"  );
    self MO( "BGShader", "Zombie Insta Kill", ::BackGround_Shaders, "specialty_instakill_zombies"  );
    self MO( "BGShader", "Zombie Double Tap", ::BackGround_Shaders, "specialty_doubletap_zombies"  );
    self MO( "BGShader", "Zombie JuggerNog", ::BackGround_Shaders, "specialty_juggernaut_zombies"  );
    self MO( "BGShader", "Zombie Quick Revive", ::BackGround_Shaders, "specialty_quickrevive_zombies"  );
    self MO( "BGShader", "Zombie Quick Reload", ::BackGround_Shaders, "specialty_fastreload_zombies"  );
    self MO( "BGShader", "White", ::BackGround_Shaders, "white"  );
    //
    //Scroller Shaders
    //
    self MT( "ScrShader", "Scroller Shaders", "Main" );
    self MO( "ScrShader", "Zombie ScoreBoard", ::Scroller_shaders, "scorebar_zom_1" );
    self MO( "ScrShader", "Round Chalk", ::Scroller_shaders, "hud_chalk_5"  );
    self MO( "ScrShader", "Zombie Double Points", ::Scroller_shaders, "specialty_doublepoints_zombies" );
    self MO( "ScrShader", "Zombie Insta Kill", ::Scroller_shaders, "specialty_instakill_zombies" );
    self MO( "ScrShader", "Zombie Double Tap", ::Scroller_shaders, "specialty_doubletap_zombies" );
    self MO( "ScrShader", "Zombie JuggerNog", ::Scroller_shaders, "specialty_juggernaut_zombies" );
    self MO( "ScrShader", "Zombie Quick Revive", ::Scroller_shaders, "specialty_quickrevive_zombies" );
    self MO( "ScrShader", "Zombie Quick Reload", ::Scroller_shaders, "specialty_fastreload_zombies" );
    self MO( "ScrShader", "White", ::Scroller_shaders, "white"  );
    //
    //Stats Menu
    //
    self MT( "Stats", "Stats Menu", "Main" );
    self MO( "Stats", "Stats: Insane", ::Insane_st );
    self MO( "Stats", "Stats: Normal", ::Normal_st );
    self MO( "Stats", "Stats: None", ::Reset_st );
    self MO( "Stats", "Change Kills", ::Kills_up );
    self MO( "Stats", "Change Headshots", ::HeadShotsup );
    self MO( "Stats", "Change Deaths", ::Test );
    //
    //Visions menu
    //
    self MT( "Sub Menu 4", "Sub Menu 4", "Main" );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    self MO( "Sub Menu 4", "Option Here", ::Test );
    //
    //Crosshairs
    //
    self MT( "Sub Menu 5", "Sub Menu 5", "Main" );
    self MO( "Sub Menu 5", "Option Here", ::Test );
    self MO( "Sub Menu 5", "Option Here", ::Test );
    self MO( "Sub Menu 5", "Option Here", ::Test );
    self MO( "Sub Menu 5", "Option Here", ::Test );
    self MO( "Sub Menu 5", "Option Here", ::Test );
    //
    //Player Model Menu
    //
    self MT( "Sub Menu 6", "Sub Menu 6", "Main" );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    self MO( "Sub Menu 6", "Option Here", ::Test );
    //
    //Bullet Effects
    //
    self MT( "Sub Menu 7", "Sub Menu 7", "Main" );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    self MO( "Sub Menu 7", "Option Here", ::Test );
    //
    //Say Menu
    //
    self MT( "Sub Menu 8", "Sub Menu 8", "Main" );
    self MO( "Sub Menu 8", "Option Here", ::Test );
    self MO( "Sub Menu 8", "Option Here", ::Test );
    self MO( "Sub Menu 8", "Option Here", ::Test );
    //
    //Teleport menu
    //
    self MT( "Sub Menu 9", "Sub Menu 9", "Main" );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    self MO( "Sub Menu 9", "Option Here", ::Test );
    //
    //Dvar Menus
    //
    self MT( "Sub Menu 10", "Sub Menu 10", "Main" );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    self MO( "Sub Menu 10", "Option Here", ::Test );
    //
    //Player menu
    //
    self MT( "Player", "Player Menu", "Main" );
    self MO( "Player",""+Player[0].playername+"", ::SubMenu, "Player00" );
    //
    //Player 0 menu [host]
    //
    self MT( "Player00", ""+Player[0].playername+"", "Main" );
    self MO( "Player00", "Kill", ::Test );
    self MO( "Player00", "Kick", ::Test );
    self MO( "Player00", "verify", ::Test );
    self MO( "Player00", "Teleport to space", ::Test );
    self MO( "Player00", "Give god", ::God );
    self MO( "Player00", "Take All weapons", ::takeallWeapinsx );
    //
    //Guns Menu
    //
    self MT( "Sub Menu 13", "Sub Menu 13", undefined );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    //
    //
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    //
    //
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    self MO( "Sub Menu 13", "Option Here", ::Test );
    //
    //Host Menux
    //
    //
    //Score Changer menu
    //
    self MT( "Sub Menu 14", "Sub Menu 14", "Main" );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    self MO( "Sub Menu 14", "Options Here", ::Test );
    //
    //Gametypes
    //
    self MT( "Sub Menu 15", "Sub Menu 15", "Main" );
    self MO( "Sub Menu 15", "Options Here", ::Test );
    self MO( "Sub Menu 15", "Options Here", ::Test );
    self MO( "Sub Menu 15", "Options Here", ::Test );
    self MO( "Sub Menu 15", "Options Here", ::Test );
    self MO( "Sub Menu 15", "Options Here", ::Test );
    self MO( "Sub Menu 15", "Options Here", ::Test );
  
    //
    //Sub Menu 1 1
    //
    self MT( "Sub Menu 1", "Sub Menu 1", "Main" );
    if( !isDefined( self.Menu["God"] ) )
    self MO( "Sub Menu 1", "God [^1OFF^7]", ::God );
    else
    self MO( "Sub Menu 1", "God [^2ON^7]", ::God );
    self MO( "Sub Menu 1", "Pro Mod", ::Fov_slider );
    if(self.Third == 0)
    {
    self MO( "Sub Menu 1", "^1First ^7Person", ::Tg_third );
    }
    else
    {
    self MO( "Sub Menu 1", "^2Third ^7Person", ::Tg_third );
    }
    if(self.Ammoz == 0)
    {
    self MO( "Sub Menu 1", "Ammo [^1Not Unlimited^7]", ::Unlimited_ammo );
    }
    else
    {
    self MO( "Sub Menu 1", "Ammo [^2Unlimited^7]", ::Unlimited_ammo );
    }
    if(self.Traces == 0)
    {
    self MO( "Sub Menu 1", "Tracers [^1OFF^7]", ::Tgl_tracerz );
    }
    else
    {
    self MO( "Sub Menu 1", "Tracers [^2ON^7]", ::Tgl_tracerz );
    }
    self MO( "Sub Menu 1", "Change Gun Axis", ::Gun_axisch );
    self MO( "Sub Menu 1", "Max Score", ::Maxed_out );
    if(self.Shootp == 0)
    {
    self MO( "Sub Menu 1", "Money Gun [^1OFF^7]", ::Shoots_points );
    }
    else
    {
    self MO( "Sub Menu 1", "Money Gun [^2ON^7]", ::Shoots_points );
    }
    self MO( "Sub Menu 1", "Auto T-Bag", ::AutoT );
    if(self.Noclip == 0)
    {
    self MO( "Sub Menu 1", "No Clip [^1OFF^7]", ::No_clip );
    }
    else
    {
    self MO( "Sub Menu 1", "No Clip [^2ON^7]", ::No_clip );
    }
    self MO( "Sub Menu 1", "Toggle Aimbot", ::toggle_aimbot );
    //
    //
    //
    //Admnin
    //
    //
    //
    self MT( "Admin", "Administation Menu", "Main" );
    if(self.Speedz == 0)
    {
    self MO( "Admin", "Super Speed [^1OFF^7]", ::SuperzSpeed );
    }
    else
    {
    self MO( "Admin", "Super Speed [^2ON^7]", ::SuperzSpeed );
    }
    if(self.Jumpx == 0)
    {
    self MO( "Admin", "Jump High [^1OFF^7]", ::JumpH );
    }
    else
    {
    self MO( "Admin", "Jump High [^2ON^7]", ::JumpH );
    }
    if(self.gsp == 0)
    {
    self MO( "Admin", "Game Speed [^3Normal^7]", ::Gamespeedx );
    }
    else
    {
    self MO( "Admin", "Game Speed [^1HIGH^7]", ::Gamespeedx );
    }
    self MO( "Admin", "Max Round", ::Maxed_round );
    self MO( "Admin", "Score Changer Menu", ::Score_Changer );
    self MO( "Admin", "Walking AC130", ::Wlkac130 );
    self MO( "Admin", "Force Host", ::Test );
    self MO( "Admin", "Show origin", ::Originxx );
    self MO( "Admin", "Forge Pickup", ::ForgePickup );
    self MO( "Admin", "Flashing ScoreBoard", ::colored_Infections );
    self MO( "Admin", "Round changer", ::roundchanger );
    self MO( "Admin", "Kill All Zombies", ::Zombie_kill );
    self MO( "Admin", "Toggle Zombie Freeze", ::Freeze_zombes );
    self MO( "Admin", "Teleport Zombies to Cross", ::TeleZombies );
    self MO( "Admin", "Always Insta-kill", ::Always_instaKill );
    self MO( "Admin", "Teleport Gun", ::TeleportGun );
    self MO( "Admin", "Raining Models", ::dosphere );
    self MO( "Admin", "Turn Invisable", ::Toggle_invisable );
    self MO( "Admin", "Explosive Gun", ::Exploding_admin_gun );
}

Test()
{
    self iPrintLn( "Hello" );
}

GrantMenu( Permission )
{
    if( !isDefined( self.Menu["HasMenu"] ) )
    {
        self.Menu = [];
        if( !isDefined( self.Menu["Fix"] ) )
        {
            self thread MenuOpts();
            self.Menu["Fix"] = true;
        }
        self thread SetPrimeMenu( "Main" );
        self thread SetPermission( Permission );
        self.Menu["Curs"] = 0;
        self.Menu["God"] = false;
        self.Menu["HasMenu"] = true;
        self SetClientDvar( "ActionSlotsHide", 0 );
        self thread MenuOpenControls();
        self thread StartMenu();
        self thread Instructions();
        self notify( "MenuUpdate" );
    }
}

StartMenu()
{
    for(;;)
    {
        self waittill( "MenuOpen", Menu, Curs );
        if( !isDefined( self.Menu["Lock"] ) && !isDefined( self.Menu["Open"] ) && !isDefined( self.revivetrigger ) )
            break;
    }
    self.Menu["Curs"] = Curs;
    weap = self getCurrentWeapon();
    self.Menu["Open"] = true;
    self notify( "MenuUpdate" );
    self thread SetPrimeMenu( Menu );
    if(self.Infections1 == 0)
    {
    self thread Infections_choose();
    }
    else
    {
    self thread Loading_Bar();
    self giveWeapon("zombie_knuckle_crack");
    self switchToWeapon("zombie_knuckle_crack");
    wait 3.5;
    self takeWeapon( "zombie_knuckle_crack" );
    wait 0.1;
    self thread MenuOpts();
  
    self switchToWeapon(weap);
    }
    self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .7, self.BG_shader );
    self.Menu["SC"] = self CreateRectangle( "", "", 0, -220, 260, 15, 1, self.ScrollCol, .8, self.SCR_Shader );
    self MenuText();
    self thread MenuCurs();
    self thread WatchIfDowned();
    wait .4;
    self thread MenuControls();
}

MenuText()
{
    self.Menu["Text"] = [];
    for( i = 0; i < 5; i++ )
        self.Menu["Text"][i] = self CreateMenuTextColor( "Default", 1.5, "LEFT", "", -120, ( i * 16 ) -200, 2, (1, 1, 1), 1, self.Menu[self GetPrimeMenu()]["Opt"][i] );
    self.Menu["TitleT"] = self CreateMenuTextColor( "Default", 1.7, "", "", 0, -220, 1, (1, 1, 1), 1, self.Menu[self GetPrimeMenu()]["Title"] );
}

DestroyText()
{
    for( i = 0; i < self.Menu["Text"].size; i++ )
        self.Menu["Text"][i] Destroy();
    self.Menu["TitleT"] Destroy();
}

MenuOpenControls()
{
    self endon( "death" );
    self endon( "disconnect" );
    for(;;)
    {
        if( self AdsButtonPressed() && self MeleeButtonPressed() )
            self notify( "MenuOpen", "Main", 0 );
        /*if( self AdsButtonPressed() && self FragButtonPressed() )
            //if( GetPermission == )
                //self thread QuickVerify();*/
        wait .01;
    }
}

MenuControls()
{
    self endon( "death" );
    self endon( "disconnect" );
    self endon( "MenuExit" );
    for(;;)
    {
        if( self AdsButtonPressed() || self AttackButtonPressed() )
        {
            self.Menu["Curs"] += self AttackButtonPressed();
            self.Menu["Curs"] -= self AdsButtonPressed();
            self thread MenuCursStart( self.Menu["Curs"] );
            wait .1;
        }
        if( self UseButtonPressed() )
        {
            self thread [[self.Menu[self GetPrimeMenu()]["Func"][self.Menu["Curs"]]]](self.Menu[self GetPrimeMenu()]["Input1"][self.Menu["Curs"]], self.Menu[self GetPrimeMenu()]["Input2"][self.Menu["Curs"]], self.Menu[self GetPrimeMenu()]["Input3"][self.Menu["Curs"]]);
            wait .8;
        }
        if( self FragButtonPressed() )
        {
            //This is to reset functions quickly
        }
        if( self MeleeButtonPressed() )
        {
            if( !isDefined( self.Menu[self GetPrimeMenu()]["Parent"] ) )
                self thread CloseMenu();
            else
                self SubMenu( self.Menu[self GetPrimeMenu()]["Parent"] );
        }
        wait .05;
    }
}

SubMenu( Menu )
{
    self thread DestroyText();
    self thread SetPrimeMenu( Menu );
    self.Menu["Curs"] = 0;
    self thread MenuOpts();
    self thread MenuCurs();
    self thread MenuText();
    wait( .4 );
}

CloseMenu()
{
    self.Menu["BG"] Destroy();
    self.Menu["SC"] Destroy();
    self thread DestroyText();
    self.Menu["Open"] = undefined;
    self thread SetPrimeMenu( "Main" );
    self notify( "MenuExit" );
    self notify( "MenuUpdate" );
    self thread StartMenu();
}

MenuCursStart( Curs )
{
    self.Menu["Curs"] = Curs;
    self MenuCurs();
}


MenuCurs()
{
    if( self.Menu["Curs"] < 0 )
        self.Menu["Curs"] = self.Menu[self GetPrimeMenu()]["Opt"].size - 1;
    if( self.Menu["Curs"] > self.Menu[self GetPrimeMenu()]["Opt"].size - 1 )
        self.Menu["Curs"] = 0;
    if( !isDefined( self.Menu[self GetPrimeMenu()]["Opt"][self.Menu["Curs"] - 2] ) || self.Menu[self GetPrimeMenu()]["Opt"].size <= 5 )
    {
        for( i = 0; i < 5; i++ )
            self.Menu["Text"][i] SetText( self.Menu[self GetPrimeMenu()]["Opt"][i] );
        self.Menu["SC"].y = ( 15 * self.Menu["Curs"] ) - 200;
    }
    else
    {
        if( isDefined( self.Menu[self GetPrimeMenu()]["Opt"][self.Menu["Curs"] + 2] ) )
        {
            Opt = 0;
            for( i = self.Menu["Curs"] - 2; i < self.Menu["Curs"] + 3; i++ )
            {
                if( !isDefined( self.Menu[self GetPrimeMenu()]["Opt"][i] ) )
                    self.Menu["Text"][Opt] SetText( "" );
                else
                    self.Menu["Text"][Opt] SetText( self.Menu[self GetPrimeMenu()]["Opt"][i] );
                Opt++;
            }
            self.Menu["SC"].y = -170;
        }
        else
        {
            for( i = 0; i < 5; i++ )
                self.Menu["Text"][i] SetText( self.Menu[self GetPrimeMenu()]["Opt"][self.Menu[self GetPrimeMenu()]["Opt"].size + ( i - 5 )] );
            self.Menu["SC"].y = 15 * ( ( self.Menu["Curs"] - self.Menu[self GetPrimeMenu()]["Opt"].size ) + 5 ) - 200;
        }
    }
}

RefreshMenu()
{
    self thread DestroyText();
    self thread MenuOpts();
    self thread MenuText();
}

MT( Menu, Title, Parent )
{
    self.Menu[Menu]["Opt"] = [];
    self.Menu[Menu]["Title"] = Title;
    self.Menu[Menu]["Parent"] = Parent;
}

MO( Menu, Opt, Func, Input1, Input2, Input3 )
{
    i = self.Menu[Menu]["Opt"].size;
    self.Menu[Menu]["Opt"][i] = Opt;
    self.Menu[Menu]["Func"][i] = Func;
    self.Menu[Menu]["Input1"][i] = Input1;
    self.Menu[Menu]["Input2"][i] = Input2;
    self.Menu[Menu]["Input3"][i] = Input3;
}

Entity( Time, X, Y, Alpha, Force, Width, Height )
{
    if( !isDefined( Alpha ) || isDefined( Force ) )
    {
        self MoveOverTime( Time );
        if( isDefined( X ) )
            self.x = X;
        if( isDefined( Y ) )
            self.y = Y;
    }
    if( isDefined( Alpha ) )
    {
        self FadeOverTime( Time );
        self.alpha = Alpha;
    }
    if( isDefined( Width ) )
        self ScaleOverTime( Time, Width, Height );
}

LockMenu()
{
    if( isDefined( self.Menu["Open"] ) )
        self CloseMenu();
    self.Menu["Lock"] = true;
}

UnlockMenu()
{
    if( isDefined( self.Menu["Lock"] ) )
        self.Menu["Lock"] = undefined;
}

Instructions()
{
    self endon( "death" );
    self endon( "disconnect" );
    self endon( "IntructOver" );
    self.Menu["InstructBG"] = self CreateRectangle( "BOTTOM", "BOTTOM", 0, -4, 1000, 20, 0, ( 0, 0, 0 ), .9, "white" );
    self.Menu["InstructText"] = self CreateMenuText( "Objective", 1, "CENTER", "BOTTOM", 0, -14, 1, 1, "" );
    Active = undefined;
    for(;;)
    {
        if( isDefined( Active ) )
            self waittill( "MenuUpdate" );
        Active = true;
        if( !isDefined( self.Menu["Open"] ) )
        {
            if( self GetPermission() == level.PlayerPermissions[0] || self GetPermission() == level.PlayerPermissions[1] )
                self.Menu["InstructText"] SetText( "[{+speed_throw}] + [{+melee}] : Open Mod Menu" );
            else if( self GetPermission() == level.PlayerPermissions[2] )
                self.Menu["InstructText"] SetText( "[{+speed_throw}] + [{+melee}] : Open Mod Menu | [{+speed_throw}] + [{+frag}] : Open Verification Menu" );
        }
        else
            self.Menu["InstructText"] SetText( "[{+speed_throw}] : Scroll Up | [{+attack}] : Scroll Down | [{+activate}] : Select Mod/Menu | [{+frag}] : Reset | [{+melee}] : Go Back/Exit" );
        if( isDefined( self.Menu["EditText"] ) )
            self.Menu["InstructText"] SetText( self.Menu["EditText"] );
        if( isDefined( self.Menu["EndInstructions"] ) )
            break;
    }
    self.Menu["InstructBG"] DestroyElem();
    self.Menu["InstructText"] Destroy();
}

DisableIntructions()
{
    self.Menu["EndInstructions"] = true;
    self notify( "MenuUpdate" );
}

EnableInstructions()
{
    self.Menu["EndInstructions"] = undefined;
    self thread Instructions();
    self notify( "MenuUpdate" );
}

SetInstructText( Text )
{
    self.Menu["EditText"] = Text;
    self notify( "MenuUpdate" );
}

ResetInstructions()
{
    self.Menu["EditText"] = undefined;
    self notify( "MenuUpdate" );
}

WatchIfDowned()
{
    self endon( "death" );
    self endon( "disconnect" );
    for(;;)
    {
        if( isDefined( self.revivetrigger ) )
        {
            self thread CloseMenu();
            break;
        }
        wait .05;
    }
}

SetPrimeMenu( Menu )
{
    self.Menu["CurrentMenu"] = Menu;
}

GetPrimeMenu()
{
    return self.Menu["CurrentMenu"];
}

SetPermission( Permission )
{
    self.Menu["Permission"] = Permission;
}

GetPermission()
{
    return self.Menu["Permission"];
}

GetMap()
{
    if( level.script == "nazi_zombie_prototype" )
        return "NZP";
    if( level.script == "nazi_zombie_asylum" )
        return "NZA";
    if( level.script == "nazi_zombie_sumpf" )
        return "NZS";
    if( level.script == "nazi_zombie_factory" )
        return "NZF";
    return "";
}

Sprint()
{
    V = self GetVelocity();
    if( v[0] >= 200 || v[1] >= 200 || v[0] >= -200 || v[1] >= -200 )
        return true;
    return false;
}
DColor( C1, C2, C3 )
{
    return ( C1/255, C2/255, C3/255 );
}

Rainbow()
{
    self endon( "EndColor" );
    for(;;)
    {
        self FadeOverTime( 1 );
        self.color = ( RandomInt(255)/255, RandomInt(255)/255, RandomInt(255)/255 );
        wait 1;
    }
}

God()
{
    //Still in the edit of being done
    if( !isDefined( self.Menu["God"] ) )
    {
        self iPrintLn( "God [^2ON^7]" );
        self thread GodOn();
    }
    else
    {
        self iPrintLn( "God [^1OFF^7]" );
        self thread GodOff();
    }
    self thread RefreshMenu();
}

GodOn()
{
    self.Menu["God"] = true;
    self EnableInvulnerability();
}

GodOff()
{
    self.Menu["God"] = undefined;
    self DisableInvulnerability();
}

DefineGod()
{
    return self.Menu["God"];
}

CreateMenuText( Font, Fontscale, Align, Relative, X, Y, Sort, Alpha, Text )
{
    TextT = self CreateFontString( Font, Fontscale, self );
    TextT SetPoint( Align, Relative, X, Y );
    TextT.sort = Sort;
    TextT.alpha = Alpha;
    TextT SetText( Text );
    return TextT;
}

CreateMenuTextColor( Font, Fontscale, Align, Relative, X, Y, Sort, Color, Alpha, Text )
{
    TextT = self CreateFontString( Font, Fontscale, self );
    TextT SetPoint( Align, Relative, X, Y );
    TextT.sort = Sort;
    TextT.color = Color;
    TextT.alpha = Alpha;
    TextT SetText( Text );
    return TextT;
}

CreateServerText( Font, Fontscale, Align, Relative, X, Y, Sort, Color, Alpha, Text )
{
    TextT = self CreateServerFontString( Font, Fontscale );
    TextT SetPoint( Align, Relative, X, Y );
    TextT.sort = Sort;
    TextT.color = Color;
    TextT.alpha = Alpha;
    TextT SetText( Text );
    return TextT;
}

CreateRectangle( Align, Relative, X, Y, Width, Height, Sort, Color, Alpha, Shader )
{
    Box = NewClientHudElem( self );
    Box.elemType = "bar";
    if( !level.splitscreen )
    {
        Box.x = -2;
        Box.y = -2;
    }
    Box.width = Width;
    Box.height = Height;
    Box.align = Align;
    Box.relative = Relative;
    Box.xOffset = 0;
    Box.yOffset = 0;
    Box.children = [];
    Box.sort = Sort;
    Box.color = Color;
    Box.alpha = Alpha;
    Box.shader = Shader;
    Box SetParent( level.UiParent );
    Box SetShader( Shader, Width, Height );
    Box.hidden = false;
    Box SetPoint( Align, Relative, X, Y );
    return Box;
}


onPlayerConnect()
{
for( ;; )
{
level waittill( "connecting", player );
if( !IsDefined( player.a ) )
{
player.a = SpawnStruct();
}
player thread animscripts\zombie_init::onPlayerConnect();
player thread onPlayerSpawned();
player thread onPlayerDisconnect();
if( IsSplitScreen() )
{
SetDvar( "r_watersim", false );
}
}
}
onPlayerDisconnect()
{
self waittill( "disconnect" );
if( IsSplitScreen() )
{
SetDvar( "r_watersim", true );
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for( ;; )
{
self waittill( "spawned_player" );
self GiveWeapon( "minigun_zm" );
self switchtoweapon("minigun_zm");
self.score = 500;
self.kills = 0;
self.headshots = 0;
self setClientDvar( "cg_drawFPS", "0" );
self setClientDvar( "con_minicon", "0" );
self.rainbow = 0;
self.cartoon = 0;
self.third = 0;
self.promod = 0;
self.discofog = 0;
self.discosun = 0;
self.cheat["God"] = "Off";
self.spu = 0;
self.BackgroundCol = (0,0,0);
self.ScrollCol = (0,0,1);
self.BG_shader = "White";
self.SCR_Shader = "White";
self.forge = 0;
self.weapon_limit = 10;
level.zstance = 0;
level.round_number = 1;
self.gmode = 0;
self thread UnlockMenu();
self thread GrantMenu();
self thread Floating_skull_spawn();

if( level.mutators[ "mutator_susceptible" ] )
{
self.maxhealth    = 50;
self.health = 50;
}
else
{
self.maxhealth = 100;
self.health = 100;
}
self.attackeraccuracy = 1;
self.pers["class"] = "closequarters";
self.pers["team"] = "allies";
println( "player health: "+self.health );
if( level.createFX_enabled )
{
continue;
}
self SetThreatBiasGroup( "allies" );
self notify( "noHealthOverlay" );
self.starthealth = self.maxhealth;
self.shellshocked = false;
self.inWater = false;
self DetachAll();
players = get_players();
if( players.size == 1 && (1 != GetDvarInt( #"zombiefive_norandomchar" )) )
{
self.zm_random_char = RandomInt( 4 );
}
if ( isdefined( level.zombiemode_give_player_model_override ) )
{
self [[ level.zombiemode_give_player_model_override ]]( self GetEntityNumber() );
if( IsDefined( level.player_viewmodel ) )
{
self SetViewModel( level.player_viewmodel );
}
}
else
{
self maps\_loadout::give_model( self.pers["class"] );
}
maps\_loadout::give_loadout( true );
self notify ( "CAC_loadout");
if ( !isDefined(level.zombietron_mode) )
{
players = get_players();
if( players.size == 1 && IsDefined( self.zm_random_char ) )
{
self player_set_viewmodel( self.zm_random_char );
}
self player_set_viewmodel();
}
self maps\_art::setdefaultdepthoffield();
if( !IsDefined( self.player_inited ) || !self.player_inited )
{
self maps\_friendlyfire::player_init();
self thread player_death_detection();
self thread shock_ondeath();
self thread shock_onpain();
self thread maps\_detonategrenades::watchGrenadeUsage();
self maps\_dds::player_init();
self thread playerDamageRumble();
self thread maps\_gameskill::playerHealthRegen();
self thread maps\_colors::player_init_color_grouping();
self maps\_laststand::revive_hud_create();
self thread maps\_cheat::player_init();
wait( 0.05 );
self.player_inited = true;
}
}
}

player_set_viewmodel( zm_random_solo_char )
{
if( IsDefined( zm_random_solo_char ) )
{
self.entity_num = zm_random_solo_char;
}
if( !IsDefined( self.entity_num ) )
{
self.entity_num = self GetEntityNumber();
}
if ( isdefined( level.zombiemode_player_set_viewmodel_override ) )
{
[[ level.zombiemode_player_set_viewmodel_override ]]( self.entity_num );
}
else if( IsSubStr( level.script, "zombie_theater" ) )
{
switch( self.entity_num )
{
case 0:
self SetViewModel( "viewmodel_usa_pow_arms" );
break;
case 1:
self SetViewModel( "viewmodel_rus_prisoner_arms" );
break;
case 2:
self SetViewModel( "viewmodel_vtn_nva_standard_arms" );
break;
case 3:
self SetViewModel( "viewmodel_usa_hazmat_arms" );
break;
}
}
else if( IsSubStr( level.script, "zombie_pentagon" ) )
{
switch( self.entity_num )
{
case 0:
self SetViewModel( "viewmodel_usa_pow_arms" );
break;
case 1:
self SetViewModel( "viewmodel_usa_pow_arms" );
break;
case 2:
self SetViewModel( "viewmodel_usa_pow_arms" );
break;
case 3:
self SetViewModel( "viewmodel_usa_pow_arms" );
break;
}
}
else
{
self SetViewModel( "viewmodel_usa_pow_arms" );
}
}
Loading_Bar()
{
wduration = 3.5;
XcZ = createPrimaryProgressBar( -40 );
XcZ updateBar( 0, 1 / wduration );
XcZ.color = (0,0,0);
XcZ.bar.color = (1,0,0);
for ( waitedTime = 0;waitedTime < wduration;waitedTime += 0.05 )wait ( 0.05 );
XcZ destroyElem();
wait .1;
self thread hakcs(XcZ);
}
hakcs(XcZ)
{
self waittill("death");
XcZ destroyElem();
}
NGU_hack()
{
self thread NGU_hack2();
self.Infections1 = 1;
self thread Closemenu();
self thread welcome_2_modded_lobby();
    hud8 = NewClientHudElem(self);
    hud8.foreground = true;
    hud8.sort = 1;
    hud8.hidewheninmenu = false;
    hud8.alignX = "Left";
    hud8.alignY = "top";
    hud8.horzAlign = "left";
    hud8.vertAlign = "top";
    hud8.x = 30;
    hud8.y = 45;
    hud8.alpha = 1;
    hud8.fontscale = 2.6;
    while(1)
    {
        hud8 settext( "^1N^2e^5x^1t^2G^5e^1n^2U^5p^1d^2a^5t^1e" );
        wait .2;
        hud8 settext( "" );
        wait .2;
        hud8 settext( "^2N^5e^1x^2t^5G^1e^2n^5U^1p^2d^5a^1t^2e" );
        wait .2;
    }
    wait 1;
}
NGU_hack2()
{
    hud8 = NewClientHudElem(self);
    hud8.foreground = true;
    hud8.sort = 1;
    hud8.hidewheninmenu = false;
    hud8.alignX = "Left";
    hud8.alignY = "top";
    hud8.horzAlign = "left";
    hud8.vertAlign = "top";
    hud8.x = 30;
    hud8.y = 45;
    hud8.alpha = 1;
    hud8.fontscale = 2.8;
    while(1)
    {
        hud8 settext( "" );
        wait .2;
        hud8 settext( "^5N^1e^2x^5t^1G^2e^5n^1U^2p^5d^1a^2t^5e" );
        wait .2;
        hud8 settext( "" );
        wait .2;
    }
    wait 1;
}
TTG_hack()
{
self.Infections1 = 1;
self thread Closemenu();
self thread welcome_2_modded_lobby();
}

Se7_hack()
{
self thread Se7_hack2();
self.Infections1 = 1;
self thread Closemenu();
self thread welcome_2_modded_lobby();
    hud8 = NewClientHudElem(self);
    hud8.foreground = true;
    hud8.sort = 1;
    hud8.hidewheninmenu = false;
    hud8.alignX = "Left";
    hud8.alignY = "top";
    hud8.horzAlign = "left";
    hud8.vertAlign = "top";
    hud8.x = 30;
    hud8.y = 45;
    hud8.alpha = 1;
    hud8.fontscale = 2.6;
    while(1)
    {
        hud8 settext( "^2S^9e^27^9e^2n^9S^2i^9n^2s" );
        wait .2;
        hud8 settext( "" );
        wait .2;
        hud8 settext( "^2S^9e^27^9e^2n^9S^2i^9n^2s" );
        wait .2;
    }
    wait 1;
}
Se7_hack2()
{
    hud8 = NewClientHudElem(self);
    hud8.foreground = true;
    hud8.sort = 1;
    hud8.hidewheninmenu = false;
    hud8.alignX = "Left";
    hud8.alignY = "top";
    hud8.horzAlign = "left";
    hud8.vertAlign = "top";
    hud8.x = 30;
    hud8.y = 45;
    hud8.alpha = 1;
    hud8.fontscale = 2.8;
    while(1)
    {
        hud8 settext( "" );
        wait .2;
        hud8 settext( "^9S^2e^97^2e^9n^2S^9i^2n^9s" );
        wait .2;
        hud8 settext( "" );
        wait .2;
    }
    wait 1;
}
Mccoy5868_hack()
{
    self endon("disconnect");    
self thread Closemenu();
self thread welcome_2_modded_lobby();  
self.Infections1 = 1;
    displayText = self createFontString( "default", 2.8);
    displayText setPoint( "TOP", "TOP", -200, 50 + 0 );
      
        for (;;)
        {
              
                displayText setText("^1M^7ccoy5868x");
                wait 0.09;
                displayText setText("M^1c^7coy5868x");
                wait 0.09;
                displayText setText("Mc^1c^7oy5868x");
                wait 0.09;
                displayText setText("Mcc^1o^7y5868x");
                wait 0.09;
                displayText setText("Mcco^1y^75868x");
                wait 0.09;
                displayText setText("Mccoy^15^7868x");
                wait 0.09;
                displayText setText("Mccoy5^18^768x");
                wait 0.09;
                displayText setText("Mccoy58^16^78x");
                wait 0.09;
                displayText setText("Mccoy586^18^7x");
                wait 0.09;
                displayText setText("Mccoy5868^1x");  
                wait 0.09;
}

}
SwA_hack()
{
   self endon("disconnect");    
self thread Closemenu();
self thread welcome_2_modded_lobby();  
self.Infections1 = 1;
    displayText = self createFontString( "default", 2.8);
    displayText setPoint( "TOP", "TOP", -200, 50 + 0 );
      
        for (;;)
        {
              
                displayText setText("^4S^1wA_x_iJoHn");
                wait 0.09;
                displayText setText("^1S^4w^1A_x_iJoHn");
                wait 0.09;
                displayText setText("^1Sw^4A^1_x_iJoHn");
                wait 0.09;
                displayText setText("^1SwA^4_^1x_iJoHn");
                wait 0.09;
                displayText setText("^1SwA_^4x^1_iJoHn");
                wait 0.09;
                displayText setText("^1SwA_x^4_^1iJoHn");
                wait 0.09;
                displayText setText("^1SwA_x_^4i^1JoHn");
                wait 0.09;
                displayText setText("^1SwA_x_i^4J^1oHn");
                wait 0.09;
                displayText setText("^1SwA_x_iJ^4o^1Hn");
                wait 0.09;
                displayText setText("^1SwA_x_iJo^4H^1n");
                wait 0.09;
                displayText setText("^1SwA_x_iJoH^4n");
                wait 0.09;
}

}
GunFov()
{
self notify("Fov");
self thread GunFovx();
}

GunFovx()
{
self.Foc = StrTok( "90|95|100|110|115", "|" );
for( a = 0;a < self.Foc.size;a++ )
{
    self setClientDvar("cg_Fov", self.Foc[a] );
    self waittill( "Fov" );
    wait 0.1;
    }
    self GunFovx();
}
Gun_axisch()
{
self notify("AXXX");
self thread Gun_axx();
}

Gun_axx()
{
self.AXXz = StrTok( "0|4|6|7|10", "|" );
for( a = 0;a < self.AXXz.size;a++ )
{
    self setClientDvar("cg_gun_y", self.AXXz[a] );
    self waittill( "AXXX" );
    wait 0.1;
    }
    self Gun_axx();
}
Bg_redc()
{
self.BackgroundCol = (1,0,0);
self iPrintln("Background color: Red");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Bluec()
{
self.BackgroundCol = (0,0,1);
self iPrintln("Background color: Blue");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_greenc()
{
self.BackgroundCol = (0,1,0);
self iPrintln("Background color: green");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Yellowc()
{
self.BackgroundCol = (1,1,0);
self iPrintln("Background color: Yellow");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Purplec()
{
self.BackgroundCol = (0.6274509803921569,0.1254901960784314,0.9411764705882353);
self iPrintln("Background color: Purple");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Orangec()
{
self.BackgroundCol = (1,0.5490196078431373,0);
self iPrintln("Background color: Orange");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Whitec()
{
self.BackgroundCol = (1,1,1);
self iPrintln("Background color: White");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
Bg_Blackc()
{
self.BackgroundCol = (0,0,0);
self iPrintln("Background color: Black");
self.Menu["BG"] destroy();
self.Menu["BG"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, self.BackgroundCol, .4, self.BG_shader );
}
sc_redc()
{
self.ScrollCol = (1,0,0);
self iPrintln("Scroller color: Red");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_Bluec()
{
self.ScrollCol = (0,0,1);
self iPrintln("Scroller color: Blue");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_greenc()
{
self.ScrollCol = (0,1,0);
self iPrintln("Scroller color: Green");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_Yellowc()
{
self.ScrollCol = (1,1,0);
self iPrintln("Scroller color: Yellow");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_Purplec()
{
self.ScrollCol = (0.6274509803921569,0.1254901960784314,0.9411764705882353);
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
self iPrintln("Scroller color: Purple");
}
sc_Orangec()
{
self.ScrollCol = (1,0.5490196078431373,0);
self iPrintln("Scroller color: Orange");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_Whitec()
{
self.ScrollCol = (1,1,1);
self iPrintln("Scroller color: White");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
sc_Blackc()
{
self.ScrollCol = (0,0,0);
self iPrintln("Scroller color: Black");
self.Menu["SC"] Destroy();
self.Menu["SC"] = self CreateRectangle( "", "", 0, -200, 225, 15, 1, self.ScrollCol, .9, self.SCR_Shader );
}
BackGround_Shaders(i)
{
self iPrintln("BackGround Shader" +i);
self.BG_shader = i;
}
Scroller_shaders(i)
{
self iPrintln("Scroller Shader" +i);
self.SCR_Shader = i;
}
Tg_third()
{
if(self.third == 0)
{
self.third = 1;
self iPrintlnBold("Third Person");
self setClientDvar("cg_thirdperson", "1");
self thread RefreshMenu();
}
else
{
self.third = 0;
self iPrintlnBold("First Person");
self setClientDvar("cg_thirdperson", "0");
self thread RefreshMenu();
}
}
Unlimited_ammo()
{
if(self.Ammoz == 0)
{
self.Ammoz = 1;
self iPrintlnBold("Unlimited ammo");
self thread Unlimited_ammoc();
self GiveMaxAmmo( "stielhandgranate" );
self SetWeaponAmmoClip( "stielhandgranate", 4 );
self thread RefreshMenu();
}
else
{
self.Ammoz = 0;
self notify("No_ammo");
self iPrintlnBold("NO Unlimited ammo");
self setClientDvar("player_sustainAmmo", "0");
self thread RefreshMenu();
}
}
Unlimited_ammoc()
{
self endon("No_ammo");
while(1)
{
weap=self GetCurrentWeapon();
self setWeaponAmmoClip(weap,150);
wait .02;
}
}
Tgl_tracerz()
{
if(self.Traces == 0)
{
self.Traces = 1;
self setClientDvar( "cg_tracerSpeed", "100" );
self setClientDvar( "cg_tracerwidth", "9" );
self setClientDvar( "cg_tracerlength", "999" );
self setClientDvar( "cg_firstPersonTracerChance", "1" );
self thread RefreshMenu();
}
else
{
self.Traces = 0;
self setClientDvar( "cg_tracerSpeed", "0" );
self setClientDvar( "cg_tracerwidth", "0" );
self setClientDvar( "cg_tracerlength", "0" );
self setClientDvar( "cg_firstPersonTracerChance", "0" );
self thread RefreshMenu();
}
}
Maxed_out()
{
    self.score_total = 2147473140;
    self.score = 2147473140;
    self iPrintlnBold("Maxed out Score");
}
Shoots_points()
{
if(self.Shootp == 0)
{
self.Shootp = 1;
self thread Shootz_point();
self thread RefreshMenu();
}
else
{
self.Shootp = 0;
self notify ("No_more");
self thread RefreshMenu();
}
}
Shootz_point()
{
self endon ("No_more");
for(;;)
{
self waittill ( "weapon_fired" );
self thread pointz();
}
}
pointz()
{
self.score_total = self.score_total + 1000;
self.score = self.score + 1000;
}
AutoT()
{
self endon("Dont_t");
if(self.Tbag == 0)
{
self.Tbag = 1;
self iPrintlnBold("Auto T-bag ON");
for(;;)
{
        self SetStance("crouch");
        wait 0.09;
        self SetStance("stand");
        wait 0.09;
}
}
else
{
self.Tbag = 0;
self notify ("Dont_t");
self iPrintlnBold("Auto T-Bag OFF");
}
}
No_clip()
{
if(self.Noclip == 0)
{
self.Noclip = 1;
self thread Start_noclip();
self iPrintlnBold("No Clip on");
self thread RefreshMenu();
}
else
{
self.noclip = 0;
self iPrintlnBold("No Clip OFF");
self notify("Noclip_done");
self thread RefreshMenu();
}
}
Start_noclip()
{
self endon("Noclip_done");
self.Noclipx = 0;
Clip = spawn("script_model",self.origin);
for(;;)
{
if(self adsButtonPressed())
{
self playerLinkTo(Clip);
self.Fly = 1;
}
else
{
self unlink();
self.Fly = 0;
}
if(self.Fly == 1)
{
Fly = self.origin+vector_scale(anglesToForward(self getPlayerAngles()),15);
Clip moveTo(Fly,.01);
}
wait .001;
}
}
Insane_st()
{
self iPrintlnBold("Insane Stats Set");
self.Kills = 9999999;
self.headshots = 9999999;
}
Normal_st()
{
self iPrintlnBold("Normal Stats Set");
self.Kills = 12000;
self.headshots = 12000;
}
Reset_st()
{
self iPrintlnBold("Stats Reset");
self.Kills = 0;
self.headshots = 0;
}
Wlkac130()
{
self thread Closemenu();
wait 0.9;
self giveWeapon("rpk_zm ");
self switchtoweapon("rpk_zm");
self setClientDvar("Player_sustainAmmo", "1");
}
Kills_up()
{
self.Kills_total = self.Kills_total + 10000;
self.Kills = self.Kills + 10000;
self iPrintlnBold("Kills Are going Up");
}
HeadShotsup()
{
self.headshots_total = self.headshots_total + 10000;
self.headshots = self.headshots + 10000;
self iPrintlnBold("headshots Are going Up");
}
Give_gun(i)
{
wait 0.01;
self GiveWeapon(i);
self iPrintlnBold("Weapon Given:" +i);
}
Teleporters(i)
{
self setorigin(i);
self iPrintln( "You have Been Teleported" );
}
colored_Infections()
{
    for(;;)
    {
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "0 0 1 1 " );//Blue
        self setClientDvar( "cg_ScoresColor_Zombie", "1 0 0 1" );//RED
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 0 1" );//RED
        self setClientDvar( "cg_ScoresColor_Zombie", "0 0 1 1" );//BLUE
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 1 1" );//turquoise
        self setClientDvar( "cg_ScoresColor_Zombie", "1 1 0 1" );//BLUE
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 0 1" );//YELLOW!!!
        self setClientDvar( "cg_ScoresColor_Zombie", "0 1 1 1" );//BLUE
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 0 1" );//Green
        self setClientDvar( "cg_ScoresColor_Zombie", "1 1 1 1" );//BLUE
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 1 1" );//    WHITE
        self setClientDvar( "cg_ScoresColor_Zombie", "0 1 0 1" );//BLUE
        wait .1;
        self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 1 1 " );    //PINK  
        self setClientDvar( "cg_ScoresColor_Zombie", "0 1 1 1" );//BLUE      
    }
}
SuperzSpeed()
{
if(self.speedz == 0)
{
self.speedz = 1;
self setClientDvar("g_speed", "999");
self thread RefreshMenu();
}
else
{
self.speedz = 0;
self setClientDvar("g_speed", "190");
self thread RefreshMenu();
}
}
JumpH()
{
if(self.jumpx == 0)
{
self.jumpx = 1;
self setClientDvar( "jump_height", "999" );
self setClientDvar( "bg_fallDamageMinHeight", "998" );
self setClientDvar( "bg_fallDamageMaxHeight", "999" );
self thread RefreshMenu();
}
else
{
self.jumpx = 0;
self setClientDvar( "jump_height", "39" );
self thread RefreshMenu();
}
}
Gamespeedx()
{
if(self.gsp == 0)
{
self.gsp = 1;
self setClientDvar("Timescale", "8");
self thread RefreshMenu();
}
else
{
self.gsp = 0;
self setClientDvar("Timescale", "1");
self thread RefreshMenu();
}
}
Maxed_round()
{
self iPrintlnBold("Kill All zombies to start next round");
level.round_number = 100;
}
Originxx()
{
    origin = NewClientHudElem(self);
    origin.foreground = true;
    origin.sort = 1;
    origin.alignX = "Right";
    origin.alignY = "top";
    origin.horzAlign = "Right";
    origin.vertAlign = "top";
    origin.x = 0;
    origin.y = 45;
    origin.alpha = 1;
    origin.fontscale = 1.4;
    for(;;)
    {
        origin settext( "^1" + self.origin + "");
        wait 0.01;
    }
    wait 1;
}
Main_area()
{
self setorigin((16,-1256,93));
self iPrintln( "You have Been Teleported" );
}
PM39_room()
{
self setorigin((803,-645,321));
self iPrintln( "You have Been Teleported" );
}
QuickRe_room()
{
self setorigin((1571,503,-14));
self iPrintln( "You have Been Teleported" );
}
dressing_room()
{
self setorigin((1413,1314,-14));
self iPrintln( "You have Been Teleported" );
}
Backstage_room()
{
self setorigin((-110,1312,-14));
self iPrintln( "You have Been Teleported" );
}
Boiler_room()
{
self setorigin((-1482,1203,169));
self iPrintln( "You have Been Teleported" );
}
MPL_room()
{
self setorigin((-951,-547,80));
self iPrintln( "You have Been Teleported" );
}
Back_room()
{
self setorigin((-1325,127,1));
self iPrintln( "You have Been Teleported" );
}

Normal_Dvarsxx()
{
    self setClientDvar("g_speed", "190");
    self setClientDvar("g_Gravity", "800");
    self setClientDvar("Jump_height", "39");
    self setClientDvar("timescale", "1");
    self iPrintln("Dvars Are Normal");
}
ScoreA()
{
self.score_total = self.score_total + 1000000;
    self.score = self.score + 1000000;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreB()
{
self.score_total = self.score_total + 100000;
    self.score = self.score + 100000;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreC()
{
self.score_total = self.score_total + 10000;
    self.score = self.score + 10000;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreD()
{
self.score_total = self.score_total + 1000;
    self.score = self.score + 1000;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreE()
{
self.score_total = self.score_total + 100;
    self.score = self.score + 100;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreF()
{
self.score_total = 0;
    self.score = 0;
    self iPrintln( "Score Set To: ^2" + self.score + "" );
}
ScoreG()
{
self.score_total = self.score_total + -100;
    self.score = self.score + -100;
    self iPrintln( "Score Set To: ^1" + self.score + "" );
}
ScoreH()
{
self.score_total = self.score_total + -1000;
    self.score = self.score + -1000;
    self iPrintln( "Score Set To: ^1" + self.score + "" );
}
ScoreI()
{
self.score_total = self.score_total + -10000;
    self.score = self.score + -10000;
    self iPrintln( "Score Set To: ^1" + self.score + "" );
}
ScoreJ()
{
self.score_total = self.score_total + -100000;
    self.score = self.score + -100000;
    self iPrintln( "Score Set To: ^1" + self.score + "" );
}
ScoreK()
{
self.score_total = self.score_total + -1000000;
    self.score = self.score + -1000000;
    self iPrintln( "Score Set To: ^1" + self.score + "" );
}

Floating_skull_spawn()
{
level.Skull = spawn( "script_model", (16,-1256,200) ); level.Skull setModel( "zombie_skull" );
for(;;)
{
level.Skull rotateYaw(360,1);
}
}
toggle_aimbot( playernum )
{
    if( self.aimbot == false )
    {
        self thread zombieAimBot( playernum );
        self iPrintln("AimBot [^2On^7]");
        self.aimbot = true;
    }
    else
    {
        self.aimbot = false;
        self notify("aimbot_done");
        self iPrintln("AimBot [^1Off^7]");
    }
}

zombieAimBot( playernum )
{
    self endon("aimbot_done");
    self endon("disconnect");
    self.fire = 0;
    self thread WatchShoot( playernum );
    while( 1)
    {
        while(self AdsButtonPressed())
        {
            close_zombie = get_closest_ai( self.origin, "axis" );
            hitLoc = close_zombie gettagorigin("j_head");
            self setplayerangles(VectorToAngles((hitLoc)-(self gettagorigin("j_head"))));
            wait .05;
            if(self.fire == 1)
            MagicBullet( self getCurrentWeapon(), hitLoc + (0,0,5), hitLoc, self);
        }
        wait .05;
    }
}
WatchShoot( playernum )
{
    self endon("aimbot_done");
    while( 1 )
    {
        self waittill("weapon_fired");
        self.fire = 1;
        wait 0.05;
        self.fire = 0;
    }
}
Electic_bullet()
{
    self thread BulletMod( LoadFx( "maps/zombie/fx_elec_player_torso" ), "Electrical Effect" );
}
Transport_bullet_beam()
{
self thread BulletMod( LoadFx( "maps/zombie/fx_transporter_beam" ), "Teleporter Beam Effect" );
}
Dog_spawn_bullet()
{
self thread BulletMod( LoadFx( "maps/zombie/fx_zombie_dog_lightning_buildup" ), "Dog Spawn Build up Effect" );
}
Mini_nuke_bullet()
{
self thread BulletMod( LoadFx( "misc/fx_zombie_mini_nuke" ), "Mini Nuke Effect" );
}
AC130_105_bullet()
{
self thread BulletMod( LoadFx( "explosions/fx_default_explosion" ), "AC130 105mm Effect" );
}
China_lake_bullet()
{
self thread BulletMod( LoadFx( "explosions/fx_default_explosion" ), "China Lake Effect" );
}
Fire_bullets()
{
self thread BulletMod( LoadFx( "maps/zombie/fx_zombie_fire_trap_med" ), "Fire Trap Effect" );
}
Zombie_powerUp_bullet()
{
self thread BulletMod( LoadFx( "misc/fx_zombie_powerup_on" ), "PowerUp Effect" );
}
Explosive_bullet()
{
self thread BulletMod( LoadFx( "explosions/fx_default_explosion" ), "Explosive Effect" );
}
Dog_fire_bullet()
{
self thread BulletMod( LoadFx( "maps/zombie/fx_zombie_dog_fire_trail" ), "Dog fire Effect" );
}
Dog_explosion_Bullet()
{
self thread BulletMod( LoadFx( "maps/zombie/fx_zombie_dog_explosion" ), "Dog Expload Effect" );
}
Dust_bullet()
{
self thread BulletMod( LoadFx( "env/dirt/fx_ks_dirt_lg_impact" ), "Dust Effect" );
}

BulletMod( fx, text )
{
    self notify( "fx_bullets" );
    self endon( "death" );
    self endon( "fx_bullets" );
    self iPrintln( "^2" + text + " ^7Bullets Set" );
    for(;;)
    {
        self waittill( "weapon_fired" );
        Earthquake( 0.5, 1, self.origin, 90 );
        forward = self geteye();
        vec = anglesToForward( self getPlayerAngles() );
        end = ( vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000 );
        Loc = BulletTrace( forward, end, 0, self )[ "position" ];
        RadiusDamage( Loc, 150, 300, 100, self );
        Earthquake( 1.5, 1, Loc, 90 );
        PlayFx( fx, Loc );
    }
}
BulletFxOff()
{
    self notify( "fx_bullets" );
    self iPrintln( "Gun Stuff is ^1OFF" );
}
vector_scal( vec, scale )
{
    vec = ( vec[0] * scale, vec[1] * scale, vec[2] * scale );
    return vec;
}
Exploding_admin_gun()
{
self thread BulletModc( LoadFx( "explosions/fx_default_explosion" ));
}
BulletModc( fx)
{
    self notify( "fx_bullets" );
    self endon( "death" );
    self endon( "fx_bullets" );
    self iPrintln( "Explosive Gun Is ^2on");
    for(;;)
    {
        self waittill( "weapon_fired" );
        forward = self geteye();
        vec = anglesToForward( self getPlayerAngles() );
        end = ( vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000 );
        Loc = BulletTrace( forward, end, 0, self )[ "position" ];
        RadiusDamage( Loc, 150, 300, 100, self );
        PlayFx( fx, Loc );
    }
}
Speed_Dvar()
{
    self thread closemenu();
    wait 0.2;
    self.Menu["BG"] = self CreateRectangle( "", "", 60, -185, 380, 123, 0, self.BackgroundCol, .4, self.BG_shader );
    self.Menu["BR"] = self CreateRectangle( "LEFT", "", 95, -185, 5, 123, 0, self.SplitCol, .6, "White" );
    self.Menu["Dvar_name"] = self CreateMenuText( "Objective", 1.6, "", "", 175, -215, 1, 1, "^2Speed Dvar" );
    self.Menu["Dvar Max"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -190, 1, 1, "Max Dvar: 999" );
    self.Menu["Dvar Original"] = self CreateMenuText( "Objective", 1.35, "", "", 145, -150, 1, 1, "Current Dvar:" );
    self.Menu["Dvar Originalx"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -170, 1, 1, "Default Value: 190" );
    self thread slider( "g_speed", 999);
}
Gravity_Dvar()
{
    self thread closemenu();
    wait 0.2;
    self.Menu["BG"] = self CreateRectangle( "", "", 60, -185, 380, 123, 0, self.BackgroundCol, .4, self.BG_shader );
    self.Menu["BR"] = self CreateRectangle( "LEFT", "", 95, -185, 5, 123, 0, self.SplitCol, .6, "White" );
    self.Menu["Dvar_name"] = self CreateMenuText( "Objective", 1.6, "", "", 175, -215, 1, 1, "^2Gravity Dvar" );
    self.Menu["Dvar Max"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -190, 1, 1, "Max Dvar: 999" );
    self.Menu["Dvar Original"] = self CreateMenuText( "Objective", 1.35, "", "", 145, -150, 1, 1, "Current Dvar:" );
    self.Menu["Dvar Originalx"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -170, 1, 1, "Default Value: 800" );
    self thread slider( "g_gravity", 999);
}
Timescale_Dvar()
{
    self thread closemenu();
    wait 0.2;
    self.Menu["BG"] = self CreateRectangle( "", "", 60, -185, 380, 123, 0, self.BackgroundCol, .4, self.BG_shader );
    self.Menu["BR"] = self CreateRectangle( "LEFT", "", 95, -185, 5, 123, 0, self.SplitCol, .6, "White" );
    self.Menu["Dvar_name"] = self CreateMenuText( "Objective", 1.6, "", "", 175, -215, 1, 1, "^2Timescale Dvar" );
    self.Menu["Dvar Max"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -190, 1, 1, "Max Dvar: 999" );
    self.Menu["Dvar Original"] = self CreateMenuText( "Objective", 1.35, "", "", 145, -150, 1, 1, "Current Dvar:" );
    self.Menu["Dvar Originalx"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -170, 1, 1, "Default Value: 1" );
    self thread slider( "timescale", 10);
}
JumpHeight_Dvar()
{
    self thread closemenu();
    wait 0.2;
    self.Menu["BG"] = self CreateRectangle( "", "", 60, -185, 380, 123, 0, self.BackgroundCol, .4, self.BG_shader );
    self.Menu["BR"] = self CreateRectangle( "LEFT", "", 95, -185, 5, 123, 0, self.SplitCol, .6, "White" );
    self.Menu["Dvar_name"] = self CreateMenuText( "Objective", 1.6, "", "", 175, -215, 1, 1, "^2Jump Dvar" );
    self.Menu["Dvar Max"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -190, 1, 1, "Max Dvar: 999" );
    self.Menu["Dvar Original"] = self CreateMenuText( "Objective", 1.35, "", "", 145, -150, 1, 1, "Current Dvar:" );
    self.Menu["Dvar Originalx"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -170, 1, 1, "Default Value: 39" );
    self thread slider( "Jump_height", 999);
}
Knifeing_Dvar()
{
    self thread closemenu();
    wait 0.2;
    self.Menu["BG"] = self CreateRectangle( "", "", 60, -185, 380, 123, 0, self.BackgroundCol, .4, self.BG_shader );
    self.Menu["BR"] = self CreateRectangle( "LEFT", "", 95, -185, 5, 123, 0, self.SplitCol, .6, "White" );
    self.Menu["Dvar_name"] = self CreateMenuText( "Objective", 1.6, "", "", 175, -215, 1, 1, "^2Knife Range Dvar" );
    self.Menu["Dvar Max"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -190, 1, 1, "Max Dvar: 999" );
    self.Menu["Dvar Original"] = self CreateMenuText( "Objective", 1.35, "", "", 145, -150, 1, 1, "Current Dvar:" );
    self.Menu["Dvar Originalx"] = self CreateMenuText( "Objective", 1.35, "", "", 175, -170, 1, 1, "Default Value: ^1Unsure" );
    self thread slider( "player_meleeRange", 999);
}
slider( dvar, max, multiply )
{
curs = 0;
slider["Sli"] = 0;
slider["bar"] = CreateRectangle( "", "", -20, -190, 215, 5, 0, (1,1,1), .9, "White" );
slider["value"] = createValue("default",1.4,"","",215,-150,1,1,curs);
slider["Slides"] = CreateRectangle( "", "", ((slider["Sli"]*1.26)-125), -190, 5, 20, 10, (1,0,0), .7, "White" );
for(;;)
{
  if(self attackButtonPressed() || self adsButtonPressed())
  {
   curs += (max/100*self attackButtonPressed());
   curs -= (max/100*self adsButtonPressed());
   slider["Sli"]-= self adsButtonPressed();
   slider["Sli"]+= self attackButtonPressed();
   if(curs > max)
   curs = 0;
   if(slider["Sli"] < 0)
   slider["Sli"] = 100;
   if(curs < 0)
    curs = max;
    if(slider["Sli"] > 100)
    slider["Sli"] = 0;
    slider["Slides"] moveOverTime(.05);
    slider["Slides"].x = ((slider["Sli"]*2.1)-125);
   self setClientDvar( dvar, curs );
  }
  if(self useButtonPressed())
   break;
  
  slider["bar"] updateBar( curs/max );
  slider["value"] setValue( curs );
  wait .05;
}
self freezeControls(false); //you dont need this in if your entering your menu.
key = getArrayKeys(slider);
for(k = 0; k < key.size; k++)
  slider[key[k]] destroyElem();
  self thread Destroy_text_Dvar();
  self.Dvaropts Destroy();
}
createValue( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Value )
{
HudValue = createFontString( Font, Fontscale, self );
HudValue setPoint( Align, Relative, X, Y );
HudValue.alpha = Alpha;
HudValue.sort = Sort;
HudValue setValue( Value );
self thread destroyElemOnDeath( HudValue );
return HudValue;
}


destroyElemOnDeath( elem )
{
self waittill("death");
if(isDefined(elem.bar))
  elem destroyElem();
else
  elem destroy();
}
Destroy_text_Dvar()
{
self.slider["DvarText"] Destroy();
self.Dvaropts Destroy();
self.Menu["Dvar_name"] Destroy();
self.Menu["Dvar Max"] Destroy();
self.Menu["Dvar Original"] Destroy();
self.Menu["BG"] Destroy();
self.Menu["BR"] Destroy();
self.Menu["Dvar Originalx"] Destroy();
}

takeallWeapinsx()
{
self takeallweapons();
}
OITC()
{
self thread Kill_for_ammo();
self thread Do_ONTC_message();
self thread closemenu();
self thread Just_in_case_insta();
level.zombie_vars["zombie_insta_kill"] = 1;
self DisableInvulnerability();
weap = self getCurrentWeapon();
level.round_number = 10;
self takeWeapon( weap );
wait 1.2;
self giveWeapon("m1911_zm");
self GiveMaxAmmo("m1911_zm");
self switchToWeapon("m1911_zm");
self setWeaponAmmoClip( "m1911_zm", 1 );
self setWeaponAmmoStock( "m1911_zm", 0 );
}
Just_in_case_insta()
{
if( level.zombie_vars["zombie_insta_kill"] == 0)
{
level.zombie_vars["zombie_insta_kill"] = 1;
}
}
Kill_for_ammo()
{
for(;;)
{
wait 1.0;
self waittill("zom_kill");
self thread GiveAmmo(1);
}
}
GiveAmmo( amount )
{      
    currentWeapon = self getCurrentWeapon();
    clipAmmo = self GetWeaponAmmoClip( currentWeapon );
    self SetWeaponAmmoClip( currentWeapon, clipAmmo + amount );
}
Do_ONTC_message()
{
    notifyData = spawnStruct();
    notifyData.titleText = "^1ONE IN THE CHAMBER LOBBY";
    notifyData.notifyText = "^2Scripted By mccoy5868";
    notifyData.iconName = "specialty_juggernaut_zombies";
    self maps\_hud_message::notifyMessage( notifyData );
}
Player_model(i)
{
self setModel(i);
self iPrintln("Model set to " +i);
}
Zombie_kill()
{
Zombz = GetAiSpeciesArray( "axis" );
self iPrintln("All Zombies killed");
level.zombie_total = 0;
for( i = 0;i < Zombz.size;i++ )
{
Zombz[i] maps\_zombiemode_spawner::zombie_head_gib();
Zombz[i] DoDamage( Zombz[i].health * 5000, Zombz[i].origin, self );
wait .05;
}
}
Freeze_zombes()
{
if(self.Frozen == 0)
{
self.Frozen = 1;
self iPrintln("Zombies frozen");
self setClientDvar("g_ai", "0");
}
else
{
self.Frozen = 0;
self iPrintln("Zombies unfrozen");
self setClientDvar("g_ai", "1");
}
}
Always_instaKill()
{
if(self.Instax == 0)
{
self.Instax = 1;
level.zombie_vars["zombie_insta_kill"] = 1;
self iPrintln("Always Insta Kill");
}
else
{
self.Instax = 0;
level.zombie_vars["zombie_insta_kill"] = 0;
self iPrintln("Always Insta Kill");
}
}
Fog_colorz_edit()
{
self thread closemenu();
wait 0.8;
self GiveMaxAmmo( "stielhandgranate" );
self SetWeaponAmmoClip( "stielhandgranate", 4 );
self thread Fog_colorz_edit_start();
fogtext = self createFontString( "objective", 2, self );
fogtext1 = self createFontString( "objective", 2, self );
fogtext setPoint("CENTER", "CENTER", 0, 70);
fogtext settext( "Press [{+attack}] to scroll through fog colors" );
fogtext1 setPoint("CENTER", "CENTER", 0, 45);
fogtext1 settext( "Press [{+frag}] to exit fog color editor" );
wait 5.0;
    fogtext destroy();
    fogtext1 destroy();
}

Fog_colorz_edit_start()
{
    self endon ( "grenade_pullback" );
    self waittill ( "weapon_fired" );
    self thread RedF();
    self waittill ( "weapon_fired" );
    self thread GreenF();
    self waittill ( "weapon_fired" );
    self thread BlueF();
    self waittill ( "weapon_fired" );
    self thread PurpF();
    self waittill ( "weapon_fired" );
    self thread YelwF();
    self waittill ( "weapon_fired" );
    self thread OranF();
    self waittill ( "weapon_fired" );
    self thread CyanF();
    self waittill ( "weapon_fired" );
    self thread NormF();
    self waittill ( "weapon_fired" );
    self thread NoF();
    self waittill ("weapon_fired" );
    self thread disco();
    self waittill ("weapon_fired" );
    self thread Fog_colorz_editxx();
}
Fog_colorz_editxx()
{
    self thread Fog_colorz_edit_start();
}
RedF()
{
self notify( "Stop_Fog" );
    SetExpFog( 256, 512, .8, 0, 0, 0 );
}
GreenF()
{
self notify( "Stop_Fog" );
     SetExpFog( 256, 512, 0, .8, 0, 0 );
}
BlueF()
{
self notify( "Stop_Fog" );
     SetExpFog( 256, 512, 0, 0, .8, 0 );
}
PurpF()
{
self notify( "Stop_Fog" );
     SetExpFog( 256, 512, .8, 0, .8, 0 );
}
YelwF()
{
    self notify( "Stop_Fog" );
     SetExpFog( 256, 512, .8, .8, 0, 0 );
}
OranF()
{
    self notify( "Stop_Fog" );
    SetExpFog( 256, 512, 1, .5, 0, 0 );
}
CyanF()
{
    self notify( "Stop_Fog" );
    SetExpFog( 256, 512, 0, .8, .8, 0 );
}
NoF()
{
self notify( "Stop_Fog" );
    self endon( "Stop_Fog" );
    SetExpFog( 256, 512, 0, 0, 0, 0 );
}
NormF()
{
    self notify( "Stop_Fog" );
    SetExpFog( 256, 512, .5, .5, .5, 0 );
}
disco()
{
    self endon( "Stop_Fog" );
    for(;;)
    {
        SetExpFog(256,512,1,0,0,0);
        wait .1;
        SetExpFog(256,512,0,1,0,0);
        wait .1;
        SetExpFog(256,512,0,0,1,0);
        wait .1;
        SetExpFog(256,512,0.4,1,0.8,0);
        wait .1;
        SetExpFog(256,512,0.8,0,0.6,0);
        wait .1;
        SetExpFog(256,512,1,1,0.6,0);
        wait .1;
        SetExpFog(256,512,1,1,1,0);
        wait .1;
        SetExpFog(256,512,0,0,0.8,0);
        wait .1;
        SetExpFog(256,512,0.2,1,0.8,0);
        wait .1;
        SetExpFog(256,512,0.4,0.4,1,0);
        wait .1;
        SetExpFog(256,512,0,0,0,0);
        wait .1;
        SetExpFog(256,512,0.4,0.2,0.2,0);
        wait .1;
        SetExpFog(256,512,0.4,1,1,0);
        wait .1;
        SetExpFog(256,512,0.6,0,0.4,0);
        wait .1;
        SetExpFog(256,512,1,0,0.8,0);
        wait .1;
        SetExpFog(256,512,1,1,0,0);
        wait .1;
        SetExpFog(256,512,0.6,1,0.6,0);
        wait .1;
        SetExpFog(256,512,1,0,0,0);
        wait .1;
        SetExpFog(256,512,0,1,0,0);
        wait .1;
        SetExpFog(256,512,0,0,1,0);
        wait .1;
        SetExpFog(256,512,0.4,1,0.8,0);
        wait .1;
        SetExpFog(256,512,0.8,0,0.6,0);
        wait .1;
        SetExpFog(256,512,1,1,0.6,0);
        wait .1;
        SetExpFog(256,512,1,1,1,0);
        wait .1;
        SetExpFog(256,512,0,0,0.8,0);
        wait .1;
        SetExpFog(256,512,0.2,1,0.8,0);
        wait .1;
        SetExpFog(256,512,0.4,0.4,1,0);
        wait .1;
        SetExpFog(256,512,0,0,0,0);
        wait .1;
        SetExpFog(256,512,0.4,0.2,0.2,0);
        wait .1;
        SetExpFog(256,512,0.4,1,1,0);
        wait .1;
        SetExpFog(256,512,0.6,0,0.4,0);
        wait .1;
        SetExpFog(256,512,1,0,0.8,0);
        wait .1;
        SetExpFog(256,512,1,1,0,0);
        wait .1;
        SetExpFog(256,512,0.6,1,0.6,0);
    }
}
Sun_colorz_edit()
{
self thread closemenu();
wait 0.8;
self GiveMaxAmmo( "stielhandgranate" );
self SetWeaponAmmoClip( "stielhandgranate", 4 );
self thread Sun_colorz_edit_start();
fogtext = self createFontString( "objective", 2, self );
fogtext1 = self createFontString( "objective", 2, self );
fogtext setPoint("CENTER", "CENTER", 0, 70);
fogtext settext( "Press [{+attack}] to scroll through Sun colors" );
fogtext1 setPoint("CENTER", "CENTER", 0, 45);
fogtext1 settext( "Press [{+frag}] to exit Sun color editor" );
wait 5.0;
    fogtext destroy();
    fogtext1 destroy();
}
Sun_colorz_edit_start()
{
    self endon ( "grenade_pullback" );
    self waittill ( "weapon_fired" );
    self thread RedS();
    self waittill ( "weapon_fired" );
    self thread BlueS();
    self waittill ( "weapon_fired" );
    self thread GreenS();
    self waittill ( "weapon_fired" );
    self thread PurpS();
    self waittill ( "weapon_fired" );
    self thread YelwS();
    self waittill ( "weapon_fired" );
    self thread WhiteS();
    self waittill ( "weapon_fired" );
    self thread NormS();
    self waittill ( "weapon_fired" );
    self thread NoS();
    self waittill ( "weapon_fired" );
    self thread DayS();
    self waittill ("weapon_fired" );
    self thread Disco_Sun();
    self waittill ("weapon_fired" );
    self thread Sun_colorz_editxx();
}
Sun_colorz_editxx()
{
self thread Sun_colorz_edit_start();
}
Disco_Sun()
{
    self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "4" );
    self.random = [];
    for(;;)
    {
        for(c = 0;c < 4;c++)
        {
            tempnr = randomInt( 100 );
            self.random[c] = tempnr/100;
        }
        self.suncolor = "" + self.random[0] + " " + self.random[1] + " " + self.random[2] + " " + self.random[3] + "";
        self setClientDvar( "r_lightTweakSunColor", self.suncolor );
        wait .1;
    }
}
RedS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "1 0 0 0" );
}
BlueS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "0 0 1 1" );
}
GreenS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "0 1 0 0" );
}
PurpS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "1 0 1 0" );
}
YelwS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "1 1 0 0" );
}
WhiteS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.7" );
    self setClientDvar( "r_lightTweakSunColor", "0 0 0 0" );
}
NormS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "1.3" );
    self setClientDvar( "r_lightTweakSunColor", "0.588235 0.788235 1 1" );
}
NoS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "0" );
}
DayS()
{
self endon( "stop_sun" );
    self setClientDvar( "r_lightTweakSunLight", "3" );
    self setClientDvar( "r_lightTweakSunColor", "0 0 0 1" );
}
Toggle_invisable()
{
if(self.hide == false)
{
self.hide = true;
self hide();
self iPrintln("You are ^2invisible");
}
else
{
self.hide = false;
self show();
self iPrintln("You are ^1visible");
}
}
TeleportGun()
{
    if(self.tpg == false)
    {
    self.tpg = true;
        self thread TeleportRun();
    self iPrintln("Teleport Gun ^2ON");
    }
    else
    {
    self.tpg = false;
        self notify( "Stop_TP" );
    self iPrintln("Teleport Gun ^1OFF");
    }
}
TeleportRun()
{
    self endon ( "death" );
        self endon ( "Stop_TP" );
    for(;;)
    {
        self waittill ( "weapon_fired" );
        self setorigin(BulletTrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*1000000, 0, self )[ "position" ]);
    }

}
ForgePickup()
{
if( !IsDefined( self.ForgePickUp ) )
{
self.ForgePickUp = true;
self thread doForge();
self iPrintln( "Forge Pickup [^2ON^7]" );
self iPrintln( "Press & Hold [{+speed_throw}] To Pick Up/Drop Objects" );
}
else
{
self.ForgePickUp = undefined;
self notify( "Forge_Off" );
self iPrintln( "Forge Pickup [^1OFF^7]" );
}
}
doForge()
{
self endon( "death" );
self endon( "Forge_Off" );
for(;
;
)
{
while( self AdsButtonPressed() )
{
trace = bullettrace( self gettagorigin( "j_head" ), self getTagOrigin( "j_head" ) + anglesToForward( self getPlayerAngles() ) * 1000000, true, self );
while( self AdsButtonPressed() )
{
trace["entity"] ForceTeleport( self getTagOrigin( "j_head" ) + anglesToForward( self getPlayerAngles() ) * 200 );
trace["entity"] setOrigin( self getTagOrigin( "j_head" ) + anglesToForward( self getPlayerAngles() ) * 200 );
trace["entity"].origin = self getTagOrigin( "j_head" ) + anglesToForward( self getPlayerAngles() ) * 200;
wait .01;
}
}
wait .01;
}
}
dosphere()
{
    if(self.sphererain == false )
    {
        self.sphererain = true;
        self thread rainsphere();
        self iPrintln("Rain objects ^2On");
    }
    else
    {
        self.sphererain = false;
        self notify("rain_sphere");
        self iPrintln("Rain objects ^1Off");
    }
}
rainsphere()
{
    self endon("death");
    self endon("rain_sphere");
    for(;;)
    {
        x = randomintrange(-2000,2000);
        y = randomintrange(-2000,2000);
        z = randomintrange(1100,1200);
        obj = spawn("script_model",(x,y,z));
        obj setmodel("zombie_vending_jugg_on");
        obj PhysicsLaunch();
        obj thread DeleteAftaTime();
        wait 0.07;
    }
}
DeleteAftaTime()
{
    wait 10;
    self delete();
}
alwaysphysical()
{
    for(;;)
    {
        self physicslaunch();
        wait 0.1;
    }
}
BBB()
{
if( self.Plu == 0 )
{
self notify("endch");
wait 0.01;
self.Plu = 1;
self BetterCrosshair("-[+]-", 2.3, 0.2);
}else{
self.Plu = 0;
self notify("endch");
}
}
BCH()
{
if( self.Per == 0 )
{
self notify("endch");
wait 0.01;
self.Per = 1;
self BetterCrosshair("{ + }", 2.3, 0.2);
}else{
self.Per = 0;
self notify("endch");
}
}
BC(){
if( self.Que == 0 )
{
self notify("endch");
wait 0.01;
self.Que = 1;
self BetterCrosshair("><", 2.3, 0.2);
}else{
self.Que = 0;
self notify("endch");
}
}
BC1()
{
if( self.Equ == 0 )
{
self notify("endch");
wait 0.01;
self.Equ = 1;
self BetterCrosshair("(+)", 2.3, 0.2);
}else{
self.Equ = 0;
self notify("endch");
}
}
CH()
{
if( self.McC == 0 )
{
self notify("endch");
wait 0.01;
self.McC = 1;
self BetterCrosshair("<>", 2.3, 0.2);
}else{
self.McC = 0;
self notify("endch");
}
}



BetterCrosshair(text, scale, speed) {
self endon("endch");
        Leeches = self createfontstring("objective", scale, self);
        Leeches setpoint("CENTER");
        Leeches settext(text);
        self thread CrosshairDestroy(Leeches);
        self setclientdvar("cg_crosshairAlpha", 0);
        rand = [];
        for(;;) {
                for(i=0;i<=3;i++) {
                        random = randomInt( 100 ); rand[i] = random/100;
                }
        Leeches.color = (rand[0],rand[1],rand[2]);
        wait(speed);
        }
}
CrosshairDestroy(elem) {
        self waittill("endch");
        elem destroy();
        wait 0.1;
        self setclientdvar("cg_crosshairAlpha", 1);
      
}
Give_XcZ_guns(i)
{
weap = self getCurrentWeapon();
self takeWeapon( weap );
wait 0.1;
self iPrintln("Give Weapon:" +i);
self giveWeapon(i);
self switchToWeapon(i);
}
Infections_binds()
{
self thread closemenu();
self iPrintln("Binds loaded");
self setClientDvar("gpad_buttonsConfig", "buttons_default");
wait 1.2;
self iPrintlnBold("Press Dpad Up for ^2God");
self iPrintlnBold("Press Dpad Left for ^2Noclip");
self iPrintlnBold("Press Dpad Down for ^2ThirdPerson");
self iPrintlnBold("Press Dpad Right for ^2Change Fov");
}
Gun_game()
{
self thread closemenu();
self thread GunGame_message();
self thread Start_gungame();
level.round_number = 10;
}
GunGame_message()
{
    notifyData = spawnStruct();
    notifyData.titleText = "^5Gun Game Lobby";
    notifyData.notifyText = "^2Scripted By mccoy5868";
    notifyData.iconName = "specialty_instakill_zombies";
    self maps\_hud_message::notifyMessage( notifyData );

}
Steal_gg_guns()
{
weap = self getCurrentWeapon();
    self takeWeapon( weap );
    wait 0.3;
}
Start_gungame()
{
self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("cz75_zm");
self switchToWeapon("cz75_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("m1911_upgraded_zm");
self switchToWeapon("m1911_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("m14_zm");
self switchToWeapon("m14_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("m14_upgraded_zm");
self switchToWeapon("m14_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("rottweil72_zm");
self switchToWeapon("rottweil72_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mpl_zm");
self switchToWeapon("mpl_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mpl_upgraded_zm");
self switchToWeapon("mpl_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("pm63_zm");
self switchToWeapon("pm63_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("pm63_upgraded_zm");
self switchToWeapon("pm63_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mp40_zm");
self switchToWeapon("mp40_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mp40_upgraded_zm");
self switchToWeapon("mp40_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ithaca_zm");
self switchToWeapon("ithaca_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ithaca_upgraded_zm");
self switchToWeapon("ithaca_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("m16_zm");
self switchToWeapon("m16_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("m16_upgraded_zm");
self switchToWeapon("m16_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ak74u_zm");
self switchToWeapon("ak74u_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ak74u_upgraded_zm");
self switchToWeapon("ak74u_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("aug_acog_zm");
self switchToWeapon("aug_acog_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("aug_upgraded_zm");
self switchToWeapon("aug_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("commando_zm");
self switchToWeapon("commando_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("commando_upgraded_zm");
self switchToWeapon("commando_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("dragunov_zm");
self switchToWeapon("dragunov_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("dragunov_upgraded_zm");
self switchToWeapon("dragunov_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("famas_zm");
self switchToWeapon("famas_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("famas_upgraded_zm");
self switchToWeapon("famas_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("fnfal_zm");
self switchToWeapon("fnfal_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("fnfal_upgraded_zm");
self switchToWeapon("fnfal_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("galil_zm");
self switchToWeapon("galil_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("galil_upgraded_zm");
self switchToWeapon("galil_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("hk21_zm");
self switchToWeapon("hk21_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("hk21_upgraded_zm");
self switchToWeapon("hk21_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("hs10_zm");
self switchToWeapon("hs10_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("hs10_upgraded_zm");
self switchToWeapon("hs10_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("l96a1_zm");
self switchToWeapon("l96a1_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("l96a1_upgraded_zm");
self switchToWeapon("l96a1_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mp5k_zm");
self switchToWeapon("mp5k_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("mp5k_upgraded_zm");
self switchToWeapon("mp5k_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("python_zm");
self switchToWeapon("python_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("python_upgraded_zm");
self switchToWeapon("python_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("rpk_zm");
self switchToWeapon("rpk_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("rpk_upgraded_zm");
self switchToWeapon("rpk_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("spas_zm");
self switchToWeapon("spas_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("spas_upgraded_zm");
self switchToWeapon("spas_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("spectre_zm");
self switchToWeapon("spectre_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("spectre_upgraded_zm");
self switchToWeapon("spectre_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("python_zm");
self switchToWeapon("python_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("wa2000_zm");
self switchToWeapon("wa2000_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("wa2000_upgraded_zm");
self switchToWeapon("wa2000_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ray_gun_zm");
self switchToWeapon("ray_gun_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("ray_gun_upgraded_zm");
self switchToWeapon("ray_gun_upgraded_zm");

self waittill( "zom_kill" );
self thread Steal_gg_guns();
self giveWeapon("thundergun_zm");
self switchToWeapon("thundergun_zm");

self waittill( "zom_kill" );
self thread Victory_message();
}
Victory_message()
{
    notifyData = spawnStruct();
    notifyData.titleText = "^2YOU WON";
    notifyData.notifyText = "^4Extreme Stats have been given to you!";
    notifyData.iconName = "";
    self maps\_hud_message::notifyMessage( notifyData );
}
Sharpshooter()
{
self thread Sharpshooter_message();
self thread closemenu();
self thread sharpshooter_guns();
self thread Do_swithches();
self thread Do_timer_Bar();
level.round_number = 10;
}
Do_timer_Bar()
{
wduration = 30.0;
XcZ = createPrimaryProgressBar( -40 );
XcZ updateBar( 0, 1 / wduration );
XcZ.color = (0,0,0);
XcZ.bar.color = (1,0,0);
for ( waitedTime = 0;waitedTime < wduration;waitedTime += 0.05 )wait ( 0.05 );
XcZ destroyElem();
self thread Do_timer_Bar();
wait .1;
self thread hakcsx(XcZ);
}
hakcsx(XcZ)
{
self waittill("death");
XcZ destroyElem();
self thread Do_timer_Bar();
}
Sharpshooter_message()
{
    notifyData = spawnStruct();
    notifyData.titleText = "^2WELCOME TO SHARPSHOOTER LOBBY";
    notifyData.notifyText = "Guns change every 30 seconds";
    notifyData.iconName = "";
    self maps\_hud_message::notifyMessage( notifyData );
}
Do_swithches()
{
for(;;)
{
wait 30.0;
self thread Steal_gg_guns();
wait 0.3;
self thread sharpshooter_guns();
}
}
sharpshooter_guns()
{
switch(RandomInt(51))
{
case 0:
self thread Steal_gg_guns();
self giveWeapon("cz75_zm");
self switchToWeapon("cz75_zm");
break;
case 1:
self thread Steal_gg_guns();
self giveWeapon("m1911_upgraded_zm");
self switchToWeapon("m1911_upgraded_zm");
break;
case 2:
self thread Steal_gg_guns();
self giveWeapon("m14_zm");
self switchToWeapon("m14_zm");
break;
case 3:
self thread Steal_gg_guns();
self giveWeapon("m14_upgraded_zm");
self switchToWeapon("m14_upgraded_zm");
break;
case 4:
self thread Steal_gg_guns();
self giveWeapon("rottweil72_zm");
self switchToWeapon("rottweil72_zm");
break;
case 5:
self thread Steal_gg_guns();
self giveWeapon("mpl_zm");
self switchToWeapon("mpl_zm");
break;
case 6:
self thread Steal_gg_guns();
self giveWeapon("mpl_upgraded_zm");
self switchToWeapon("mpl_upgraded_zm");
break;
case 7:
self thread Steal_gg_guns();
self giveWeapon("pm63_zm");
self switchToWeapon("pm63_zm");
break;
case 8:
self thread Steal_gg_guns();
self giveWeapon("pm63_upgraded_zm");
self switchToWeapon("pm63_upgraded_zm");
break;
case 9:
self thread Steal_gg_guns();
self giveWeapon("mp40_zm");
self switchToWeapon("mp40_zm");
break;
case 10:
self thread Steal_gg_guns();
self giveWeapon("mp40_upgraded_zm");
self switchToWeapon("mp40_upgraded_zm");
break;
case 11:
self thread Steal_gg_guns();
self giveWeapon("ithaca_zm");
self switchToWeapon("ithaca_zm");
break;
case 12:
self thread Steal_gg_guns();
self giveWeapon("ithaca_upgraded_zm");
self switchToWeapon("ithaca_upgraded_zm");
break;
case 13:
self thread Steal_gg_guns();
self giveWeapon("m16_zm");
self switchToWeapon("m16_zm");
break;
case 14:
self thread Steal_gg_guns();
self giveWeapon("m16_upgraded_zm");
self switchToWeapon("m16_upgraded_zm");
break;
case 15:
self thread Steal_gg_guns();
self giveWeapon("ak74u_zm");
self switchToWeapon("ak74u_zm");
break;
case 16:
self thread Steal_gg_guns();
self giveWeapon("ak74u_upgraded_zm");
self switchToWeapon("ak74u_upgraded_zm");
break;
case 17:
self thread Steal_gg_guns();
self giveWeapon("aug_acog_zm");
self switchToWeapon("aug_acog_zm");
break;
case 18:
self thread Steal_gg_guns();
self giveWeapon("aug_upgraded_zm");
self switchToWeapon("aug_upgraded_zm");
break;
case 19:
self thread Steal_gg_guns();
self giveWeapon("commando_zm");
self switchToWeapon("commando_zm");
break;
case 20:
self thread Steal_gg_guns();
self giveWeapon("commando_upgraded_zm");
self switchToWeapon("commando_upgraded_zm");
break;
case 21:
self thread Steal_gg_guns();
self giveWeapon("dragunov_zm");
self switchToWeapon("dragunov_zm");
break;
case 22:
self thread Steal_gg_guns();
self giveWeapon("dragunov_upgraded_zm");
self switchToWeapon("dragunov_upgraded_zm");
break;
case 23:
self thread Steal_gg_guns();
self giveWeapon("famas_zm");
self switchToWeapon("famas_zm");
break;
case 24:
self thread Steal_gg_guns();
self giveWeapon("famas_upgraded_zm");
self switchToWeapon("famas_upgraded_zm");
break;
case 25:
self thread Steal_gg_guns();
self giveWeapon("fnfal_zm");
self switchToWeapon("fnfal_zm");
break;
case 26:
self thread Steal_gg_guns();
self giveWeapon("fnfal_upgraded_zm");
self switchToWeapon("fnfal_upgraded_zm");
break;
case 27:
self thread Steal_gg_guns();
self giveWeapon("galil_zm");
self switchToWeapon("galil_zm");
break;
case 28:
self thread Steal_gg_guns();
self giveWeapon("galil_upgraded_zm");
self switchToWeapon("galil_upgraded_zm");
break;
case 29:
self thread Steal_gg_guns();
self giveWeapon("hk21_zm");
self switchToWeapon("hk21_zm");
break;
case 30:
self thread Steal_gg_guns();
self giveWeapon("hk21_upgraded_zm");
self switchToWeapon("hk21_upgraded_zm");
break;
case 31:
self thread Steal_gg_guns();
self giveWeapon("hs10_zm");
self switchToWeapon("hs10_zm");
break;
case 32:
self thread Steal_gg_guns();
self giveWeapon("hs10_upgraded_zm");
self switchToWeapon("hs10_upgraded_zm");
break;
case 33:
self thread Steal_gg_guns();
self giveWeapon("l96a1_zm");
self switchToWeapon("l96a1_zm");
break;
case 34:
self thread Steal_gg_guns();
self giveWeapon("l96a1_upgraded_zm");
self switchToWeapon("l96a1_upgraded_zm");
break;
case 35:
self thread Steal_gg_guns();
self giveWeapon("mp5k_zm");
self switchToWeapon("mp5k_zm");
break;
case 36:
self thread Steal_gg_guns();
self giveWeapon("mp5k_upgraded_zm");
self switchToWeapon("mp5k_upgraded_zm");
break;
case 37:
self thread Steal_gg_guns();
self giveWeapon("python_zm");
self switchToWeapon("python_zm");
break;
case 38:
self thread Steal_gg_guns();
self giveWeapon("python_upgraded_zm");
self switchToWeapon("python_upgraded_zm");
break;
case 39:
self thread Steal_gg_guns();
self giveWeapon("rpk_zm");
self switchToWeapon("rpk_zm");
break;
case 40:
self thread Steal_gg_guns();
self giveWeapon("rpk_upgraded_zm");
self switchToWeapon("rpk_upgraded_zm");
break;
case 41:
self thread Steal_gg_guns();
self giveWeapon("spas_zm");
self switchToWeapon("spas_zm");
break;
case 42:
self thread Steal_gg_guns();
self giveWeapon("spas_upgraded_zm");
self switchToWeapon("spas_upgraded_zm");
break;
case 43:
self thread Steal_gg_guns();
self giveWeapon("spectre_zm");
self switchToWeapon("spectre_zm");
break;
case 44:
self thread Steal_gg_guns();
self giveWeapon("spectre_upgraded_zm");
self switchToWeapon("spectre_upgraded_zm");
break;
case 45:
self thread Steal_gg_guns();
self giveWeapon("python_zm");
self switchToWeapon("python_zm");
break;
case 46:
self thread Steal_gg_guns();
self giveWeapon("wa2000_zm");
self switchToWeapon("wa2000_zm");
break;
case 47:
self thread Steal_gg_guns();
self giveWeapon("wa2000_upgraded_zm");
self switchToWeapon("wa2000_upgraded_zm");
break;
case 48:
self thread Steal_gg_guns();
self giveWeapon("ray_gun_zm");
self switchToWeapon("ray_gun_zm");
break;
case 49:
self thread Steal_gg_guns();
self giveWeapon("ray_gun_upgraded_zm");
self switchToWeapon("ray_gun_upgraded_zm");
break;
case 50:
self thread Steal_gg_guns();
self giveWeapon("thundergun_zm");
self switchToWeapon("thundergun_zm");
break;
}
}
TeleZombies()
{
if( self.TeleZombies == false )
{
self.TeleZombies = true;
self iPrintln( "Teleport Zombies To Crosshairs [^2ON^7]" );
self thread doTeleZombies();
}
else
{
self.Zombz2CH = false;
self iPrintln( "Teleport Zombies To Crosshairs [^1OFF^7]" );
self notify( "TeleZombies" );
}
}
doTeleZombies()
{
self endon( "TeleZombies" );
for(;
;
)
{
self waittill( "weapon_fired" );
Zombz = GetAiSpeciesArray( "axis", "all" );
eye = self geteye();
vec = anglesToForward( self getPlayerAngles() );
end = ( vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000 );
teleport_loc = BulletTrace( eye, end, 0, self )[ "position" ];
for( i = 0;
i < Zombz.size;
i++ )
{
Zombz[i] forceTeleport( teleport_loc );
Zombz[i] maps\_zombiemode_spawner::reset_attack_spot();
}
self iPrintln( "All Zombies Teleported To Crosshairs" );
}
}
WTF_visions()
{
self setClientDvar( "r_debugshader", "1" );
}
Snowing()
{
self setClientDvar("r_lightTweakSunLight", "1.0");
self setClientDvar("r_lightTweakSunColor", "2.0 2.0");
self setClientDvar("r_colorMap", "3");
}
All_Black()
{
self setClientDvar("r_lightTweakSunLight", "1.0");
self setClientDvar("r_lightTweakSunColor", "2.0 2.0");
self setClientDvar("r_colorMap", "0");
}
Cartoon_vis()
{
self setClientDvar( "r_fullbright", "1" );
}
Default_Visions()
{
self setClientDvar( "r_fullbright", "0" );
self setClientDvar( "r_debugshader", "0" );
self setClientDvar("r_colorMap", "1");

}
Fov_slider()
{
self thread closemenu();
wait 0.2;
self thread Fov_Slider1( "cg_fov", 150, 10);
}
Fov_Slider1( dvar, max, multiply )
{
curs = 0;
slider["Sli"] = 0;
slider["bar"] = CreateRectangle( "CENTER", "CENTER", 0, 0, 215, 100, 0, (0,0,0), .9, "White" );
slider["value"] = createValue("default",1.4,"CENTER","CENTER",50,90,1,1,curs);
slider["Slides"] = CreateRectangle( "CENTER", "CENTER", ((slider["Sli"]*1.50)-105), 0, 5, 100, 10, (0,0,1), .7, "White" );
self.Menu["Xptext1"] = self CreateMenuText( "Objective", 2.7, "CENTER", "CENTER", 0, -90, 1, 1, "Change FoV Scale" );
self.Menu["Xptext"] = self CreateMenuText( "Objective", 1.5, "CENTER", "CENTER", -50, 90, 1, 1, "Your Fov Is now:" );
for(;;)
{
  if(self attackButtonPressed() || self adsButtonPressed())
  {
   curs += (max/140*self attackButtonPressed());
   curs -= (max/140*self adsButtonPressed());
   slider["Sli"]-= self adsButtonPressed();
   slider["Sli"]+= self attackButtonPressed();
   if(curs > max)
   curs = 0;
   if(slider["Sli"] < 0)
   slider["Sli"] = 140;
   if(curs < 0)
    curs = max;
    if(slider["Sli"] > 140)
    slider["Sli"] = 0;
    slider["Slides"] moveOverTime(.05);
    slider["Slides"].x = ((slider["Sli"]*1.50)-105);
   self setClientDvar( dvar, curs );
  }
  if(self useButtonPressed())
   break;
  
  slider["bar"] updateBar( curs/max );
  slider["value"] setValue( curs );
  wait .05;
}
self freezeControls(false); //you dont need this in if your entering your menu.
key = getArrayKeys(slider);
for(k = 0; k < key.size; k++)
  slider[key[k]] destroyElem();
  self thread Destroy_text_Dvar_xp();
  self.Dvaropts Destroy();
}
Destroy_text_Dvar_xp()
{
self.Menu["Xptext"] Destroy();
self.Menu["Xptext1"] Destroy();
}
Survival_Gamemode()
{
self thread closemenu();
self thread OR_Welcome();
self thread Kino_Spawns();
self thread DeleteGuns();
self thread Doors_open();
self thread deletePerks();
}
Doors_open()
{
    self.score_total = 3000;
    self.score = 3000;
    self maps\_zombiemode_score::set_player_score_hud();
    wait 0.5;
    Triggers = StrTok( "zombie_door|zombie_debris|flag_blocker|window_shutter|zombie_trap", "|" );
    for( a = 0;
    a < Triggers.size;
    a++ )
    {
        Trigger = GetEntArray( Triggers[a], "targetname" );
        for( b = 0;
        b < Trigger.size;
        b++ )
        {
            Trigger[b] notify( "trigger", self );
        }
    }
    wait .1;
}
deletePerks()
{
    vending_triggers = GetEntArray("zombie_vending", "targetname");
    for (i = 0; i <= vending_triggers.size - 1; i++)
    {
        vending_triggers[i] delete();
    }
}
DeleteGuns()
{
    if (self.removeWeapons == false)
    {
        self.removeWeapons = true;
        weapons = GetEntArray("weapon_upgrade", "targetname");
        for (i = 0; i <= weapons.size - 1; i++)
        {
            weapons[i] delete();
        }
        self iPrintln("");
    }
    else
    {
        self iPrintln("");
    }
}
OR_Welcome()
{
self.Menu["Backed"] = self CreateRectangle( "CENTER", "CENTER", 0, 0, 1000, 1000, 0, (0,0,0), 1, "White" );
self thread DoMessage("Welcome to Kino Survival", "Scripted By xMccoy5868", "Part Of the InFiNiTy Modding Clan");
wait 8.5;
self.Menu["Backed"] Destroy();
}
DoMessage(SwA1, SwA2 ,SwA3)
{
   Text1 = createServerFontString("default",2.0);
   Text1 setPoint("CENTER","CENTER",0,-20);
   Text1 setText(SwA1);
   Text1.glow = 1;
   Text1.glowColor = (0.5,0.0,0.8);
   Text1.glowAlpha = 1;
   Text1.color = (1,1,1);
   Text1.alpha = 1;
   Text1.sort = 2;
   Text1 moveOverTime(.6);
   Text1.y = -20;
   Text1.x = 0;
   wait .6;
   Text2 = createServerFontString("default",2.0);
   Text2 setPoint("CENTER","CENTER",0,30);
   Text2 setText(SwA2);
   Text2.glow = 1;
   Text2.glowColor = (0.5,0.0,0.8);
   Text2.glowAlpha = 1;
   Text2.color = (1,1,1);
   Text2.alpha = 1;
   Text2.sort = 2;
   Text2 moveOverTime(.6);
   Text2.y = 30;
   Text2.x = 0;
   wait .6;
   Text3 = createServerFontString("default",2.0);
   Text3 setPoint("CENTER","CENTER",0,80);
   Text3 setText(SwA3);
   Text3.glow = 1;
   Text3.glowColor = (0.5,0.0,0.8);
   Text3.glowAlpha = 1;
   Text3.color = (1,1,1);
   Text3.alpha = 1;
   Text3.sort = 2;
   Text3 moveOverTime(.6);
   Text3.y = 80;
   Text3.x = 0;
   wait .6;
   Text1 SetPulseFX(50,6050,600);
   Text2 SetPulseFX(50,6050,600);
   Text3 SetPulseFX(50,6050,600);
   wait 7;
}
Kino_Spawns()
{
self SetExpFog( 256, 512, 0, 0, 0, 0 );
self SetVolFog( 165, 835, 200, 75, 0, 0, 0, 0 );
self setClientDvar( "r_lightTweakSunLight", "0" );
self thread Createfog();
}
Createfog()
{
    playfx(level._effect["edge_fog"], (311.925, -2292.73, 90.146));
    wait 1;
    playfx(level._effect["edge_fog"], (278.564, -1442.75, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (290.189, -992.774, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (-130.33, -1171.21, 180.135));
    wait 1;
    playfx(level._effect["edge_fog"], (107.529, -694.124, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (-23.0436, -186.554, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (-425.562, 486.842, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (650.001, 602.915, 90.135));
    wait 1;
    playfx(level._effect["edge_fog"], (200.819, 541.238, 90.009));
    wait 1;
    playfx(level._effect["edge_fog"], (-778.52, -709.506, 90.562));
    wait 1;
    playfx(level._effect["edge_fog"], (-1084.24, 108.086, 44.2132));
}
roundchanger()
{
wait 1.0;
sliderx["slidez"] = 0;
self thread closemenu();
self.Roundz = [];
self.Roundz[0] = (1,0,0);
self.Roundz[1] = (0,0,1);
self.Roundz_functions = [];
self.Roundz_functions[0] = 0;
self.Roundz_functions[1] = 1;
curs = 0;
self.Menu["Text"] = self CreateMenuText( "Objective", 1.35, "CENTER", "CENTER", 0, -210, 1, 1, "Current Round:"+level.round_number+"" );
self.Menu["Fog_bg"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, (0,0,0), .7, "White" );
self.Menu["Plus"] = self CreateMenuText( "Bigfixed", 3, "", "", -50, -180, 1, 1, "+" );
self.Menu["minus"] = self CreateMenuText( "Bigfixed", 3, "", "", 50, -180, 1, 1, "-" );
self.Menu["Slider"] = CreateRectangle( "CENTER", "CENTER", ((sliderx["slidez"]*1.50)-50), -170, 40, 40, 10, (1,1,1), .6, "White" );
//Now for the 3 rows of colored blocks indicating which Fog color you are chooseing!

for(;;)
{

curs += self AttackButtonPressed();
curs -= self AdsButtonPressed();
sliderx["slidez"]-= self adsButtonPressed();
sliderx["slidez"]+= self attackButtonPressed();
if(curs < 0)
    curs = self.Roundz_functions.size-1;
if(sliderx["slidez"] < 0)
    sliderx["slidez"] = 1;
if(curs > self.Roundz_functions.size-1)
curs = 0;
if(sliderx["slidez"] > 1)
    sliderx["slidez"] = 0;
self.Menu["Slider"] moveOverTime(1.2);
self.Menu["Slider"].x = ((sliderx["slidez"]*100)-50);
if(self useButtonPressed())
{
self.Round = curs;
self.Menu["Text"] destroy();
Rounds_functional();
self.Menu["Text"] = self CreateMenuText( "Objective", 1.35, "CENTER", "CENTER", 0, -210, 1, 1, "Current Round:"+level.round_number+"" );
}
if(self fragButtonPressed())
{
break;
}
wait 0.1;
}
self.Menu["Slider"] destroy();
self.inSelector = false;
self.Menu["Text"] destroy();
self.Menu["Fog_bg"] destroy();
self.Menu["Plus"] destroy();
self.Menu["minus"] destroy();
wait 2.5;
}
Rounds_functional()
{
if(self.Round == 0)
{
level.round_number = level.round_number + 1;
}
if(self.Round == 1)
{
level.round_number = level.round_number - 1;
}
}
Score_Changer()
{
wait 1.0;
sliderx["slidez"] = 0;
self thread closemenu(); //Might need to change it to your close menu function
self.Score_functions = [];
self.Score_functions[0] = 0;
self.Score_functions[1] = 1;
curs = 0;
self.Menu["Text"] = self CreateMenuText( "Objective", 1.35, "CENTER", "CENTER", 0, -210, 1, 1, "Current Score:"+self.score_total+"" );
self.Menu["Score_bg"] = self CreateRectangle( "", "", 0, -185, 260, 123, 0, (0,0,0), .7, "White" );
self.Menu["Plus"] = self CreateMenuText( "Bigfixed", 3, "", "", -50, -180, 1, 1, "+" );
self.Menu["minus"] = self CreateMenuText( "Bigfixed", 3, "", "", 50, -180, 1, 1, "-" );
self.Menu["Slider"] = CreateRectangle( "CENTER", "CENTER", ((sliderx["slidez"]*1.50)-50), -170, 40, 40, 10, (1,1,1), .6, "White" );

for(;;)
{

curs += self AttackButtonPressed();
curs -= self AdsButtonPressed();
sliderx["slidez"]-= self adsButtonPressed();
sliderx["slidez"]+= self attackButtonPressed();
if(curs < 0)
    curs = self.Score_functions.size-1;
if(sliderx["slidez"] < 0)
    sliderx["slidez"] = 1;
if(curs > self.Score_functions.size-1)
curs = 0;
if(sliderx["slidez"] > 1)
    sliderx["slidez"] = 0;
self.Menu["Slider"] moveOverTime(1.2);
self.Menu["Slider"].x = ((sliderx["slidez"]*100)-50);
if(self useButtonPressed())
{
self.Scorex = curs;
self.Menu["Text"] destroy();
Score_functional();
self.Menu["Text"] = self CreateMenuText( "Objective", 1.35, "CENTER", "CENTER", 0, -210, 1, 1, "Current Score:"+self.score_total+"" );
}
if(self fragButtonPressed())
{
break;
}
wait 0.1;
}
self.Menu["Slider"] destroy();
self.Menu["Text"] destroy();
self.Menu["Score_bg"] destroy();
self.Menu["Plus"] destroy();
self.Menu["minus"] destroy();
wait 2.5;
}
Score_functional()
{
if(self.Scorex == 0)
{
self.score_total = self.score_total + 1001;
self.score = self.score + 1001;
self maps\_zombiemode_score::set_player_score_hud();
}
if(self.Scorex == 1)
{
self.score_total = self.score_total - 1000;
self.score = self.score - 1000;
self maps\_zombiemode_score::set_player_score_hud();
}
}
 
Last edited:

Guilherme_INFR

Insane-Known Member
Messages
79
Points
368
Updated Screenshots, someone can try to clean all Sub Menus, i noob at GSC so... anyone can try and make the base 100% clean :grinning:
 

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,616
Points
828
A it's the mccoy5856 menu base. This base is really unstable, before you use it you should chnage the order of the hud elements. :smile: The Menu gets often element overlapping.
 

Guilherme_INFR

Insane-Known Member
Messages
79
Points
368
Hum
A it's the mccoy5856 menu base. This base is really unstable, before you use it you should chnage the order of the hud elements. :grinning: The Menu gets often element overlapping.
hum.... I will search for an other base so.
 

Similar threads


Top