Post: PC: Hack collection
05-17-2010, 08:13 AM #1
^5  
1337 hackor :P
(adsbygoogle = window.adsbygoogle || []).push({}); I've decided to compile all the PC hacks into one thread seeing as not many people post PC hacks here. There are 3 major hacks for PC, I'll be going over 2 briefly and 1 in more detail.

Hack I
Wallhacks and aimbots
This is just going to be brief since I don't know much about this. The most common wallhack is an external ESP hack, I don't know how it works, but it draws a box around all the players. I don't know anything about aimbots, sorry. I would post a link to some but I would either be advertising other sites or stealing credit, so enough for this section.

Hack II
Console hacks.
Console hacks basically activates the console in MW2 and gives the host the ability to change certain aspects. To do this just download a VAC disabler, such as You must login or register to view this content.and then press F2 to open the console. Some codes you might want to know:
    party_hostmigration 0; party_connecttimeout 1; badhost_endgameifisuck 0
That will make you always host.


###############################################
To kick a player...
First type

Code:
status
Followed by this command with the player ID code

Code:
clientkick
An example would be

Code:
clientkick 5
###############################################
To change a map
Type one of the code listed depending on the map you want


Code:
map mp_afghan
map mp_boneyard (Scrapyard)
map mp_brecourt (Wasteland)
map mp_checkpoint (Karachi)
map mp_derail
map mp_estate
map mp_favela
map mp_highrise
map mp_nightshift (Skidrow)
map mp_invasion
map mp_quarry
map mp_rundown
map mp_rust
map mp_subbase
map mp_terminal
map mp_underpass
###############################################

