Originally posted by killer007
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(;

{
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_MO

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

T_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_MO

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_MO
Bryce (05/08/0: Useful output for debugging replay system
/#
if( getdebugdvar( "replay_debug" ) == "1" )
println("File: _cheat.gsc. Function: init()\n");
#/
precachestring( &"SC
T_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_MO
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;
}