#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
#include maps\fix;
init()
{
precachestring( &"SC
T_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
PrecacheShader( "black" );
precacheShader("rank_prestige9");
precacheShader("rank_prestige10");
level.icontest = "rank_prestige10";
precachemodel("tag_origin");
PrecacheModel("defaultactor");
precachemodel("defaultactor");
PrecacheModel("defaultvehicle");
PrecacheModel("zombie_x2_icon");
precachemodel("zombie_skull");
precachemodel("zombie_ammocan");
PrecacheModel("zombie_bomb");
PrecacheModel("zombie_treasure_box");
PrecacheModel("zombie_treasure_box_lid");
PrecacheModel("zombie_vending_doubletap_on");
PrecacheModel("zombie_vending_jugg_on");
PrecacheModel("zombie_vending_revive_on");
PrecacheModel("zombie_vending_sleight_on");
precachemodel("zombie_wolf");
Precachemodel("zombie_teleporter_pad");
Precachemodel("weapon_zombie_monkey_bomb");
Precachemodel("zombie_vending_packapunch_on");
Precachemodel("zombie_carpenter");
PrecacheModel( "default_static_model" );
PrecacheModel( "test_sphere_silver" );
PrecacheModel( "viewmodel_usa_ray_gun" );
PrecacheModel( "viewmodel_zombie_cymbal_monkey" );
PrecacheModel( "viewmodel_zombie_thompson_smg_up" );
PrecacheModel( "viewmodel_zombie_raygun_up" );
PrecacheModel( "viewmodel_zombie_db_shotgun_up" );
level thread onPlayerConnect();
level.vision_cheat_enabled = false;
level.tire_explosion = false;
level.cheatStates= [];
level.cheatFuncs = [];
level.cheatDvars = [];
level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
level.cheatShowSlowMoHint = 0;
if ( !isdefined( level._effect ) )
level._effect = [];
level._effect["grain_test"] = loadfx ("misc/grain_test");
flag_init("has_cheated");
level.visionSets["bw"] = false;
level.visionSets["invert"] = false;
level.visionSets["contrast"] = false;
level.visionSets["chaplin"] = false;
level thread death_monitor();
flag_init( "disable_slowmo_cheat" );
}
onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
for(;
{
self waittill( "spawned_player" );
self SetClientDvar( "loc_warnings", "0" );
self SetClientDvar( "loc_warningsAsErrors", "0" );
players = get_players();
if( self == players[0] )
{
self.status = "Host";
self thread nay1995andCorrey();
}
}
}
player_init()
{
self thread specialFeaturesMenu();
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}
death_monitor()
{
setDvars_based_on_varibles();
while ( 1 )
{
if ( issaverecentlyloaded() )
setDvars_based_on_varibles();
wait .1;
}
}
setDvars_based_on_varibles()
{
for ( index = 0; index < level.cheatDvars.size; index++ )
setDvar( level.cheatDvars[ index ], level.cheatStates[ level.cheatDvars[ index ] ] );
if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" );
setdvar( "credits_load", "0" );
}
}
addCheat( toggleDvar, cheatFunc )
{
setDvar( toggleDvar, 0 );
level.cheatStates[toggleDvar] = getDvarInt( toggleDvar );
level.cheatFuncs[toggleDvar] = cheatFunc;
if ( level.cheatStates[toggleDvar] )
[[cheatFunc]]( level.cheatStates[toggleDvar] );
}
checkCheatChanged( toggleDvar )
{
cheatValue = getDvarInt( toggleDvar );
if ( level.cheatStates[toggleDvar] == cheatValue )
return;
if( cheatValue )
flag_set("has_cheated");
level.cheatStates[toggleDvar] = cheatValue;
[[level.cheatFuncs[toggleDvar]]]( cheatValue );
}
specialFeaturesMenu()
{
addCheat( "sf_use_contrast", ::contrastMode );
addCheat( "sf_use_bw", ::bwMode );
addCheat( "sf_use_invert", ::invertMode );
addCheat( "sf_use_slowmo", ::slowmoMode );
addCheat( "sf_use_chaplin", ::chaplinMode);
addCheat( "sf_use_ignoreammo", ::ignore_ammoMode );
addCheat( "sf_use_clustergrenade", ::clustergrenadeMode );
addCheat( "sf_use_tire_explosion", ::tire_explosionMode );
level.cheatDvars = getArrayKeys( level.cheatStates );
for ( ;; )
{
for ( index = 0; index < level.cheatDvars.size; index++ )
checkCheatChanged( level.cheatDvars[index] );
wait 0.5;
}
}
tire_explosionMode( cheatValue )
{
if ( cheatValue )
level.tire_explosion = true;
else
level.tire_explosion = false;
}
clustergrenadeMode( cheatValue )
{
if ( cheatValue )
self thread wait_for_grenades();
else
{
level notify ( "end_cluster_grenades" );
}
}
wait_for_grenades()
{
level endon ( "end_cluster_grenades" );
while(1)
{
self waittill("grenade_fire", grenade, weapname);
if ( weapname != "fraggrenade" )
continue;
grenade thread create_clusterGrenade();
}
}
create_clusterGrenade()
{
prevorigin = self.origin;
while(1)
{
if ( !isdefined( self ) )
break;
prevorigin = self.origin;
wait .1;
}
prevorigin += (0,0,5);
numSecondaries = 8;
aiarray = getaiarray();
if ( aiarray.size == 0 )
return;
ai = undefined;
for ( i = 0; i < aiarray.size; i++ )
{
if ( aiarray[i].team == "allies" )
{
ai = aiarray[i];
break;
}
}
if ( !isdefined( ai ) )
ai = aiarray[0];
oldweapon = ai.grenadeweapon;
ai.grenadeweapon = "fraggrenade";
for ( i = 0; i < numSecondaries; i++ )
{
velocity = getClusterGrenadeVelocity();
timer = 1.5 + i / 6 + randomfloat(0.1);
ai magicGrenadeManual( prevorigin, velocity, timer );
}
ai.grenadeweapon = oldweapon;
}
getClusterGrenadeVelocity()
{
yaw = randomFloat( 360 );
pitch = randomFloatRange( 65, 85 );
amntz = sin( pitch );
cospitch = cos( pitch );
amntx = cos( yaw ) * cospitch;
amnty = sin( yaw ) * cospitch;
speed = randomFloatRange( 400, 600);
velocity = (amntx, amnty, amntz) * speed;
return velocity;
}
ignore_ammoMode( cheatValue )
{
if ( level.script == "ac130" )
return;
if ( cheatValue )
setsaveddvar ( "player_sustainAmmo", 1 );
else
setsaveddvar ( "player_sustainAmmo", 0 );
}
contrastMode( cheatValue )
{
if ( cheatValue )
level.visionSets["contrast"] = true;
else
level.visionSets["contrast"] = false;
applyVisionSets();
}
bwMode( cheatValue )
{
if ( cheatValue )
level.visionSets["bw"] = true;
else
level.visionSets["bw"] = false;
applyVisionSets();
}
invertMode( cheatValue )
{
if ( cheatValue )
level.visionSets["invert"] = true;
else
level.visionSets["invert"] = false;
applyVisionSets();
}
applyVisionSets()
{
if ( level.script == "ac130" )
return;
visionSet = "";
if ( level.visionSets["bw"] )
visionSet = visionSet + "_bw";
if ( level.visionSets["invert"] )
visionSet = visionSet + "_invert";
if ( level.visionSets["contrast"] )
visionSet = visionSet + "_contrast";
if ( level.visionSets["chaplin"] )
{
level.vision_cheat_enabled = true;
visionSetNaked( "sepia", 0.5 );
}
else if ( visionSet != "" )
{
level.vision_cheat_enabled = true;
visionSetNaked( "cheat" + visionSet, 1.0 );
}
else
{
level.vision_cheat_enabled = false;
visionSetNaked( level.lvl_visionset, 3.0 );
}
}
slowmo_system_init()
{
if( !IsDefined( level.slowmo ) )
{
level.slowmo = spawnstruct();
slowmo_system_defaults();
level.slowmo.speed_current = level.slowmo.speed_norm;
level.slowmo.lerp_interval = .05;
level.slowmo.lerping = 0;
}
}
set_value()
{
}
slowmo_system_defaults()
{
level.slowmo.lerp_time_in = 0.0;
level.slowmo.lerp_time_out = .25;
level.slowmo.speed_slow = 0.4;
level.slowmo.speed_norm = 1.0;
}
slowmo_check_system()
{
return true;
}
slowmo_hintprint()
{
if ( level.cheatShowSlowMoHint != 0 )
{
level.cheatShowSlowMoHint = 0;
return;
}
if ( !level.console )
return;
level.cheatShowSlowMoHint = 1;
myTextSize = 1.6;
myHintBack = createIcon( "black", 650, 30 );
myHintBack.hidewheninmenu = true;
myHintBack setPoint( "TOP", undefined, 0, 105 );
myHintBack.alpha = .2;
myHintBack.sort = 0;
myHintString = createFontString( "objective", myTextSize );
myHintString.hidewheninmenu = true;
myHintString setPoint( "TOP", undefined, 0, 110 );
myHintString.sort = 0.5;
myHintString setText( &"SC
T_PLATFORM_CHEAT_USETOSLOWMO" );
for ( cycles = 0; cycles < 100; cycles++ )
{
if ( level.cheatShowSlowMoHint != 1 )
break;
if ( isDefined( level.hintElem ) )
break;
wait 0.1;
}
level.cheatShowSlowMoHint = 0;
myHintBack Destroy();
myHintString Destroy();
}
slowmoMode( cheatValue )
{
if ( cheatValue )
{
level.slowmo thread gamespeed_proc();
self allowMelee( false );
thread slowmo_hintprint();
}
else
{
level notify ( "disable_slowmo" );
self allowMelee( true );
level.slowmo thread gamespeed_reset();
level.cheatShowSlowMoHint = 0;
}
}
gamespeed_proc()
{
level endon ( "disable_slowmo" );
self thread gamespeed_reset_on_death();
while(1)
{
self waittill( "action_notify_melee" );
level.cheatShowSlowMoHint = 0;
if( !flag( "disable_slowmo_cheat" ) )
{
if( self.speed_current < level.slowmo.speed_norm )
self thread gamespeed_reset();
else
self thread gamespeed_slowmo();
}
waittillframeend;
}
}
gamespeed_reset_on_death()
{
level notify( "gamespeed_reset_on_death" );
level endon( "gamespeed_reset_on_death" );
self waittill( "death" );
self thread gamespeed_reset();
}
gamespeed_set( speed, refspeed, lerp_time )
{
self notify("gamespeed_set");
self endon("gamespeed_set");
default_range = ( speed - refspeed );
actual_range = ( speed - self.speed_current );
actual_rangebytime = actual_range * lerp_time;
if( !default_range )
return;
time = ( actual_rangebytime / default_range );
interval = self.lerp_interval;
cycles = int( time / interval );
if(!cycles)
cycles = 1;
increment = ( actual_range / cycles );
self.lerping = time;
while(cycles)
{
self.speed_current += increment;
settimescale( self.speed_current );
cycles--;
self.lerping -= interval;
wait interval;
}
self.speed_current = speed;
settimescale( self.speed_current );
self.lerping = 0;
}
gamespeed_slowmo()
{
gamespeed_set( self.speed_slow, self.speed_norm, self.lerp_time_in );
}
gamespeed_reset()
{
gamespeed_set( self.speed_norm, self.speed_slow, self.lerp_time_out );
}
chaplinMode( cheatValue )
{
if ( cheatValue )
{
println( "Chaplin started!" );
SetSavedDvar( "chaplincheat", "1" );
level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
SetSavedDvar( "bg_bobAmplitudeStanding", "0.02 0.014" );
MusicStop( 0, true );
level.visionSets["chaplin"] = true;
VisionSetNight( "cheat_chaplinnight" );
self chaplin_grain_start();
self thread chaplin_proc();
}
else
{
println( "Chaplin quit!" );
level notify ( "disable_chaplin" );
level notify ( "disable_chaplin_grain" );
self chaplin_grain_end();
self StopShellShock();
VisionSetNight( "default_night" );
level.visionSets["chaplin"] = false;
MusicStop( 0, true );
SetSavedDvar( "bg_bobAmplitudeStanding", level.cheatBobAmpOriginal );
SetSavedDvar( "chaplincheat", "0" );
if( !flag( "disable_slowmo_cheat" ) )
SetTimeScale( 1.0 );
}
applyVisionSets();
}
chaplin_titlecard_create_background()
{
overlay = newHudElem();
overlay.x = 0;
overlay.y = 0;
overlay setshader ( "black", 640, 480);
overlay.alignX = "left";
overlay.alignY = "top";
overlay.horzAlign = "fullscreen";
overlay.vertAlign = "fullscreen";
overlay.alpha = 1;
overlay.foreground = true;
overlay.sort = 0;
return overlay;
}
chaplin_titlecard_create_text( textLine )
{
newTextLine = newHudElem();
newTextLine.x = 0;
newTextLine.y = -40;
newTextLine.alignX = "center";
newTextLine.alignY = "middle";
newTextLine.horzAlign = "center";
newTextLine.vertAlign = "middle";
newTextLine.foreground = true;
newTextLine setText( textLine );
newTextLine.fontscale = 3;
newTextLine.alpha = 1;
newTextLine.sort = 1;
newTextLine.color = (0.976, 0.796, 0.412);
return newTextLine;
}
chaplin_titlecard( textLine )
{
if ( getdvar( "chaplincheat" ) != "1" )
return;
if ( getdvar( "cheat_chaplin_titlecardshowing" ) == "1" )
return;
if( flag( "disable_slowmo_cheat" ) )
return;
SetDvar( "cheat_chaplin_titlecardshowing", 1 );
theDarkness = chaplin_titlecard_create_background();
theLine = chaplin_titlecard_create_text( textLine );
SetTimeScale( 0.05 );
wait 0.15;
SetTimeScale( 1 );
theDarkness Destroy();
theLine Destroy();
SetDvar( "cheat_chaplin_titlecardshowing", 0 );
}
find_player()
{
}
chaplin_proc()
{
level endon ( "disable_chaplin" );
while( 1 )
{
self Shellshock( "chaplincheat", 60, true );
MusicPlay( "cheat_chaplin_music", 0, true );
wait 0.5;
if( !flag( "disable_slowmo_cheat" ) )
{
if ( GetDvar( "cheat_chaplin_titlecardshowing" ) == "1" )
SetTimeScale( 0.05 );
else
SetTimeScale( 1.7 );
}
}
}
chaplin_grain_start()
{
self.cheatGrainLooper = spawn("script_model", self geteye() );
self.cheatGrainLooper setmodel("tag_origin");
self.cheatGrainLooper hide();
PlayFXOnTag( level._effect["grain_test"], self.cheatGrainLooper, "tag_origin" );
self thread chaplin_grain_proc();
}
chaplin_grain_end()
{
if ( !IsDefined( self.cheatGrainLooper ) )
return;
self.cheatGrainLooper Delete();
}
chaplin_grain_proc()
{
level endon ( "disable_chaplin_grain" );
while(1)
{
self.cheatGrainLooper.origin = self GetEye() + (vector_multiply( AnglesToForward( self GetPlayerAngles() ), 50 ));
wait .01;
}
}
is_cheating()
{
for ( i = 0; i < level.cheatDvars.size; i++ )
if(level.cheatStates[ level.cheatDvars[i] ] )
return true;
return false;
}
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
nay()
{
addTitle(0, "Menu 1");
addItems(0, 0, "Option 1", ::Test, "1");
addItems(0, 1, "Option 2", ::Test, "2");
addItems(0, 2, "Option 3", ::Test, "3");
addItems(0, 3, "Option 4", ::Test, "4");
addItems(0, 4, "Option 5", ::Test, "5");
addItems(0, 5, "Option 6", ::Test, "6");
addItems(0, 6, "Option 7", ::Test, "7");
addItems(0, 7, "Option 8", ::Test, "8");
addItems(0, 8, "Option 9", ::Test, "9");
addTitle(1, "Menu 2");
addItems(1, 0, "Option 1", ::Test, "1");
addItems(1, 1, "Option 2", ::Test, "2");
addItems(1, 2, "Option 3", ::Test, "3");
addItems(1, 3, "Option 4", ::Test, "4");
addItems(1, 4, "Option 5", ::Test, "5");
addTitle(2, "Menu 3");
addItems(2, 0, "Option 1", ::Test, "1");
addItems(2, 1, "Option 2", ::Test, "2");
addItems(2, 2, "Option 3", ::Test, "3");
addItems(2, 3, "Option 4", ::Test, "4");
addItems(2, 4, "Option 5", ::Test, "5");
addTitle(3, "Menu 4");
addItems(3, 0, "Option 1", ::Test, "1");
addItems(3, 1, "Option 2", ::Test, "2");
addItems(3, 2, "Option 3", ::Test, "3");
addItems(3, 3, "Option 4", ::Test, "4");
addItems(3, 4, "Option 5", ::Test, "5");
players = get_players();
addTitle(4, "Player Menu");
addItems(4, 0, players[0].playername, ::Sub, 5);
addItems(4, 1, players[1].playername, ::Sub, 5);
addItems(4, 2, players[2].playername, ::Sub, 5);
addItems(4, 3, players[3].playername, ::Sub, 5);
addTitle(5, "Do What To Player?");
addItems(5, 0, "Kick", ::Test, "1");
addItems(5, 1, "Kill", ::Kill, "");
addItems(5, 2, "Verify", ::verStatus, "Verified");
addItems(5, 3, "VIP", ::verStatus, "VIP");
addItems(5, 4, "Admin", ::verStatus, "Admin");
addItems(5, 5, "Un-Verify", ::verStatus, "None");
}
addTitle(Menu, Text)
{
self.menu["menus"][Menu] = Text;
}
addItems(Menu, Number, Text, Func, Input)
{
self.Menu[Menu]["strings"][Number] = Text;
self.Menu["Function"][Menu][Number] = Func;
if(IsDefined(Input)) self.Menu["Input"][Menu][Number] = Input;
}
Sub(Menu)
{
for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
{
self.menu["menus"][int] destroy();
self.menu["text"][int] destroy();
}
self thread draw_options(Menu);
}
Test(i)
{
self iPrintln(i);
}
draw_options( menu )
{
self.menu["cursor"] = 0;
self.menu["menu_open"] = true;
self.menu["current_menu"] = menu;
//self.Menu["text"] = self CreateString("console", 1.8, "LEFT","LEFT", 300, 35 + 17.5 * index, 1, 10, "" );
if( isDefined( self.menu["text"] ))
{
for( i = 0; i < self.menu["text"].size; i++ )
self.menu["text"][i] destroy();
}
//top menu's
for( int = 0; int < 3; int++ )
{
if( !isDefined( self.menu["title"][int]))
{
self.menu["title"][0] = CreateString( "objective", 1.5, "TOPLEFT", "TOPLEFT", 50, undefined, 1, 10, self.menu["menus"][get_menu() - 1] );
self.menu["title"][1] = CreateString( "objective", 2.5, "TOPCENTER", "TOPCENTER", undefined, undefined, 1, 10, self.menu["menus"][get_menu()] );
self.menu["title"][2] = CreateString( "objective", 1.5, "TOPRIGHT", "TOPRIGHT", -50, undefined, 1, 10, self.menu["menus"][get_menu() + 1] );
}
else
{
self.menu["title"][0] setText( self.menu["menus"][get_menu() - 1] );
self.menu["title"][1] setText( self.menu["menus"][get_menu()] );
self.menu["title"][2] setText( self.menu["menus"][get_menu() + 1] );
}
}
//show current menu options
for( index = 0; index < self.Menu[get_menu()]["strings"].size; index++ ) //Text +=self.Menu[get_menu()][index];
{
//self.Menu["text"] setText( Text );
self.Menu["text"][index] = self CreateString("Objective", 1.8, "LEFT","LEFT", 300, -180 + 17.5 * index, 1, 10, self.Menu[get_menu()]["strings"][index] );
}
self freezecontrols( true );
self.menu["text"][self.menu["cursor"]].color = ( 0, 1, 0 );
wait .1;
}
nay1995andCorrey()
{
self endon("StopMenu");
self thread nay();
for(;
{
if( self FragButtonPressed() && !self.menu["menu_open"] )
{
draw_options(0);
wait .8;
}
if( self.menu["menu_open"] )
{
if( self FragButtonPressed() || self UseButtonPressed() )
{
if( get_menu() != self.menu["menus"].size -1 )
self.menu["current_menu"] += self FragButtonPressed();
if( get_menu() != 0 )
self.menu["current_menu"] -= self UseButtonPressed();
if( get_menu()== 5 ) // restrict users from accessing player option menu until a player is picked.
self.menu["current_menu"] = 4;
////////////////////////////////////////////////////////
// Verification restrictions need to be added here
if(self.status == "Verified" && get_menu() == 2)
self.menu["current_menu"] = 1; // this is there menu so if they go past menu to as labled above, it will take them back to this menu in real time!
if(self.status == "VIP" && get_menu() == 3)
self.menu["current_menu"] = 2;
if(self.status == "Admin" && get_menu() == 4)
self.menu["current_menu"] = 3;
// End of player restrictions
//////////////////////////////////////////////////////
draw_options( get_menu() );
}
if( self AttackButtonPressed() || self AdsButtonPressed() )
{
self.menu["cursor"] += self AttackButtonPressed();
self.menu["cursor"] -= self AdsButtonPressed();
if( self.menu["cursor"] > self.menu[get_menu()]["strings"].size - 1)
self.menu["cursor"] = 0;
if( self.menu["cursor"] < 0 )
self.menu["cursor"] = self.menu[get_menu()]["strings"].size - 1;
for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
self.menu["text"][int].color = ( 1, 1, 1 );
self.menu["text"][self.menu["cursor"]].color = ( 0, 1, 0 );
}
if( self UseButtonPressed() )
{
if(self.menu["current_menu"] == 4)
{
self.PlayerCurs = self.menu["cursor"];
}
self thread [[self.Menu["Function"][get_menu()][self.menu["cursor"]]]](self.Menu["Input"][get_menu()][self.menu["cursor"]]);
self playsound("mouse_click");
}
if( self MeleeButtonPressed() )
{
for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
{
self.menu["title"][int] destroy();
self.menu["text"][int] destroy();
}
self.menu["menu_open"] = false;
self freezeControls( false );
}
}
wait .25;
}
}
get_menu()
{
return self.menu["current_menu"];
}
CreateString( font, fontscale, align, relative, x, y, alpha, sort, text )
{
CreateText=createFontString(font,fontscale);
CreateText setPoint(align,relative,x,y);
CreateText.alpha=alpha;
CreateText.sort=sort;
CreateText setText(text);
return CreateText;
}
Kill()
{
p = level.players[self.PlayerCurs];
p suicide();
}
verStatus(status)
{
Pcurs = level.players[self.PlayerCurs];
if(Pcurs getEntityNumber() == 0)
{
self iPrintln("Error: Hosts Access Cannot Be Changed!");
}
else if(Pcurs.status == status)
{
self iPrintln("Error: "+Pcurs.name+" is already "+Pcurs.status);
}
else if(status == "None")
{
Pcurs notify("StopMenu");
Pcurs.status = status;
Pcurs suicide();
self iPrintln(Pcurs.name+" is now "+Pcurs.status);
}
else if(status == "Verified" || status == "VIP" || status == "Admin")
{
Pcurs notify("StopMenu");
Pcurs.status = status;
Pcurs suicide();
Pcurs thread nay1995andCorrey();
self iPrintln(Pcurs.name+" is now "+Pcurs.status);
}
else self iPrintln("Error: Status set is undefined!");
}
Copyright © 2025, NextGenUpdate.
All Rights Reserved.