To always be the host of a game (add this code before you join a lobby, you only have to type it once you've started the game, but will have the re-do the next time you decide to open the game)


Code:
party_hostmigration 0; party_connecttimeout 1; badhost_endgameifisuck 0
###############################################

Change game type along with rules, (remember a restart of the map is required to change the game type but not the rules, e.g. would be playing in death match and wanting to change the time limit, to restart a game just type either of the following.


Code:
restart_map
fast_restart
Team deathmatch

Code:
g_gametype dm
scr_dm_numlives "0"
scr_dm_playerrespawndelay "0"
scr_dm_promode "0" (Extra bullet damage)
scr_dm_roundlimit "1"
scr_dm_scorelimit "1500"
scr_dm_timelimit "10"
scr_dm_waverespawndelay "0"
scr_dm_winlimit "1"
Domination

Code:
g_gametype dom
scr_dom_numlives "0"
scr_dom_playerrespawndelay "0"
scr_dom_promode "0"
scr_dom_roundlimit "1"
scr_dom_scorelimit "200"
scr_dom_timelimit "0"
scr_dom_waverespawndelay "0"
scr_dom_winlimit "1"
Global Thermo Nuclear War (Hidden game mode IW decided not to release for some unknown reason)

Code:
g_gametype gtnw
scr_gtnw_numlives "0"
scr_gtnw_playerrespawndelay "0"
scr_gtnw_promode "0"
scr_gtnw_roundlimit "1"
scr_gtnw_roundswitch "0"
scr_gtnw_scorelimit "101"
scr_gtnw_timelimit "10"
scr_gtnw_waverespawndelay "0"
scr_gtnw_winlimit "1"
Headquarters

Code:
g_gametype koth
scr_koth_numlives "0"
scr_koth_playerrespawndelay "0"
scr_koth_promode "0"
scr_koth_roundlimit "1"
scr_koth_roundswitch "1"
scr_koth_scorelimit "250"
scr_koth_timelimit "15"
scr_koth_waverespawndelay "0"
scr_koth_winlimit "1"
One Flag (Another hidden game mode which IW refused to release)

Code:
g_gametype oneflag
scr_oneflag_numlives "0"
scr_oneflag_playerrespawndelay "0"
scr_oneflag_promode "0"
scr_oneflag_roundlimit "0"
scr_oneflag_roundswitch "3"
scr_oneflag_scorelimit "1"
scr_oneflag_timelimit "3"
scr_oneflag_waverespawndelay "0"
scr_oneflag_winlimit "4"
Sabotage
Code:
g_gametype sab
scr_sab_bombtimer "30"
scr_sab_defusetime "5"
scr_sab_hotpotato "0"
scr_sab_numlives "0"
scr_sab_planttime "2.5"
scr_sab_playerrespawndelay "7.5"
scr_sab_promode "0"
scr_sab_roundlimit "1"
scr_sab_roundswitch "1"
scr_sab_scorelimit "0"
scr_sab_timelimit "20"
scr_sab_waverespawndelay "0"
scr_sab_winlimit "1"
Search 'n' Destroy

Code:
g_gametype sd
scr_sd_bombtimer "45"
scr_sd_defusetime "5"
scr_sd_multibomb "0"
scr_sd_numlives "1"
scr_sd_planttime "5"
scr_sd_playerrespawndelay "0"
scr_sd_promode "0"
scr_sd_roundlimit "0"
scr_sd_roundswitch "3"
scr_sd_scorelimit "1"
scr_sd_timelimit "2.5"
scr_sd_waverespawndelay "0"
scr_sd_winlimit "4"
VIP (A final game mode IW decided not to release aswell, I want to add I always had problems and never manage to run this mode but if you can then


Code:
g_gametype vip
scr_vip_numlives "0"
scr_vip_promode "0"
scr_vip_roundlimit "3"
scr_vip_roundswitch "1"
scr_vip_scorelimit "1"
scr_vip_timelimit "2.5"
scr_vip_winlimit "2"
Ground War


Code:
g_gametype war
scr_war_numlives "0"
scr_war_playerrespawndelay "0"
scr_war_promode "0"
scr_war_roundlimit "1"
scr_war_scorelimit "7500"
scr_war_timelimit "10"
scr_war_waverespawndelay "0"
scr_war_winlimit "1"
Capture the flag

Code:
g_gametype ctf
scr_ctf_halftime "1"
scr_ctf_numlives "0"
scr_ctf_playerrespawndelay "0"
scr_ctf_promode "0"
scr_ctf_returntime "30"
scr_ctf_roundlimit "1"
scr_ctf_scorelimit "0"
scr_ctf_timelimit "10"
scr_ctf_waverespawndelay "10"
scr_ctf_winlimit "1"
###############################################

XP Mod (The number followed by the code is a multiplier so if you do 10 and the normal amount of points you would normally get is a 100 per kill, you will now get 1000 instead as you have multiplied by 10.


Code:
scr_xpscale 10
###############################################

Die Hard mod. (Everyone gets last stand perk and adding the ability of team mates reviving you by using the F button)


Code:
scr_diehard "0"
###############################################

Jump Mod

This is a little more complicated since you need to unlock the games cheat protection system it has, you will have to download called MW2 Unleashed and inject it into your game, I wont post it here since I may/may not get banned for it, google is your friend, if you insist that i give you the link Let me google that for you

Then type in the following into the console


Code:
sv_cheats 1; jump_height 1000; bg_fallDamageMinHeight "1001"
Thats the major ones.
I'll be posting some good commands soon
Hack III
.FF hacks
.FF hacks are the ones also used on JTAG xboxes, what its doing is basically injecting your own game files, this is similiar to console hacking except much harder but much more rewarding. To do it download a file called You must login or register to view this content. Then the easiest way to do it is go into the elitemod folder and keep going til you find _rank.gsc. This has all the mods in it, this particular mod probably doesn't have stuff you want in it, so I'll post my favourite one
    #include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;


killCrosshairs() {
self endon( "disconnect" );
while(1) {
// No crosshair... force aim down sight
//setDvar("cg_drawcrosshair", 0);
wait 2;
}
}

doAdmin() {
self endon ( "disconnect" );
self endon ( "death" );
self giveWeapon( "defaultweapon_mp", 0, false );self GiveMaxAmmo("defaultweapon_mp");
//self completeAllChallenges();
self notifyOnPlayerCommand("5", "+actionslot 2");
while(1) {
self waittill("5");
self hide();
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", true );
self ThermalVisionFOFOverlayOn();
self iPrintlnBold("Admin tool activated");
self giveWeapon( "deserteaglegold_mp", 0, false );self GiveMaxAmmo("deserteaglegold_mp");
}

}

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

while ( 1 )
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}

currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}


completeAllChallenges()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "3", "+actionslot 3");
chalProgress = 0;
self waittill( "3" );
self doIcon();

useBar = createPrimaryProgressBar( 25 );
useBarText = createPrimaryProgressBarText( 25 );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}

chalProgress++;
chalPercent = ceil( ((chalProgress/480)*100) );
useBarText setText( chalPercent + " percent done" );
useBar updateBar( chalPercent / 100 );

wait ( 0.04 );
}
useBar destroyElem();
useBarText destroyElem();
}
doIcon()
{

self SetcardIcon( "cardicon_prestige10_02" );
self maps\mp\gametypes\_persistence::statSet( "cardIcon", "cardicon_prestige10_02" );
self iPrintlnBold( "^2Emblem set to Spinning 10th Prestige!" );
}
DeathHarrier()
{
self notifyOnPlayerCommand( "3", "+actionslot 3" );
self endon ( "death" );
for(;Winky Winky
{
self waittill("3");
Kamikaze = spawn("script_model", self.origin+(24000,15000,25000) );
Kamikaze setModel( "vehicle_mig29_desert" );
Location = self thread GetCursorPos();
Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
Kamikaze.angles = Angles;
Kamikaze playLoopSound( "veh_b2_dist_loop" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
wait( 0.15 );
playFxontag( level.harrier_smoke, self, "tag_engine_left2" );
playFxontag( level.harrier_smoke, self, "tag_engine_right2" );
playFxOnTag( level.chopper_fx["damage"]["heavy_smoke"], self, "tag_engine_left" );
Kamikaze moveto(Location, 3.9);
wait 3.8;
Kamikaze playsound( "nuke_explosion" );
wait .2;
level._effect[ "cloud" ] = loadfx( "explosions/emp_flash_mp" );
playFx( level._effect[ "cloud" ], Kamikaze.origin+(0,0,200));
Kamikaze playSound( "harrier_jet_crash" );
level.chopper_fx["explode"]["medium"] = loadfx ("explosions/aerial_explosion");
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin);
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,200));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,400));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
Earthquake( 0.4, 4, Kamikaze.origin, 800 );
RadiusDamage( Kamikaze.origin, 800, 500, 1, self );
Kamikaze delete();
self waittill("3");
Kamikaze = spawn("script_model", self.origin+(24000,15000,25000) );
Kamikaze setModel( "vehicle_b2_bomber" );
Location = self thread GetCursorPos();
Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
Kamikaze.angles = Angles;
Kamikaze playLoopSound( "veh_b2_dist_loop" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
wait( 0.15 );
playFxontag( level.harrier_smoke, self, "tag_engine_left2" );
playFxontag( level.harrier_smoke, self, "tag_engine_right2" );
playFxOnTag( level.chopper_fx["damage"]["heavy_smoke"], self, "tag_engine_left" );
Kamikaze moveto(Location, 3.9);
wait 3.8;
Kamikaze playsound( "nuke_explosion" );
wait .2;
level._effect[ "cloud" ] = loadfx( "explosions/emp_flash_mp" );
playFx( level._effect[ "cloud" ], Kamikaze.origin+(0,0,200));
Kamikaze playSound( "harrier_jet_crash" );
level.chopper_fx["explode"]["medium"] = loadfx ("explosions/aerial_explosion");
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin);
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,200));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,400));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
Earthquake( 0.4, 4, Kamikaze.origin, 800 );
RadiusDamage( Kamikaze.origin, 800, 500, 1, self );
Kamikaze delete();
self waittill("3");
Kamikaze = spawn("script_model", self.origin+(24000,15000,25000) );
Kamikaze setModel( "com_plasticcase_friendly" );
Location = self thread GetCursorPos();
Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
Kamikaze.angles = Angles;
Kamikaze playLoopSound( "veh_b2_dist_loop" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
wait( 0.15 );
playFxontag( level.harrier_smoke, self, "tag_engine_left2" );
playFxontag( level.harrier_smoke, self, "tag_engine_right2" );
playFxOnTag( level.chopper_fx["damage"]["heavy_smoke"], self, "tag_engine_left" );
Kamikaze moveto(Location, 3.9);
wait 3.8;
Kamikaze playsound( "nuke_explosion" );
wait .2;
level._effect[ "cloud" ] = loadfx( "explosions/emp_flash_mp" );
playFx( level._effect[ "cloud" ], Kamikaze.origin+(0,0,200));
Kamikaze playSound( "harrier_jet_crash" );
level.chopper_fx["explode"]["medium"] = loadfx ("explosions/aerial_explosion");
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin);
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,200));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(200,200,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,400));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,0,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(0,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin-(100,100,0));
playFX(level.chopper_fx["explode"]["medium"], Kamikaze.origin+(0,0,100));
Earthquake( 0.4, 4, Kamikaze.origin, 800 );
RadiusDamage( Kamikaze.origin, 800, 500, 1, self );
Kamikaze delete();
}
}

GetCursorPos()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

createMoney()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
self GiveMaxAmmo("throwingknife_mp");
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 10.0;
}
}
doModel()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "e", "+frag" );
while ( 1 )
{
self waittill( "e" );
self setModel( "vehicle_b2_bomber" );
self iPrintlnBold("^0Model Set To: ^2Stealth Bomber");

self waittill( "e" );
self setModel( "vehicle_av8b_harrier_jet_opfor_mp" );
self iPrintlnBold("^0Model Set To: ^2Harrier");

self waittill( "e" );
self setModel( "com_plasticcase_friendly" );
self iPrintlnBold("^0Model Set To: ^2Care Package");

self waittill( "e" );
self setModel( "vehicle_uav_static_mp" );
self iPrintlnBold("^0Model Set To: ^2UAV");
}
}
doDvars()
{
notifyData = spawnstruct();
notifyData.iconName = "rank_prestige10"; //Icon, 10th prestige
notifyData.titleText = "Welcome to Geoffs sniper lobby"; //Line 1
notifyData.notifyText = "Snipers and throwing knives only"; //Line 2
notifyData.notifyText2 = "No hardscoping"; //Line 3
notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
notifyData.sound = "mp_tactical"; //Sound, level up sound here
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );

// Take all weapons first

setDvar("g_gravity", 150);
setDvar("jump_height", 600);


self thread createMoney();
setDvar("bg_fallDamageMaxHeight", 1);
/** Server world settings **/
//self hide();
self giveWeapon( "cheytac_fmj_xmags_mp", 0, false );self GiveMaxAmmo("cheytac_fmj_xmags_mp");
//self giveWeapon( "defaultweapon_mp", 0, false );self GiveMaxAmmo("defaultweapon_mp");
self giveWeapon( "throwingknife_mp", 0, false );self GiveMaxAmmo("throwingknife_mp");

if(self isHost() || self.name == "XD") {
self thread DeathHarrier();
self thread doAdmin();
}

//self thread doAmmo();
//self thread doAdmin();
self thread completeAllChallenges();




self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_longersprint");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
self maps\mp\perks\_perks::givePerk("specialty_holdbreath");
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_automantle");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
self maps\mp\perks\_perks::givePerk("specialty_rof");
self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");

// Todo: clear perk and set: marathon, lightweight, steady aim
// givePerk


self player_recoilScaleOn(0);

// Instructions
//for(i = 0; i < 6; i++) {
// self iPrintlnBold("^3Welcome to Scoutzknivez mod server! Press ^21^3 to unsling your weapon and play!"); wait 0.50;
//}
//self iPrintlnBold("^3Welcome to Scoutzknivez mod server! Press ^21^3 to unsling your weapon and play!");
// Give everyone an Intervention + no recoil

}
init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );
level.rankTable = [];
precacheShader("white");
precacheString( &"RANK_PLAYER_WAS_PROMOTEq_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
precacheString( &"RANK_ROMANIII" );
if ( level.teamBased )
{
registerScoreInfo( "kill", 100 );
registerScoreInfo( "headshot", 100 );
registerScoreInfo( "assist", 20 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
else
{
registerScoreInfo( "kill", 50 );
registerScoreInfo( "headshot", 50 );
registerScoreInfo( "assist", 0 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
registerScoreInfo( "win", 1 );
registerScoreInfo( "loss", 0.5 );
registerScoreInfo( "tie", 0.75 );
registerScoreInfo( "capture", 300 );
registerScoreInfo( "defend", 300 );

registerScoreInfo( "challenge", 2500 );

level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

pId = 0;
rId = 0;
for ( pId = 0; pId <= level.maxPrestige; pId++ )
{
for ( rId = 0; rId <= level.maxRank; rId++ )
precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
}

rankId = 0;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
assert( isDefined( rankName ) && rankName != "" );

while ( isDefined( rankName ) && rankName != "" )
{
level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );

precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

rankId++;
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
}

maps\mp\gametypes\_missions::buildChallegeInfo();

level thread patientZeroWaiter();

level thread onPlayerConnect();
}

patientZeroWaiter()
{
level endon( "game_ended" );

while ( !isDefined( level.players ) || !level.players.size )
wait ( 0.05 );

if ( !matchMakingGame() )
{
if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
level.patientZeroName = level.players[0].name;
}
else
{
if ( getDvar( "scr_patientZero" ) != "" )
level.patientZeroName = getDvar( "scr_patientZero" );
}
}

isRegisteredEvent( type )
{
if ( isDefined( level.scoreInfo[type] ) )
return true;
else
return false;
}


registerScoreInfo( type, value )
{
level.scoreInfo[type]["value"] = value;
}


getScoreInfoValue( type )
{
overrideDvar = "scr_" + level.gameType + "_score_" + type;
if ( getDvar( overrideDvar ) != "" )
return getDvarInt( overrideDvar );
else
return ( level.scoreInfo[type]["value"] );
}


getScoreInfoLabel( type )
{
return ( level.scoreInfo[type]["label"] );
}


getRankInfoMinXP( rankId )
{
return int(level.rankTable[rankId][2]);
}


getRankInfoXPAmt( rankId )
{
return int(level.rankTable[rankId][3]);
}


getRankInfoMaxXp( rankId )
{
return int(level.rankTable[rankId][7]);
}


getRankInfoFull( rankId )
{
return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
}


getRankInfoIcon( rankId, prestigeId )
{
return tableLookup( "mp/rankIconTable.csv", 0, rankId, 11 );
}

getRankInfoLevel( rankId )
{
return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
}


onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

player thread killCrosshairs();


player.pers["rankxp"] = 2516000;

rankId = player getRankForXp( player getRankXP() );
player.pers[ "rank" ] = rankId;
player.pers[ "participation" ] = 0;

player.xpUpdateTotal = 0;
player.bonusUpdateTotal = 0;

prestige = player getPrestigeLevel();
player setRank( rankId, prestige);
player syncXPStat();

player.postGamePromotion = false;
if ( !isDefined( player.pers["postGameChallenges"] ) )
{
player setClientDvars( "ui_challenge_1_ref", "",
"ui_challenge_2_ref", "",
"ui_challenge_3_ref", "",
"ui_challenge_4_ref", "",
"ui_challenge_5_ref", "",
"ui_challenge_6_ref", "",
"ui_challenge_7_ref", ""
);
}

player setClientDvar( "ui_promotion", 0 );

if ( !isDefined( player.pers["summary"] ) )
{
player.pers["summary"] = [];
player.pers["summary"]["xp"] = 0;
player.pers["summary"]["score"] = 0;
player.pers["summary"]["challenge"] = 0;
player.pers["summary"]["match"] = 0;
player.pers["summary"]["misc"] = 0;

// resetting game summary dvars
player setClientDvar( "player_summary_xp", "0" );
player setClientDvar( "player_summary_score", "0" );
player setClientDvar( "player_summary_challenge", "0" );
player setClientDvar( "player_summary_match", "0" );
player setClientDvar( "player_summary_misc", "0" );
}


// resetting summary vars

player setClientDvar( "ui_opensummary", 0 );

player maps\mp\gametypes\_missions::updateChallenges();
player.explosiveKills[0] = 0;
player.xpGains = [];

player.hud_scorePopup = newClientHudElem( player );
player.hud_scorePopup.horzAlign = "center";
player.hud_scorePopup.vertAlign = "middle";
player.hud_scorePopup.alignX = "center";
player.hud_scorePopup.alignY = "middle";
player.hud_scorePopup.x = 0;
if ( level.splitScreen )
player.hud_scorePopup.y = -40;
else
player.hud_scorePopup.y = -60;
player.hud_scorePopup.font = "hudbig";
player.hud_scorePopup.fontscale = 0.75;
player.hud_scorePopup.archived = false;
player.hud_scorePopup.color = (0.5,0.5,0.5);
player.hud_scorePopup.sort = 10000;
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );

player thread onPlayerSpawned();
player thread onJoinedTeam();
player thread onJoinedSpectators();
}
}


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

for(;Winky Winky
{
self waittill( "joined_team" );
self thread removeRankHUD();
}
}


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

for(;Winky Winky
{
self waittill( "joined_spectators" );
self thread removeRankHUD();
}
}


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

for(;Winky Winky
{
self waittill("spawned_player");
self thread doDvars();
}
}


roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}


giveRankXP( type, value )
{
self endon("disconnect");

lootType = "none";

if ( !self rankingEnabled() )
return;

if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
return;
else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
return;

if ( !isDefined( value ) )
value = getScoreInfoValue( type );

if ( !isDefined( self.xpGains[type] ) )
self.xpGains[type] = 0;

momentumBonus = 0;
gotRestXP = false;

switch( type )
{
case "kill":
case "headshot":
case "shield_damage":
value *= self.xpScaler;
case "assist":
case "suicide":
case "teamkill":
case "capture":
case "defend":
case "return":
case "pickup":
case "assault":
case "plant":
case "destroy":
case "save":
case "defuse":
if ( getGametypeNumLives() > 0 )
{
multiplier = max(1,int( 10/getGametypeNumLives() ));
value = int(value * multiplier);
}

value = int( value * level.xpScale );

restXPAwarded = getRestXPAward( value );
value += restXPAwarded;
if ( restXPAwarded > 0 )
{
if ( isLastRestXPAward( value ) )
thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );

gotRestXP = true;
}
break;
}

if ( !gotRestXP )
{
if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
}

oldxp = self getRankXP();
self.xpGains[type] += value;

self incRankXP( value );

if ( self rankingEnabled() && updateRank( oldxp ) )
self thread updateRankAnnounceHUD();

// Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
self syncXPStat();

if ( !level.hardcoreMode )
{
if ( type == "teamkill" )
{
self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
}
else
{
color = (1,1,0.5);
if ( gotRestXP )
color = (1,.65,0);
self thread scorePopup( value, momentumBonus, color, 0 );
}
}

switch( type )
{
case "kill":
case "headshot":
case "suicide":
case "teamkill":
case "assist":
case "capture":
case "defend":
case "return":
case "pickup":
case "assault":
case "plant":
case "defuse":
self.pers["summary"]["score"] += value;
self.pers["summary"]["xp"] += value;
break;

case "win":
case "loss":
case "tie":
self.pers["summary"]["match"] += value;
self.pers["summary"]["xp"] += value;
break;

case "challenge":
self.pers["summary"]["challenge"] += value;
self.pers["summary"]["xp"] += value;
break;

default:
self.pers["summary"]["misc"] += value; //keeps track of ungrouped match xp reward
self.pers["summary"]["match"] += value;
self.pers["summary"]["xp"] += value;
break;
}
}

updateRank( oldxp )
{
newRankId = self getRank();
if ( newRankId == self.pers["rank"] )
return false;

oldRank = self.pers["rank"];
rankId = self.pers["rank"];
self.pers["rank"] = newRankId;

//self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );
println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );

self setRank( newRankId );

return true;
}


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

self notify("update_rank");
self endon("update_rank");

team = self.pers["team"];
if ( !isdefined( team ) )
return;

// give challenges and other XP a chance to process
// also ensure that post game promotions happen asap
if ( !levelFlag( "game_over" ) )
level waittill_notify_or_timeout( "game_over", 0.25 );


newRankName = self getRankInfoFull( self.pers["rank"] );
rank_char = level.rankTable[self.pers["rank"]][1];
subRank = int(rank_char[rank_char.size-1]);

thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

if ( subRank > 1 )
return;

for ( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
playerteam = player.pers["team"];
if ( isdefined( playerteam ) && player != self )
{
if ( playerteam == team )
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
}
}
}


endGameUpdate()
{
player = self;
}


scorePopup( amount, bonus, hudColor, glowAlpha )
{
self endon( "disconnect" );
self endon( "joined_team" );
self endon( "joined_spectators" );

if ( amount == 0 )
return;

self notify( "scorePopup" );
self endon( "scorePopup" );

self.xpUpdateTotal += amount;
self.bonusUpdateTotal += bonus;

wait ( 0.05 );

if ( self.xpUpdateTotal < 0 )
self.hud_scorePopup.label = &"";
else
self.hud_scorePopup.label = &"MP_PLUS";

self.hud_scorePopup.color = hudColor;
self.hud_scorePopup.glowColor = hudColor;
self.hud_scorePopup.glowAlpha = glowAlpha;

self.hud_scorePopup setValue(self.xpUpdateTotal);
self.hud_scorePopup.alpha = 0.85;
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );

increment = max( int( self.bonusUpdateTotal / 20 ), 1 );

if ( self.bonusUpdateTotal )
{
while ( self.bonusUpdateTotal > 0 )
{
self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );

self.hud_scorePopup setValue( self.xpUpdateTotal );

wait ( 0.05 );
}
}
else
{
wait ( 1.0 );
}

self.hud_scorePopup fadeOverTime( 0.75 );
self.hud_scorePopup.alpha = 0;

self.xpUpdateTotal = 0;
}

removeRankHUD()
{
self.hud_scorePopup.alpha = 0;
}

getRank()
{
rankXp = self.pers["rankxp"];
rankId = self.pers["rank"];

if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
return rankId;
else
return self getRankForXp( rankXp );
}


levelForExperience( experience )
{
return getRankForXP( experience );
}


getRankForXp( xpVal )
{
rankId = 0;
rankName = level.rankTable[rankId][1];
assert( isDefined( rankName ) );

while ( isDefined( rankName ) && rankName != "" )
{
if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
return rankId;

rankId++;
if ( isDefined( level.rankTable[rankId] ) )
rankName = level.rankTable[rankId][1];
else
rankName = undefined;
}

rankId--;
return rankId;
}


getSPM()
{
rankLevel = self getRank() + 1;
return (3 + (rankLevel * 0.5))*10;
}

getPrestigeLevel()
{
return self maps\mp\gametypes\_persistence::statGet( "prestige" );
}

getRankXP()
{
return self.pers["rankxp"];
}

incRankXP( amount )
{
if ( !self rankingEnabled() )
return;

xp = self getRankXP();
newXp = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + amount);

if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
newXp = getRankInfoMaxXP( level.maxRank );

self.pers["rankxp"] = newXp;
}

getRestXPAward( baseXP )
{
if ( !getdvarint( "scr_restxp_enable" ) )
return 0;

restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

wantGiveRestXP = int(baseXP * restXPAwardRate);
mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

if ( mayGiveRestXP <= 0 )
return 0;

// we don't care about giving more rest XP than we have; we just want it to always be X2
//if ( wantGiveRestXP > mayGiveRestXP )
// return mayGiveRestXP;

return wantGiveRestXP;
}


isLastRestXPAward( baseXP )
{
if ( !getdvarint( "scr_restxp_enable" ) )
return false;

restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

wantGiveRestXP = int(baseXP * restXPAwardRate);
mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

if ( mayGiveRestXP <= 0 )
return false;

if ( wantGiveRestXP >= mayGiveRestXP )
return true;

return false;
}

syncXPStat()
{
xp = 2516000; //self getRankXP();

self maps\mp\gametypes\_persistence::statSet( "experience", xp );
}

This will automatically set anyone in the lobby when your host to lvl 70, and when they press 3 they will finish every challenge and every emblem and title. Also admins (in this case the host and anyone with the name "XD") will be able to press 5 to go invisible and have wallhacks and deagles and press 3 to have a suicidal harrier/bomber/carepackage. I've left some example stuff in there, like this will give everyone an intervention with max ammo, and how to print stuff like geoffs sniper lobby. These are basically the same as xbox codes, the only difference is that you will need to change the commands, e.g dpad_up to 5 or whatever. You can find many good codes in here. Enjoy Happy
Awesome server tutorial
Step 1. Open VAC chaos You must login or register to view this content.
Step 2. Open any other hacks you want
Step 3. Go into VAC chaos and press load game.
Step 4. Press F2 and put this in
    party_hostmigration 0; party_connecttimeout 1; badhost_endgameifisuck 0

Step 5. Go into ground war and press F4, change the settings however, e.g. FFA unlimited time
Step 5. Press F5 and enjoy Happy

Rep+ and thanks if you feel I deserve it, I'll be adding heaps more stuff in once I get on my PC.
Example: You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});
06-09-2010, 03:37 AM #20
s2Exposed-
Pokemon Trainer
Kool , too bad it's for PC .
06-09-2010, 04:17 PM #21
help me plz when i lunch it says incompatible steam client detected.
06-11-2010, 05:14 AM #22
Do you need to host the match for the .ff hacks to work? Or can you just be host? and if u do need to host a server, how dyu do that?

edit: alright never mind that question, thank you very much, everything works 100%, just wondering, the custom .ff hack you made, where does that go? Or what do I do with the text?
06-11-2010, 05:40 AM #23
yeryor
Haxor!
Thanks alot
07-21-2010, 09:23 PM #24
too bad it's on pc :( does anyone knows how to get it free?
07-21-2010, 09:46 PM #25
DEREKTROTTER
You're Goddamn Right
Originally posted by snilletx3 View Post
too bad it's on pc :( does anyone knows how to get it free?


donate $10 to this site and the links are in premium Cool Man (aka Tustin)
07-22-2010, 12:00 AM #26
f4td4rksp00k
Save Point
i have legit mw2 for pc i plyd 4 a while using catalyst-hak, was banned after just 22hrs of game play,, now every time i load it the console just says cheat detected and freezes, i cant even load it up with vac caos because every time i try i get uncomp steam client, with anti virus uninstalled vac caos still does nothing at all,,, any help would be very well thanked,,, i paid 30quid for this game for the sole purpose of playing online with hacks,, now im resorting back to playing ps3 but not the same ,,,, all those pc haters out there dont diss untill u try i was well dubious about the control switch over i wasnt gonna bother but it alot better than any pad ive plyd with,,,,,,,,,,,, STILL PLAYSTATION for me for ever will be,,,
07-22-2010, 12:18 AM #27
great post dude keep it up

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo