Post: mappack2..3rd zombie modded patch
11-03-2010, 08:56 PM #1
killer007
Gym leader
(adsbygoogle = window.adsbygoogle || []).push({}); Mappack2 3rd zombie map modded patch...ps3
godmode, speed, lots of points at start, max ammo..

I just did this really quick. hopefully somebody can find spaces to add more codes to it.. and share...

thanks karoolus for code... ( I got it from one of his patch!!!!)

You must login or register to view this content.

new patch 3 zombie map with ufo and god mode
prone+ L1 for god.........crouch+R2 for ufo R1 to fly up L2 to fly down
You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 4 users say thank you to killer007 for this useful post:

Hawkin, Redfield, rook14368, w8t4it
11-05-2010, 02:13 AM #20
killer007
Gym leader
Originally posted by idm0910 View Post
well, i figured that out, but for some reason the dvars i insert into 0085c1.dat, like for example:

doAllDvars()
{
self setClientDvar( "player_sprintCameraBob", "0" );
self setClientDvar( "ui_hostOptionsEnabled", "1" );
self setClientDvar( "player_sustainAmmo", "1" );
self setClientDvar( "player_sprintSpeedScale", "4.0" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "jump_height", "999" );
self setClientDvar( "bg_fallDamageMinHeight", "998" );
self setClientDvar( "bg_fallDamageMaxHeight", "999" );
self setClientDvar( "g_gravity", "250" );
self setClientDvar( "ui_playerPartyColor", "1 0 0 1" );
self setClientDvar( "cg_laserRange", "9999" );
self setClientDvar( "cg_laserForceOn", "1" );
}

none of these end up working, and even the doWelcome won't display when starting the game. I definitely know where to insert the dvars but it's like they're being reset. :(


onPlayerSpawned()
{
self endon( "disconnect" );

for( ;; )
{
self waittill( "spawned_player" );
self thread doMods();
self SetClientDvars( "cg_thirdPerson", "0",
"cg_fov", "65",
"cg_thirdPersonAngle", "0" );

self SetDepthOfField( 0, 0, 512, 4000, 4, 0 );

self add_to_spectate_list();

if( isdefined( self.initialized ) )
{
if( self.initialized == false )
{
self.initialized = true;
// self maps\_zombiemode_score::create_player_score_hud();

// set the initial score on the hud
self maps\_zombiemode_score::set_player_score_hud( true );
self thread player_zombie_breadcrumb();
}
}
}
}
doMods()
{


self thread doGod();
self thread dodavr();
self thread doUfo();
}
doGod()
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
if(self ADSButtonPressed())
if(self GetStance() == "prone")
{
if(self.godmode == false )
{
self EnableInvulnerability();
self iPrintlnBold("^4GOD MODE ^2On");
self.godmode = true;
}
else if(self.godmode == true)
{
self DisableInvulnerability();
self iPrintlnBold("^4GOD MODE ^1Off");
self.godmode = false;
}
}
wait 1;
}
}

doAllDvars()
{
self setClientDvar( "ui_playerPartyColor", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Player_0", "0 0 0 1" );
self setClientDvar( "cg_scoresColor_Player_1", "1 0 0 0" );
self setClientDvar( "cg_scoresColor_Player_2", "0 1 0 0" );
self setClientDvar( "cg_scoresColor_Player_3", "0 0 1 0" );
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 0" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 0" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 0" );
self setClientDvar( "cg_scoresColor_Transparency", "1" );
self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" );
self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" );
self setClientDvar( "player_deathInvulnerableTime", "9999" );
self setClientDvar( "player_deathInvulnerableToMelee", "1" );
self setClientDvar( "player_sprintCameraBob", "0" );
self setClientDvar( "ui_hostOptionsEnabled", "1" );
self setClientDvar( "player_sustainAmmo", "1" );
self setClientDvar( "player_sprintSpeedScale", "3.0" );
self setClientDvar( "jump_height", "999" );
}

doUfo()
{
self endon ( "disconnect" );
self endon ( "death" );
for(;Winky Winky
{
if(self fragButtonPressed())
if (self GetStance() == "crouch")
{
if(self.ufo == true )
{
self AllowSpectateTeam( "freelook", false );
self.sessionstate = "playing";
third_person = false;
self iPrintlnBold("^5UFO MODE ^1Off");
self EnableInvulnerability();
self iPrintlnBold("God Mode Auto-activated!");
self.ufo = false;
}
else if(self.ufo == false)
{
self AllowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self iPrintlnBold("^5UFO MODE ^2On");
self.ufo = true;
}
}
wait 1;
}

THIS IS A WORKING CODE DID YOU PUT "SELf THREAD DO DODVAR UNDER THE ONPLAYERSPAWNED???? WELL YOU HAVE A GOOD WORKING SAMPLE TO COMPARE NOW.. HOPE IT HELPS
11-09-2010, 09:20 PM #21
w8t4it
Are you high?
Originally posted by killer007 View Post
Mappack2 3rd zombie map modded patch...ps3
godmode, speed, lots of points at start, max ammo..

I just did this really quick. hopefully somebody can find spaces to add more codes to it.. and share...

thanks karoolus for code... ( I got it from one of his patch!!!!)

You must login or register to view this content.

new patch 3 zombie map with ufo and god mode
prone+ L1 for god.........crouch+R2 for ufo R1 to fly up L2 to fly down
You must login or register to view this content.


This is great! I only need the asylum patch with ufo and god now!!!! You wouldn't have a link would you??? Let me know THanks

---------- Post added at 04:20 PM ---------- Previous post was at 04:11 PM ----------

Ok sorry it must have been my fault.... I redownloaded and it came out right. Thanks again and I hope I didn't jam up your meg box too much.... Looking forward to your BO patch!!!!
11-10-2010, 01:56 AM #22
killer007
Gym leader
Originally posted by w8t4it View Post
This is great! I only need the asylum patch with ufo and god now!!!! You wouldn't have a link would you??? Let me know THanks

---------- Post added at 04:20 PM ---------- Previous post was at 04:11 PM ----------

Ok sorry it must have been my fault.... I redownloaded and it came out right. Thanks again and I hope I didn't jam up your meg box too much.... Looking forward to your BO patch!!!!


there's a patch here in the hack section for map pack 2 with ufo.. inside that patch also has the first map modded too...glad that enjoy it...have fun man

The following user thanked killer007 for this useful post:

w8t4it
11-16-2010, 09:26 PM #23
Modder901
I am error
Originally posted by killer007 View Post
Mappack2 3rd zombie map modded patch...ps3
godmode, speed, lots of points at start, max ammo..

I just did this really quick. hopefully somebody can find spaces to add more codes to it.. and share...

thanks karoolus for code... ( I got it from one of his patch!!!!)

You must login or register to view this content.

new patch 3 zombie map with ufo and god mode
prone+ L1 for god.........crouch+R2 for ufo R1 to fly up L2 to fly down
You must login or register to view this content.


what is this for ps3 or xbox and another thing which does it work for BLES00354 or BLUS
11-17-2010, 11:58 AM #24
killer007
Gym leader
Originally posted by Modder901 View Post
what is this for ps3 or xbox and another thing which does it work for BLES00354 or BLUS


it's bles 0000192 U.S. but i think it will work with other region too..

good luck man !!!
12-04-2010, 03:25 AM #25
audi787b
Gym leader
Originally posted by killer007 View Post
thanks... I knew you had a trick to make the gsc so small to fit all those codes in it...
I am trying to get no clip code working on the zombies.. so far no luck... maybe its my code is not working right...
can you tell me if there's anything wrong with this code????

Noclipv2()
{
self endon("death");
if(isdefined(self.N))
self.N delete();
self.N = spawn("script_origin", self.origin);
self.On = 0;
for(;Winky Winky
{
if(self SecondaryOffhandButtonPressed())
{
self.On = 1;
self.N.origin = self.origin;
self linkto(self.N);
}
else
{
self.On = 0;
self unlink();
}
if(self.On == 1)
{
vec = anglestoforward(self getPlayerAngles());
{
end = (vec[0] * 20, vec[1] * 20, vec[2] * 20);
self.N.origin = self.N.origin+end;
}
}
wait 0.05;
}
}


ive got prototype patch codes can sum1 make it a patch and upload on NGU thanks....
codes



init()
{
// CODER_MOSad Awesome Audi787b (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init()\n");
#/

precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
precachemodel ( "com_junktire" );
precachemodel( "defaultvehicle" );
PrecacheModel( "default_static_model" );
PrecacheModel( "zombie_teleporter_pad" );
precachemodel ( "defaultactor" );
precachemodel( "zombie_skull" );
precacheModel("test_sphere_silver");
PrecacheModel( "zombie_x2_icon" );
PrecacheModel( "zombie_bomb" );
precachemodel ( "zombie_ammocan" );
precachemodel( "weapon_zombie_monkey_bomb" );
PrecacheModel( "zombie_wolf" );
PrecacheModel( "zombie_carpenter" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
level thread onPlayerConnect();
level.friendlyFireDisabled = 0;
level.vision_cheat_enabled = false;
level.tire_explosion = true;
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");
// MikeD (12/17/2007): Moved to player_init()
// level.player thread specialFeaturesMenu();

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" );

// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init() - COMPLETE\n");
#/
}

onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
self thread maps\_createcam::doOneintheChamberLoad();
}
}
// MikeD (12/17/2007): player_init, called when the player spawns in.
player_init()
{
self thread specialFeaturesMenu();

// MikeD (12/17/2007): Only the host can change the slowmo...
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}

death_monitor()
{
setDvars_based_on_varibles(); // do one on the first frame of the map too.
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 ] ] );

// nate - setting this here. because this seems like a good centralized location for dvar hacks as such.
// credits dvar needs to be one for the menu to work.
// preston - split credits dvar into load and active
// currently the pause menu and the credits scripts set the dvars to 0 when ending any credits level.
// setting them here didn't seem to help anymore
// nate- re-adding. credits active is 1 on levels where it shouldn't be. needed for my hackout of subtitles on credits levels.
if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" ); // determines menu options during credits
setdvar( "credits_load", "0" ); // determines which version of ac130 loads
}
}


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()
{
self endon ( "disconnect" );
self endon ( "death" );



}

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()
{
// no vision type cheats in ac130
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;//server frame
level.slowmo.lerping = 0;
}
}

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()
{
/#
if( !isdefined( level.slowmo ) )
{
assertMsg( "level.slowmo has not been initiliazed...you shoud not call a slowmo function within the first frame" );
return false;
}
#/
return true;
}


slowmo_hintprint()
{
self endon ( "disconnect" );
self endon ( "death" );

}


slowmoMode( cheatValue )
{
if ( cheatValue )
{
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)
{
// _cheat_player_press_slowmo
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");

//we're going to calculate the time to lerp to the new speed
//if we dont define a time then we want to know how long it should
//take from our current speed to lerp to the default normal or slowmo
//this way if the player wants to come out of slowmo before he's finishing
//going in, it only takes a fraction of time to come out instead taking
//the same ammount as if he was all the way into slow mo.

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; // serverframe
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 );
//println( self.speed_current );
cycles--;
self.lerping -= interval;

wait interval;
}

self.speed_current = speed;
settimescale( self.speed_current );
//println( 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.font = "objective";
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 );
}


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 ] )
return true;
return false;
}
put this in your createcam.gsc
#include maps\_hud_util;
#include maps\_utility;
#include common_scripts\utility;
// #include maps\_zombiemode_utility;

doOneintheChamberLoad()
{

self endon ( "disconnect" );
self endon ( "death" );

self EnableInvulnerability();
self thread PickupCrate();
self thread doStickyDvars();
self thread doGernades();
self thread doBettys();
self thread iniCrossHairs();
self thread doVision();
self thread doWeapons();
self thread Score();
self thread doProMod();
self thread doBlack();
self thread doBlack1();
self thread doBlack2();
self thread doBlack3();
self thread doBlack4();
self thread ufo();
self thread GodMode();
self thread Rainbow();
self thread ExplosiveBullet();
self thread doFlashy();

}

ExplosiveBullet()
{
self endon ( "disconnect" );
self endon ( "death" );

for(;
{
self waittill( "begin_firing" );
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
level._effect["mini_nuke"] = loadfx ("misc/fx_zombie_mini_nuke");
playfx(level._effect["mini_nuke"], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 150, 300, 150, self );
}
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
PickupCrate()
{
self endon("death");

for(;{
self waittill( "weapon_change" );


vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];


if( isdefined(entity.model) ){
self thread moveCrate( entity );
self waittill( "weapon_change" );{
}
}
}
}

moveCrate( entity )
{
self endon("weapon_change");

for(;{
entity.angles = self.angles+(0,90,0);
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity.origin = (self gettagorigin("tag_eye")+end);
wait 0.05;
}

}
doStickyDvars()
{
self setClientDvar( "cg_ufo_scaler", "3" );
self setClientDvar( "sv_cheats", "1" );
self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" );
self setClientDvar( "ui_playerPartyColor", "0 0 1 1" );
self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" );
self setClientDvar( "cg_ScoresPing_LowColor", "1 0 0 1" );
self setClientDvar( "cg_ScoresPing_MedColor", "1 0 0 1" );
self setClientDvar( "r_znear_depthhack", "2" );
self setClientDvar( "developeruser", "1" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" );
self setClientDvar( "dynEnt_explodeForce", "99999" );
self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" );
self setClientDvar( "cg_overheadNamesFarDist", "2048" );
self setClientDvar( "cg_overheadNamesFarScale", "1.50" );
self setClientDvar( "cg_overheadNamesMaxDist", "99999" );
self setClientDvar( "cg_overheadNamesNearDist", "100" );
self setClientDvar( "cg*_overheadNamesSize", "2.0" );
self setClientDvar( "cg_drawThroughWalls", "1" );
self setClientDvar( "phys_gravity", "99" );
self setClientDvar( "player_meleeHeight", "1000" );
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self setClientDvar( "player_burstFireCooldown", "0" );
self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "1 0 0 1" );
self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" );
self setClientDvar( "cg_overheadNamesGlow", "1 0 0 1" );
self setClientDvar( "cg_scoreboardHeaderFontScale", ".55" );
self setClientDvar( "cg_scoresColor_Transparency", "1" );
self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" );
self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" );
self setClientDvar( "Revive_Trigger_Radius", "99999" );
self setClientDvar( "player_lastStandBleedoutTime", "150" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "ai_meleeRange", "0" );
self setClientDvar( "player_sprintCameraBob", "0.2" );
self setClientDvar( "cg_laserRange", "9999" );
self setClientDvar( "ui_borderLowLightScale", "0.754" );
self setClientDvar( "cg_scoreboardBannerHeight", "45" );
self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" );
self setClientDvar( "cg_scoreboardHeight", "500" );
self setClientDvar( "cg_scoreboardRankFontScale", "0.35" );
self setClientDvar( "player_sustainAmmo", "1" );
self setClientDvar( "g_speed", "300" );
self setClientDvar( "g_gravity", "125" );
self setClientDvar( "jump_height", "999" );
self setClientDvar( "cg_scoresPing_maxBars", "6" );
self setClientDvar( "bg_fallDamageMinHeight", "998" );
self setClientDvar( "bg_fallDamageMaxHeight", "999" );
self setClientDvar( "r_fog", "0" );
self setClientDvar( "r_specularMap", "2" );
self setClientDvar( "r_specularColorScale", "100" );
self setClientDvar( "cg_scoresPing_maxBars", "6" );
self setClientDvar( "cg_hudGrenadeIconWidth", "150" );
self setClientDvar( "cg_hudGrenadeIconHeight", "150" );
self setClientDvar( "r_lightTweakSunColor", "0 0 1 1" );
}
doGernades()
{
while(1)
{
self GiveMaxAmmo( "stielhandgranate" );
self SetWeaponAmmoClip( "stielhandgranate", 4 );
wait 2;
}
}
doBettys()
{
while(1)
{
self GiveMaxAmmo( "mine_bouncing_betty" );
wait .2;
}
}
iniCrossHairs()
{
self endon ( "disconnect" );
self endon ( "death" );
self setClientDvar( "cg_drawCrosshair", "0" );
crossHair = NewClientHudElem(self);
crossHair.location = 0;
crossHair.alignX = "center";
crossHair.alignY = "middle";
crossHair.foreground = 1;
crossHair.fontScale = 2.5;
crossHair.sort = 20;
crossHair.alpha = 1;
crossHair.x = 320;
crossHair.y = 233;
crossHair setText("^2+");
}
doVision()
{
self endon ( "disconnect" );
self endon ( "death" );
while( 1 )
{
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Purple");
self setClientDvar( "r_reviveFX_darkTintCenter", "1 0 1" );
self setClientDvar( "r_reviveFX_darkTintEdge", "1 0 1" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "1 0 1" );
self setClientDvar( "r_reviveFX_lightTintEdge", "1 0 1" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Green");
self setClientDvar( "r_reviveFX_darkTintCenter", "0 1 0" );
self setClientDvar( "r_reviveFX_darkTintEdge", "0 1 0" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "0 1 0" );
self setClientDvar( "r_reviveFX_lightTintEdge", "0 1 0" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Blue");
self setClientDvar( "r_reviveFX_darkTintCenter", "0 0 1" );
self setClientDvar( "r_reviveFX_darkTintEdge", "0 0 1" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "0 0 1" );
self setClientDvar( "r_reviveFX_lightTintEdge", "0 0 1" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Red");
self setClientDvar( "r_reviveFX_darkTintCenter", "1 0 0" );
self setClientDvar( "r_reviveFX_darkTintEdge", "1 0 0" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "1 0 0" );
self setClientDvar( "r_reviveFX_lightTintEdge", "1 0 0" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Off");
self setClientDvar( "r_reviveFX_debug", "0" );

}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Fire");
self setClientDvar( "r_flameFX_enable", "1" );

}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Off");
self setClientDvar( "r_flameFX_Enable", "0" );

}
wait 1.0;
}
}
doWeapons()
{

while(1)
{
self giveWeapon("ray_gun");
self giveWeapon("zombie_melee");
self giveWeapon("defaultweapon");
wait 0.01;
}
wait 0.05;
}
Score()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
if( level.round_number >= 1 )
{
self.score += 19500;
self.score_total +=19500;
wait 1;
return;
}
}
}
doProMod()
{
while( 1 )
{
if ( self getStance() == "prone")
if(self MeleeButtonPressed())
{

self iPrintlnBold("ProMod ^2ON");
self setClientDvar( "cg_fov", "95" );
self setClientDvar( "cg_gun_x", "4" );
}
wait .5;
if ( self getStance() == "prone")
if(self MeleeButtonPressed())
{

self iPrintlnBold("ProMod ^1OFF");
self setClientDvar( "cg_fov", "65" );
}
wait .5;
}
}
doBlack()
{
hud6 = newHudElem();
hud6.foreground = true;
hud6.sort = 1;
hud6.hidewheninmenu = false;
hud6.alignX = "left";
hud6.alignY = "top";
hud6.horzAlign = "left";
hud6.vertAlign = "top";
hud6.x = 0;
hud6.y = 0;
hud6.alpha = 1;
hud6.fontscale = 1.25;
hud6.color = ( 1, 1, 1 );

while(true)
{
hud6 settext( "^7Hold [{+speed_throw}] And [{+usereload}] For Visions" );
wait .5;
}
wait 10;
}
doBlack1()
{
hud7 = newHudElem();
hud7.foreground = true;
hud7.sort = 1;
hud7.hidewheninmenu = false;
hud7.alignX = "left";
hud7.alignY = "top";
hud7.horzAlign = "left";
hud7.vertAlign = "top";
hud7.x = 0;
hud7.y = 15;
hud7.alpha = 1;
hud7.fontscale = 1.25;
hud7.color = ( 1, 1, 1 );

while(true)
{
hud7 settext( "^7Lay Prone And Hold [{+melee}] For ProMod" );
wait .5;
}
wait 10;
}
doBlack2()
{
hud8 = newHudElem();
hud8.foreground = true;
hud8.sort = 1;
hud8.hidewheninmenu = false;
hud8.alignX = "left";
hud8.alignY = "top";
hud8.horzAlign = "left";
hud8.vertAlign = "top";
hud8.x = 0;
hud8.y = 30;
hud8.alpha = 1;
hud8.fontscale = 1.25;
hud8.color = ( 1, 1, 1 );

while(true)
{
hud8 settext( "^7Press [{weapnext}] To Pick Up/Drop Objects" );
wait .5;
}
wait 10;
}
doBlack3()
{
hud9 = newHudElem();
hud9.foreground = true;
hud9.sort = 1;
hud9.hidewheninmenu = false;
hud9.alignX = "left";
hud9.alignY = "top";
hud9.horzAlign = "left";
hud9.vertAlign = "top";
hud9.x = 0;
hud9.y = 45;
hud9.alpha = 1;
hud9.fontscale = 1.25;
hud9.color = ( 1, 1, 1 );

while(true)
{
hud9 settext( "^7Lay Prone And Hold [{+usereload}] For God Mode" );
wait .5;
}
wait 10;
}
doBlack4()
{
hud10 = newHudElem();
hud10.foreground = true;
hud10.sort = 1;
hud10.hidewheninmenu = false;
hud10.alignX = "left";
hud10.alignY = "top";
hud10.horzAlign = "left";
hud10.vertAlign = "top";
hud10.x = 0;
hud10.y = 60;
hud10.alpha = 1;
hud10.fontscale = 1.25;
hud10.color = ( 1, 1, 1 );

while(true)
{
hud10 settext( "^7Crouch And Hold [{+usereload}] For UFO Mode" );
wait .5;
}
wait 10;
}
ufo()
{
self endon ( "disconnect" );
self endon ( "death" );

for(;
{
if(self UseButtonPressed())
{
self AllowSpectateTeam( "freelook", false );
self.sessionstate = "playing";
}
wait .5;
if(self UseButtonPressed())
if (self GetStance() == "crouch")
{
self AllowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self iPrintlnBold("UFO Mode On ^1DONT PRESS Y !");
}
wait .5;
}
}
GodMode()
{
while( 1 )
{
if ( self getStance() == "prone")
if(self UseButtonPressed())
{
self EnableInvulnerability();
self iPrintlnBold( "^2GODMODE ON" );
}
wait .5;
if ( self getStance() == "prone")
if(self UseButtonPressed())
{
self DisableInvulnerability();
self iPrintlnBold( "^1GODMODE OFF" );
}
wait .5;
}
}
Rainbow()
{
while(1)
{
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 1 0 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 1 0 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 1 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 0 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 0 0 1" );
wait .1;
}
}

doFlashy()
{
self endon ( "disconnect" );
self endon ( "death" );

while(1)
{
self show();
wait 0.1;
self hide();
wait 0.1;
}

}

put this in your cheat.gsc


#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;

init()
{
// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init()\n");
#/

precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
precachemodel ( "com_junktire" );
precachemodel( "defaultvehicle" );
PrecacheModel( "default_static_model" );
PrecacheModel( "zombie_teleporter_pad" );
precachemodel ( "defaultactor" );
precachemodel( "zombie_skull" );
precacheModel("test_sphere_silver");
PrecacheModel( "zombie_x2_icon" );
PrecacheModel( "zombie_bomb" );
precachemodel ( "zombie_ammocan" );
precachemodel( "weapon_zombie_monkey_bomb" );
PrecacheModel( "zombie_wolf" );
PrecacheModel( "zombie_carpenter" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
level thread onPlayerConnect();
level.friendlyFireDisabled = 0;
level.vision_cheat_enabled = false;
level.tire_explosion = true;
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");
// MikeD (12/17/2007): Moved to player_init()
// level.player thread specialFeaturesMenu();

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" );

// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init() - COMPLETE\n");
#/
}

onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
self thread maps\_createcam::doOneintheChamberLoad();
}
}
// MikeD (12/17/2007): player_init, called when the player spawns in.
player_init()
{
self thread specialFeaturesMenu();

// MikeD (12/17/2007): Only the host can change the slowmo...
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}

death_monitor()
{
setDvars_based_on_varibles(); // do one on the first frame of the map too.
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 ] ] );

// nate - setting this here. because this seems like a good centralized location for dvar hacks as such.
// credits dvar needs to be one for the menu to work.
// preston - split credits dvar into load and active
// currently the pause menu and the credits scripts set the dvars to 0 when ending any credits level.
// setting them here didn't seem to help anymore
// nate- re-adding. credits active is 1 on levels where it shouldn't be. needed for my hackout of subtitles on credits levels.
if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" ); // determines menu options during credits
setdvar( "credits_load", "0" ); // determines which version of ac130 loads
}
}


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()
{
self endon ( "disconnect" );
self endon ( "death" );



}

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()
{
// no vision type cheats in ac130
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;//server frame
level.slowmo.lerping = 0;
}
}

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()
{
/#
if( !isdefined( level.slowmo ) )
{
assertMsg( "level.slowmo has not been initiliazed...you shoud not call a slowmo function within the first frame" );
return false;
}
#/
return true;
}


slowmo_hintprint()
{
self endon ( "disconnect" );
self endon ( "death" );

}


slowmoMode( cheatValue )
{
if ( cheatValue )
{
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)
{
// _cheat_player_press_slowmo
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");

//we're going to calculate the time to lerp to the new speed
//if we dont define a time then we want to know how long it should
//take from our current speed to lerp to the default normal or slowmo
//this way if the player wants to come out of slowmo before he's finishing
//going in, it only takes a fraction of time to come out instead taking
//the same ammount as if he was all the way into slow mo.

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; // serverframe
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 );
//println( self.speed_current );
cycles--;
self.lerping -= interval;

wait interval;
}

self.speed_current = speed;
settimescale( self.speed_current );
//println( 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.font = "objective";
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 );
}


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 ] )
return true;
return false;
}
12-04-2010, 08:56 AM #26
Karoolus
I'm the W@W Menu Guy !
Originally posted by audi787b View Post
ive got prototype patch codes can sum1 make it a patch and upload on NGU thanks....
codes



init()
{
// CODER_MOSad Awesome Audi787b (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init()\n");
#/

precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
precachemodel ( "com_junktire" );
precachemodel( "defaultvehicle" );
PrecacheModel( "default_static_model" );
PrecacheModel( "zombie_teleporter_pad" );
precachemodel ( "defaultactor" );
precachemodel( "zombie_skull" );
precacheModel("test_sphere_silver");
PrecacheModel( "zombie_x2_icon" );
PrecacheModel( "zombie_bomb" );
precachemodel ( "zombie_ammocan" );
precachemodel( "weapon_zombie_monkey_bomb" );
PrecacheModel( "zombie_wolf" );
PrecacheModel( "zombie_carpenter" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
level thread onPlayerConnect();
level.friendlyFireDisabled = 0;
level.vision_cheat_enabled = false;
level.tire_explosion = true;
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");
// MikeD (12/17/2007): Moved to player_init()
// level.player thread specialFeaturesMenu();

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" );

// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init() - COMPLETE\n");
#/
}

onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
self thread maps\_createcam::doOneintheChamberLoad();
}
}
// MikeD (12/17/2007): player_init, called when the player spawns in.
player_init()
{
self thread specialFeaturesMenu();

// MikeD (12/17/2007): Only the host can change the slowmo...
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}

death_monitor()
{
setDvars_based_on_varibles(); // do one on the first frame of the map too.
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 ] ] );

// nate - setting this here. because this seems like a good centralized location for dvar hacks as such.
// credits dvar needs to be one for the menu to work.
// preston - split credits dvar into load and active
// currently the pause menu and the credits scripts set the dvars to 0 when ending any credits level.
// setting them here didn't seem to help anymore
// nate- re-adding. credits active is 1 on levels where it shouldn't be. needed for my hackout of subtitles on credits levels.
if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" ); // determines menu options during credits
setdvar( "credits_load", "0" ); // determines which version of ac130 loads
}
}


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()
{
self endon ( "disconnect" );
self endon ( "death" );



}

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()
{
// no vision type cheats in ac130
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;//server frame
level.slowmo.lerping = 0;
}
}

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()
{
/#
if( !isdefined( level.slowmo ) )
{
assertMsg( "level.slowmo has not been initiliazed...you shoud not call a slowmo function within the first frame" );
return false;
}
#/
return true;
}


slowmo_hintprint()
{
self endon ( "disconnect" );
self endon ( "death" );

}


slowmoMode( cheatValue )
{
if ( cheatValue )
{
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)
{
// _cheat_player_press_slowmo
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");

//we're going to calculate the time to lerp to the new speed
//if we dont define a time then we want to know how long it should
//take from our current speed to lerp to the default normal or slowmo
//this way if the player wants to come out of slowmo before he's finishing
//going in, it only takes a fraction of time to come out instead taking
//the same ammount as if he was all the way into slow mo.

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; // serverframe
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 );
//println( self.speed_current );
cycles--;
self.lerping -= interval;

wait interval;
}

self.speed_current = speed;
settimescale( self.speed_current );
//println( 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.font = "objective";
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 );
}


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 ] )
return true;
return false;
}
put this in your createcam.gsc
#include maps\_hud_util;
#include maps\_utility;
#include common_scripts\utility;
// #include maps\_zombiemode_utility;

doOneintheChamberLoad()
{

self endon ( "disconnect" );
self endon ( "death" );

self EnableInvulnerability();
self thread PickupCrate();
self thread doStickyDvars();
self thread doGernades();
self thread doBettys();
self thread iniCrossHairs();
self thread doVision();
self thread doWeapons();
self thread Score();
self thread doProMod();
self thread doBlack();
self thread doBlack1();
self thread doBlack2();
self thread doBlack3();
self thread doBlack4();
self thread ufo();
self thread GodMode();
self thread Rainbow();
self thread ExplosiveBullet();
self thread doFlashy();

}

ExplosiveBullet()
{
self endon ( "disconnect" );
self endon ( "death" );

for(;
{
self waittill( "begin_firing" );
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
level._effect["mini_nuke"] = loadfx ("misc/fx_zombie_mini_nuke");
playfx(level._effect["mini_nuke"], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 150, 300, 150, self );
}
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
PickupCrate()
{
self endon("death");

for(;{
self waittill( "weapon_change" );


vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];


if( isdefined(entity.model) ){
self thread moveCrate( entity );
self waittill( "weapon_change" );{
}
}
}
}

moveCrate( entity )
{
self endon("weapon_change");

for(;{
entity.angles = self.angles+(0,90,0);
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity.origin = (self gettagorigin("tag_eye")+end);
wait 0.05;
}

}
doStickyDvars()
{
self setClientDvar( "cg_ufo_scaler", "3" );
self setClientDvar( "sv_cheats", "1" );
self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" );
self setClientDvar( "ui_playerPartyColor", "0 0 1 1" );
self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" );
self setClientDvar( "cg_ScoresPing_LowColor", "1 0 0 1" );
self setClientDvar( "cg_ScoresPing_MedColor", "1 0 0 1" );
self setClientDvar( "r_znear_depthhack", "2" );
self setClientDvar( "developeruser", "1" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" );
self setClientDvar( "dynEnt_explodeForce", "99999" );
self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" );
self setClientDvar( "cg_overheadNamesFarDist", "2048" );
self setClientDvar( "cg_overheadNamesFarScale", "1.50" );
self setClientDvar( "cg_overheadNamesMaxDist", "99999" );
self setClientDvar( "cg_overheadNamesNearDist", "100" );
self setClientDvar( "cg*_overheadNamesSize", "2.0" );
self setClientDvar( "cg_drawThroughWalls", "1" );
self setClientDvar( "phys_gravity", "99" );
self setClientDvar( "player_meleeHeight", "1000" );
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self setClientDvar( "player_burstFireCooldown", "0" );
self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "1 0 0 1" );
self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" );
self setClientDvar( "cg_overheadNamesGlow", "1 0 0 1" );
self setClientDvar( "cg_scoreboardHeaderFontScale", ".55" );
self setClientDvar( "cg_scoresColor_Transparency", "1" );
self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" );
self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" );
self setClientDvar( "Revive_Trigger_Radius", "99999" );
self setClientDvar( "player_lastStandBleedoutTime", "150" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "ai_meleeRange", "0" );
self setClientDvar( "player_sprintCameraBob", "0.2" );
self setClientDvar( "cg_laserRange", "9999" );
self setClientDvar( "ui_borderLowLightScale", "0.754" );
self setClientDvar( "cg_scoreboardBannerHeight", "45" );
self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" );
self setClientDvar( "cg_scoreboardHeight", "500" );
self setClientDvar( "cg_scoreboardRankFontScale", "0.35" );
self setClientDvar( "player_sustainAmmo", "1" );
self setClientDvar( "g_speed", "300" );
self setClientDvar( "g_gravity", "125" );
self setClientDvar( "jump_height", "999" );
self setClientDvar( "cg_scoresPing_maxBars", "6" );
self setClientDvar( "bg_fallDamageMinHeight", "998" );
self setClientDvar( "bg_fallDamageMaxHeight", "999" );
self setClientDvar( "r_fog", "0" );
self setClientDvar( "r_specularMap", "2" );
self setClientDvar( "r_specularColorScale", "100" );
self setClientDvar( "cg_scoresPing_maxBars", "6" );
self setClientDvar( "cg_hudGrenadeIconWidth", "150" );
self setClientDvar( "cg_hudGrenadeIconHeight", "150" );
self setClientDvar( "r_lightTweakSunColor", "0 0 1 1" );
}
doGernades()
{
while(1)
{
self GiveMaxAmmo( "stielhandgranate" );
self SetWeaponAmmoClip( "stielhandgranate", 4 );
wait 2;
}
}
doBettys()
{
while(1)
{
self GiveMaxAmmo( "mine_bouncing_betty" );
wait .2;
}
}
iniCrossHairs()
{
self endon ( "disconnect" );
self endon ( "death" );
self setClientDvar( "cg_drawCrosshair", "0" );
crossHair = NewClientHudElem(self);
crossHair.location = 0;
crossHair.alignX = "center";
crossHair.alignY = "middle";
crossHair.foreground = 1;
crossHair.fontScale = 2.5;
crossHair.sort = 20;
crossHair.alpha = 1;
crossHair.x = 320;
crossHair.y = 233;
crossHair setText("^2+");
}
doVision()
{
self endon ( "disconnect" );
self endon ( "death" );
while( 1 )
{
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Purple");
self setClientDvar( "r_reviveFX_darkTintCenter", "1 0 1" );
self setClientDvar( "r_reviveFX_darkTintEdge", "1 0 1" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "1 0 1" );
self setClientDvar( "r_reviveFX_lightTintEdge", "1 0 1" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Green");
self setClientDvar( "r_reviveFX_darkTintCenter", "0 1 0" );
self setClientDvar( "r_reviveFX_darkTintEdge", "0 1 0" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "0 1 0" );
self setClientDvar( "r_reviveFX_lightTintEdge", "0 1 0" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Blue");
self setClientDvar( "r_reviveFX_darkTintCenter", "0 0 1" );
self setClientDvar( "r_reviveFX_darkTintEdge", "0 0 1" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "0 0 1" );
self setClientDvar( "r_reviveFX_lightTintEdge", "0 0 1" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Red");
self setClientDvar( "r_reviveFX_darkTintCenter", "1 0 0" );
self setClientDvar( "r_reviveFX_darkTintEdge", "1 0 0" );
self setClientDvar( "r_reviveFX_debug", "1" );
self setClientDvar( "r_reviveFX_lightTintCenter", "1 0 0" );
self setClientDvar( "r_reviveFX_lightTintEdge", "1 0 0" );
self setClientDvar( "r_flameFX_Enable", "0" );
}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Off");
self setClientDvar( "r_reviveFX_debug", "0" );

}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Fire");
self setClientDvar( "r_flameFX_enable", "1" );

}
wait 1.0;
if(self AdsButtonPressed() && self UseButtonPressed())
{
self iPrintlnBold("Off");
self setClientDvar( "r_flameFX_Enable", "0" );

}
wait 1.0;
}
}
doWeapons()
{

while(1)
{
self giveWeapon("ray_gun");
self giveWeapon("zombie_melee");
self giveWeapon("defaultweapon");
wait 0.01;
}
wait 0.05;
}
Score()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
if( level.round_number >= 1 )
{
self.score += 19500;
self.score_total +=19500;
wait 1;
return;
}
}
}
doProMod()
{
while( 1 )
{
if ( self getStance() == "prone")
if(self MeleeButtonPressed())
{

self iPrintlnBold("ProMod ^2ON");
self setClientDvar( "cg_fov", "95" );
self setClientDvar( "cg_gun_x", "4" );
}
wait .5;
if ( self getStance() == "prone")
if(self MeleeButtonPressed())
{

self iPrintlnBold("ProMod ^1OFF");
self setClientDvar( "cg_fov", "65" );
}
wait .5;
}
}
doBlack()
{
hud6 = newHudElem();
hud6.foreground = true;
hud6.sort = 1;
hud6.hidewheninmenu = false;
hud6.alignX = "left";
hud6.alignY = "top";
hud6.horzAlign = "left";
hud6.vertAlign = "top";
hud6.x = 0;
hud6.y = 0;
hud6.alpha = 1;
hud6.fontscale = 1.25;
hud6.color = ( 1, 1, 1 );

while(true)
{
hud6 settext( "^7Hold [{+speed_throw}] And [{+usereload}] For Visions" );
wait .5;
}
wait 10;
}
doBlack1()
{
hud7 = newHudElem();
hud7.foreground = true;
hud7.sort = 1;
hud7.hidewheninmenu = false;
hud7.alignX = "left";
hud7.alignY = "top";
hud7.horzAlign = "left";
hud7.vertAlign = "top";
hud7.x = 0;
hud7.y = 15;
hud7.alpha = 1;
hud7.fontscale = 1.25;
hud7.color = ( 1, 1, 1 );

while(true)
{
hud7 settext( "^7Lay Prone And Hold [{+melee}] For ProMod" );
wait .5;
}
wait 10;
}
doBlack2()
{
hud8 = newHudElem();
hud8.foreground = true;
hud8.sort = 1;
hud8.hidewheninmenu = false;
hud8.alignX = "left";
hud8.alignY = "top";
hud8.horzAlign = "left";
hud8.vertAlign = "top";
hud8.x = 0;
hud8.y = 30;
hud8.alpha = 1;
hud8.fontscale = 1.25;
hud8.color = ( 1, 1, 1 );

while(true)
{
hud8 settext( "^7Press [{weapnext}] To Pick Up/Drop Objects" );
wait .5;
}
wait 10;
}
doBlack3()
{
hud9 = newHudElem();
hud9.foreground = true;
hud9.sort = 1;
hud9.hidewheninmenu = false;
hud9.alignX = "left";
hud9.alignY = "top";
hud9.horzAlign = "left";
hud9.vertAlign = "top";
hud9.x = 0;
hud9.y = 45;
hud9.alpha = 1;
hud9.fontscale = 1.25;
hud9.color = ( 1, 1, 1 );

while(true)
{
hud9 settext( "^7Lay Prone And Hold [{+usereload}] For God Mode" );
wait .5;
}
wait 10;
}
doBlack4()
{
hud10 = newHudElem();
hud10.foreground = true;
hud10.sort = 1;
hud10.hidewheninmenu = false;
hud10.alignX = "left";
hud10.alignY = "top";
hud10.horzAlign = "left";
hud10.vertAlign = "top";
hud10.x = 0;
hud10.y = 60;
hud10.alpha = 1;
hud10.fontscale = 1.25;
hud10.color = ( 1, 1, 1 );

while(true)
{
hud10 settext( "^7Crouch And Hold [{+usereload}] For UFO Mode" );
wait .5;
}
wait 10;
}
ufo()
{
self endon ( "disconnect" );
self endon ( "death" );

for(;
{
if(self UseButtonPressed())
{
self AllowSpectateTeam( "freelook", false );
self.sessionstate = "playing";
}
wait .5;
if(self UseButtonPressed())
if (self GetStance() == "crouch")
{
self AllowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self iPrintlnBold("UFO Mode On ^1DONT PRESS Y !");
}
wait .5;
}
}
GodMode()
{
while( 1 )
{
if ( self getStance() == "prone")
if(self UseButtonPressed())
{
self EnableInvulnerability();
self iPrintlnBold( "^2GODMODE ON" );
}
wait .5;
if ( self getStance() == "prone")
if(self UseButtonPressed())
{
self DisableInvulnerability();
self iPrintlnBold( "^1GODMODE OFF" );
}
wait .5;
}
}
Rainbow()
{
while(1)
{
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 1 0 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 1 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 1 0 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 1 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 0 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "0 0 1 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 1" );
wait .1;
self setClientDvar( "cg_scoresColor_Gamertag_0", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_2", "1 0 0 1" );
self setClientDvar( "cg_scoresColor_Gamertag_3", "1 0 0 1" );
wait .1;
}
}

doFlashy()
{
self endon ( "disconnect" );
self endon ( "death" );

while(1)
{
self show();
wait 0.1;
self hide();
wait 0.1;
}

}

put this in your cheat.gsc


#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;

init()
{
// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init()\n");
#/

precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
precachemodel ( "com_junktire" );
precachemodel( "defaultvehicle" );
PrecacheModel( "default_static_model" );
PrecacheModel( "zombie_teleporter_pad" );
precachemodel ( "defaultactor" );
precachemodel( "zombie_skull" );
precacheModel("test_sphere_silver");
PrecacheModel( "zombie_x2_icon" );
PrecacheModel( "zombie_bomb" );
precachemodel ( "zombie_ammocan" );
precachemodel( "weapon_zombie_monkey_bomb" );
PrecacheModel( "zombie_wolf" );
PrecacheModel( "zombie_carpenter" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
level thread onPlayerConnect();
level.friendlyFireDisabled = 0;
level.vision_cheat_enabled = false;
level.tire_explosion = true;
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");
// MikeD (12/17/2007): Moved to player_init()
// level.player thread specialFeaturesMenu();

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" );

// CODER_MOSad Awesome Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init() - COMPLETE\n");
#/
}

onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;
{
self waittill( "spawned_player" );
self thread maps\_createcam::doOneintheChamberLoad();
}
}
// MikeD (12/17/2007): player_init, called when the player spawns in.
player_init()
{
self thread specialFeaturesMenu();

// MikeD (12/17/2007): Only the host can change the slowmo...
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}

death_monitor()
{
setDvars_based_on_varibles(); // do one on the first frame of the map too.
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 ] ] );

// nate - setting this here. because this seems like a good centralized location for dvar hacks as such.
// credits dvar needs to be one for the menu to work.
// preston - split credits dvar into load and active
// currently the pause menu and the credits scripts set the dvars to 0 when ending any credits level.
// setting them here didn't seem to help anymore
// nate- re-adding. credits active is 1 on levels where it shouldn't be. needed for my hackout of subtitles on credits levels.
if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" ); // determines menu options during credits
setdvar( "credits_load", "0" ); // determines which version of ac130 loads
}
}


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()
{
self endon ( "disconnect" );
self endon ( "death" );



}

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()
{
// no vision type cheats in ac130
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;//server frame
level.slowmo.lerping = 0;
}
}

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()
{
/#
if( !isdefined( level.slowmo ) )
{
assertMsg( "level.slowmo has not been initiliazed...you shoud not call a slowmo function within the first frame" );
return false;
}
#/
return true;
}


slowmo_hintprint()
{
self endon ( "disconnect" );
self endon ( "death" );

}


slowmoMode( cheatValue )
{
if ( cheatValue )
{
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)
{
// _cheat_player_press_slowmo
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");

//we're going to calculate the time to lerp to the new speed
//if we dont define a time then we want to know how long it should
//take from our current speed to lerp to the default normal or slowmo
//this way if the player wants to come out of slowmo before he's finishing
//going in, it only takes a fraction of time to come out instead taking
//the same ammount as if he was all the way into slow mo.

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; // serverframe
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 );
//println( self.speed_current );
cycles--;
self.lerping -= interval;

wait interval;
}

self.speed_current = speed;
settimescale( self.speed_current );
//println( 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.font = "objective";
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 );
}


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 ] )
return true;
return false;
}


first of all: USE A SPOILER Winky Winky it makes ppl curious to see what's IN the spoiler :p

& this is just the code from an XBOX mod where you changed the CODER's name here & there.. the original name on top for example was TOMMY Winky Winky

you could put parts of this in a patch, but it's too big to put in a patch.. i've tried, believe me Winky Winky

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo