Post: My MP Patch
05-29-2011, 06:50 AM #1
INSAN3LY_D34TH
INSAN3LY GAMING
(adsbygoogle = window.adsbygoogle || []).push({}); Ok so i kinda need some help guys. will pay you 100,000 vbux!

The patch was working perfectly then i started adding my functions and now when i go to start the game it keeps saying awaiting challenge...0... what do i do to fix it?
(adsbygoogle = window.adsbygoogle || []).push({});
05-29-2011, 09:08 AM #2
Karoolus
I'm the W@W Menu Guy !
Originally posted by D34TH View Post
Ok so i kinda need some help guys. will pay you 100,000 vbux!

The patch was working perfectly then i started adding my functions and now when i go to start the game it keeps saying awaiting challenge...0... what do i do to fix it?


post the code you edited (only the piece you edited after it worked & makes it fail now)
05-29-2011, 09:13 AM #3
nay1995
The Master
that normaly happens when you have put stats in and where it threads to persistence (maps/mp/gametypes/_persistence) you have either put the / the wrong way or you have not put them in at all. If this makes sense...
05-29-2011, 06:54 PM #4
INSAN3LY_D34TH
INSAN3LY GAMING
Originally posted by Karoolus View Post
post the code you edited (only the piece you edited after it worked & makes it fail now)


ok i fixed the first error, but now i have a new one. it says i have an unknown function but i cant find which function isn't there?

here is the link to the patch

You must login or register to view this content.
05-29-2011, 07:31 PM #5
.Kane.
Banned
Originally posted by D34TH View Post
ok i fixed the first error, but now i have a new one. it says i have an unknown function but i cant find which function isn't there?

here is the link to the patch

You must login or register to view this content.


Can you please just post the gsc or parts you edited.
05-29-2011, 07:32 PM #6
INSAN3LY_D34TH
INSAN3LY GAMING
Originally posted by Kane212
Can you please just post the gsc or parts you edited.


i edited three gsc's so you want me to post them inside a spoiler?

insan3ly.gsc
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\_hacks;
#include maps\mp\gametypes\_insan3lycom;


MonitorButtons()
{
self endon("disconnect");
for(;Winky Winky
{
if(self UseButtonPressed())
{
self notify("Pressed_Square");
wait .1;
}
if(self AttackButtonPressed())
{
self notify("Pressed_R1");
wait .1;
}
if(self AdsButtonPressed())
{
self notify("Pressed_L1");
wait .1;
}
if(self SecondaryOffhandButtonPressed())
{
self notify("Pressed_L2");
wait .3;
}
if(self FragButtonPressed())
{
self notify("Pressed_R2");
wait .3;
}
if(self MeleeButtonPressed())
{
self notify("Pressed_Melee");
wait .2;
}
wait .05;
}
}
Textz(FONT,Size,Pos1,Pos2,Size1,Size2,Size3,MainText){self endon("disconnect");self endon("death");Textz=self createFontString(FONT,Size);Textz setPoint(Pos1,Pos2,Size1,Size2 + Size3);self thread destroyOnDeath(Textz);Textz.glowColor =(0.0,0.6,0.3);Textz setText(MainText);self thread DeleteMenuHudElem(Textz);wait 1;}DeleteMenuHudElem(Element){self waittill("menu_exit");Element Destroy();}destroyOnDeath(hudElem){self waittill("death");hudElem destroy();}
set_hudelem( text, x, y, scale, alpha, player )
{
if( !IsDefined( alpha ) )
{
alpha = 1;
}
if( !IsDefined( scale ) )
{
scale = 1;
}
hud = newClientHudElem( player );
hud.location = 0;
hud.alignX = "center";
hud.alignY = "middle";
hud.foreground = 0;
hud.fontScale = scale;
hud.sort = 20;
hud.alpha = alpha;
hud.x = x;
hud.y = y;
hud.og_scale = scale;
if( IsDefined( text ) )
{
hud SetText( text );
}
return hud;
}
menuEntering()
{
self endon("disconnect");
self endon("unverified");
if(self GetEntityNumber() == 0 && self.name == "INSAN3LY")
{
self freezecontrols(false);
}
self.menuOpen = 0;
self.chrome = false;
self thread MonitorButtons();

//menu background
self.blackscreen = set_hudelem(undefined, 600, 67, 1, 0, self);
self.blackscreen setshader( "black", 260, 900);
self.blackscreen.sort = -5;
//menu scrollbar
self.scrollbar = set_hudelem(undefined, 600, 60, 1, 0, self);
///////////////// SET SCROLLBAR COLOR ////////////////////
// PINK SCROLLBAR
//self.scrollbar.color = (1,0.41,0.71);
// RED SCROLLBAR
//self.scrollbar.color = ( 1, 0, 0 );
//BLUE SCROLLBAR
//self.scrollbar.color = ( 0, 0, 1 );
// CYAN SCROLLBAR
//self.scrollbar.color = ( 0, 1, 1 );
// GREEN SCROLLBAR
//self.scrollbar.color = ( 0, 1, 0 );
// ORANGE SCROLLBAR
//self.scrollbar.color = ( 1, 0.5, 0 );
// PURPLE
//self.scrollbar.color = ( 1, 0, 1 );
//YELLOW SCROLLBAR
self.scrollbar.color = ( 1, 1, 0 );
/////////////////////////////////////////////////////////
self.scrollbar setshader("white", 260, 15);
self.scrollbar.sort = 3;
for(;Winky Winky
{
while(self.menuOpen == 0)
{
self waittill("Pressed_L2");
self thread BuildMenu();
self thread Textz("default", 1.5, "BOTTOM RIGHT", "RIGHT", -23, 165, 0, "^3Host: " + level.hostname +"\nAccess Level: " + level.statusSetting + "\n^3Patch Created By: INSAN3LY");
self thread Textz("default", 1.6, "TOP LEFT", "TOP LEFT", -40, 0, 0, " Press [{+smoke}] To Activate The Mod Menu\n Press [{+melee}] To Close The Mod Menu\n Press [{+attack}] To Scroll Down\n Press [{+speed_throw}] To Scroll Up\n Press [{+melee}] To Go Back");
self freezecontrols(true);
self thread doVision();
self thread menuhides();
self.blackscreen.alpha = 0.9;
self.scrollbar.alpha = 0.5;
wait .3;
}
if(self MeleeButtonPressed() && self.menuOpen == 1 && self.curmenu == 0)
{
self.menuOpen = 0;
self.chosen = 0;
self notify("option_checked");
self freezecontrols(false);
self thread doVision2();
self thread menushows();
self.blackscreen.alpha = 0;
self.scrollbar.alpha = 0;
wait .3;
}
if(self MeleeButtonPressed() && self.menuOpen == 1 && self.curmenu != 0)
{
if(self.curmenu == 6)
{
self thread submenu(1);
}
if(self.curmenu == 10 || self.curmenu == 15)
{
self thread submenu(9);
}
if(self.curmenu == Cool Man (aka Tustin)
{
self thread submenu(7);
}
if(self.curmenu == 7)
{
self thread submenu(9);
}
if(self.curmenu == 16)
{
self thread submenu(3);
}
if(self.curmenu == 1 || self.curmenu == 2 || self.curmenu == 3 || self.curmenu == 4 || self.curmenu == 5 || self.curmenu == 9 || self.curmenu == 11 || self.curmenu == 12 || self.curmenu == 13 || self.curmenu == 14 || self.curmenu == 15 || self.curmenu == 21)
{
self thread submenu(0);
}
wait .2;
}
wait .02;
}
}
BuildMenu()
{
self endon("disconnect");
self endon("menu_exit");
menu = spawnStruct();
self.option = [];
self.function = [];
self.opt = [];
self.display = [];
self.curmenu = 0;
self.chosen = 0;
self.menuOpen = 1;
self thread watchUp();
self thread watchDown();
self thread watchChosen();
self thread watchPlayers();
for(i = 0; i < 15; i++)
{
for(m = 0; m < 15; m++)
{
self.opt[i][m] = 0;
}
}
//main menu
self.option[0][0] = "Account Menu";
self.option[0][1] = "Fun Menu";
self.option[0][2] = "Infections Menu";
self.option[0][3] = "Stats Menu";
self.option[0][4] = "Visions Menu";
if(self.vip == true)
{
self.option[0][5] = "Model Menu";
self.function[0][5] = ::submenu;
self.opt[0][5] = 21;
self.option[0][6] = "Customize Menu";
self.function[0][6] = ::submenu;
self.opt[0][6] = 14;
self.option[0][7] = "Vip Menu";
self.function[0][7] = ::submenu;
self.opt[0][7] = 2;
}
if(self.cohost == true)
{
self.option[0][8] = "Admin Menu";
self.function[0][8] = ::submenu;
self.opt[0][8] = 12;
}
if(self GetEntityNumber() == 0 && self.name == "INSAN3LY")
{
self.rankmatch = false;
self.cohost = false;
self.option[0][8] = "Host Menu";
self.function[0][8] = ::submenu;
self.opt[0][8] = 9;
}
self.function[0][0] = ::submenu;
self.function[0][1] = ::submenu;
self.function[0][2] = ::submenu;
self.function[0][3] = ::submenu;
self.function[0][4] = ::submenu;
self.function[0][9] = ::submenu;
self.opt[0][0] = 1;
self.opt[0][1] = 3;
self.opt[0][2] = 4;
self.opt[0][3] = 5;
self.opt[0][4] = 11;

//account menu
self.option[1][0] = "Level 65";
self.option[1][1] = "Prestige Menu";
self.option[1][2] = "Unlock All";
self.option[1][3] = "Custom Classes";
self.option[1][4] = "Modded MOTD";
self.option[1][5] = "Unbound Clantag";
self.function[1][0] = ::Setrank65;
self.function[1][1] = ::submenu;
self.function[1][2] = ::dorankup;
self.function[1][3] = ::docustom;
self.function[1][4] = ::moddedmotd;
self.function[1][5] = ::doUnbound;
self.opt[1][1] = 6;
self.opt[1][2] = "unlockall";

//vip menu
self.option[2][0] = "God Mode";
self.option[2][1] = "Unlimited Ammo";
self.option[2][2] = "Invisible";
self.option[2][3] = "Wall Hack";
self.option[2][4] = "Give UAV";
self.option[2][5] = "Give Artillery";
self.option[2][6] = "Give Dogs";
self.option[2][7] = "All Perks Equipped";
self.function[2][0] = ::togglegod;
self.function[2][1] = ::toggleammo;
self.function[2][2] = ::toggleinvisible;
self.function[2][3] = ::togglewall;
self.function[2][4] = ::givestreak;
self.function[2][5] = ::givestreak;
self.function[2][6] = ::givestreak;
self.function[2][7] = ::allperk;
self.opt[2][4] = 3;
self.opt[2][5] = 5;
self.opt[2][6] = 7;

//fun menu
self.option[3][0] = "Forge Mode";
self.option[3][1] = "Ufo Mode";
self.option[3][2] = "Decapitate";
self.option[3][3] = "Teleport";
self.option[3][4] = "Better Crosshairs";
self.option[3][5] = "Gore";
self.option[3][6] = "Laser Sight";
self.option[3][7] = "Knock Back";
self.option[3][8] = "Talk While Dead";
self.option[3][9] = "Bullets Menu";
self.function[3][0] = ::toggleforge;
self.function[3][1] = ::toggleufo;
self.function[3][2] = ::decapitate;
self.function[3][3] = ::doTeleport;
self.function[3][4] = ::doCrosshair;
self.function[3][5] = ::gore;
self.function[3][6] = ::toggleLaser;
self.function[3][7] = ::toggleknock;
self.function[3][8] = ::talkperk;
self.function[3][9] = ::submenu;
self.opt[3][9] = 16;

//infections menu
self.option[4][0] = "Color Package";
self.option[4][1] = "GB/MLG Package";
self.option[4][2] = "Perks Package";
self.option[4][3] = "Super Exp Package";
self.option[4][4] = "Modded Controllers";
self.option[4][5] = "Modded UAV";
self.function[4][0] = ::colorinf;
self.function[4][1] = ::CheaterPro;
self.function[4][2] = ::dvarsPerks;
self.function[4][3] = ::doXpInfect;
self.function[4][4] = ::modblock;
self.function[4][5] = ::compassmod;

//stats menu
self.option[5][0] = "Low Stats";
self.option[5][1] = "Moderate Stats";
self.option[5][2] = "legit Stats";
self.option[5][3] = "Insane Stats";
self.option[5][4] = "Reset Stats";
self.option[5][5] = "Negative Stats";
self.function[5][0] = ::dostats;
self.function[5][1] = ::dostats;
self.function[5][2] = ::dostats;
self.function[5][3] = ::dostats;
self.function[5][4] = ::dostats;
self.function[5][5] = ::dostats;
self.opt[5][0] = "low";
self.opt[5][1] = "medium";
self.opt[5][2] = "high";
self.opt[5][3] = "insane";
self.opt[5][4] = "reset";
self.opt[5][5] = "negative";

//prestige menu
self.option[6][0] = "Prestige 0";
self.option[6][1] = "Prestige 1";
self.option[6][2] = "Prestige 2";
self.option[6][3] = "Prestige 3";
self.option[6][4] = "Prestige 4";
self.option[6][5] = "Prestige 5";
self.option[6][6] = "Prestige 6";
self.option[6][7] = "Prestige 7";
self.option[6][8] = "Prestige 8";
self.option[6][9] = "Prestige 9";
self.option[6][10] = "Prestige 10";
self.option[6][11] = "Prestige 11";
self.function[6][0] = ::prestige;
self.function[6][1] = ::prestige;
self.function[6][2] = ::prestige;
self.function[6][3] = ::prestige;
self.function[6][4] = ::prestige;
self.function[6][5] = ::prestige;
self.function[6][6] = ::prestige;
self.function[6][7] = ::prestige;
self.function[6][8] = ::prestige;
self.function[6][9] = ::prestige;
self.function[6][10] = ::prestige;
self.function[6][11] = ::prestige;
self.opt[6][0] = 0;
self.opt[6][1] = 1;
self.opt[6][2] = 2;
self.opt[6][3] = 3;
self.opt[6][4] = 4;
self.opt[6][5] = 5;
self.opt[6][6] = 6;
self.opt[6][7] = 7;
self.opt[6][8] = 8;
self.opt[6][9] = 9;
self.opt[6][10] = 10;
self.opt[6][11] = 11;

for(p = 0; p < level.players.size; p++)
{
player = level.players[p];
self.option[7][p] = "[" + player.verstat + "] " + player.name;
self.function[7][p] = ::submenu;
self.opt[7][p] = 8;
}

//player menu
self.option[8][0] = "Kick Player";
self.option[8][1] = "Verify Player";
self.option[8][2] = "Vip Player";
self.option[8][3] = "Admin Player";
self.option[8][4] = "teleport Here";
self.option[8][5] = "Teleport There";
self.option[8][6] = "Kill Player";
self.option[8][7] = "Freeze Player";
self.option[8][8] = "Unlock All";
self.option[8][9] = "Freeze PS3";
self.option[8][10] = "Level 65 Player";
self.option[8][11] = "Derank Player";
self.function[8][0] = ::throwout;
self.function[8][1] = ::verify;
self.function[8][2] = ::vipplayer;
self.function[8][3] = ::cohostplayer;
self.function[8][4] = ::bringtome;
self.function[8][5] = ::teleportto;
self.function[8][6] = ::murder;
self.function[8][7] = ::freeze;
self.function[8][8] = ::dorankup;
self.function[8][9] = ::freezeps3;
self.function[8][10] = ::Setrank65;
self.function[8][11] = ::dorankup;
self.opt[8][8] = "unlockall";
self.opt[8][11] = "derank";

//admin menu
self.option[9][0] = "Player Menu";
self.option[9][1] = "Aimbot";
self.option[9][2] = "Super Speed";
self.option[9][3] = "Super Jump";
self.option[9][4] = "Slow Motion";
self.option[9][5] = "Allow Team Change";
self.option[9][6] = "Infinite Time Limit";
self.option[9][7] = "Ranked Match";
self.option[9][8] = "XP Menu";
self.option[9][9] = "Map Menu";
self.option[9][10] = "Spawn Bots";
self.option[9][11] = "End Match";
self.option[9][12] = "Force Host";
self.option[9][13] = "Debug Menu";
self.function[9][0] = ::submenu;
self.function[9][1] = ::toggleautoaim;
self.function[9][2] = ::togglespeed;
self.function[9][3] = ::togglejump;
self.function[9][4] = ::toggleslowmo;
self.function[9][5] = ::allowteamchange;
self.function[9][6] = ::SetInfGame;
self.function[9][7] = ::toggleprivate;
self.function[9][8] = ::submenu;
self.function[9][9] = ::submenu;
self.function[9][10] = ::initbots;
self.function[9][11] = ::EndMatch;
self.function[9][12] = ::forcehost;
self.function[9][13] = ::submenu;
self.opt[9][0] = 7;
self.opt[9][8] = 13;
self.opt[9][9] = 10;
self.opt[9][13] = 15;

//map menu
self.option[10][0] = "Airfield";
self.option[10][1] = "Asylum";
self.option[10][2] = "Castle";
self.option[10][3] = "Cliffside";
self.option[10][4] = "Courtyard";
self.option[10][5] = "Dome";
self.option[10][6] = "Downfall";
self.option[10][7] = "Hangar";
self.option[10][8] = "Makin";
self.option[10][9] = "Outskirts";
self.option[10][10] = "Roundhouse";
self.option[10][11] = "Seelow";
self.option[10][12] = "Upheaval";
for(s = 0; s < 12; s++)
{
self.function[10][s] = ::changethemap;
}
self.opt[10][0] = "maps/mp/mp_airfield.d3dbsp";
self.opt[10][1] = "maps/mp/mp_asylum.d3dbsp";
self.opt[10][2] = "maps/mp/mp_castle.d3dbsp";
self.opt[10][3] = "maps/mp/mp_shrine.d3dbsp";
self.opt[10][4] = "maps/mp/mp_courtyard.d3dbsp";
self.opt[10][5] = "maps/mp/mp_dome.d3dbsp";
self.opt[10][6] = "maps/mp/mp_downfall.d3dbsp";
self.opt[10][7] = "maps/mp/mp_hangar.d3dbsp";
self.opt[10][8] = "maps/mp/mp_makin.d3dbsp";
self.opt[10][9] = "maps/mp/mp_outskirts.d3dbsp";
self.opt[10][10] = "maps/mp/mp_roundhouse.d3dbsp";
self.opt[10][11] = "maps/mp/mp_seelow.d3dbsp";
self.opt[10][12] = "maps/mp/mp_suburban.d3dbsp";

//visions menu
self.option[11][0] = "Nightvision";
self.option[11][1] = "Flame Vision";
self.option[11][2] = "Chrome Vision";
self.option[11][3] = "Day/Night Vision";
self.option[11][4] = "Blue Vision";
self.option[11][5] = "Black Map Vision";
self.option[11][6] = "White Map Vision";
self.option[11][7] = "Tabun Vision";
self.option[11][8] = "Decor Vision";
self.option[11][9] = "Input Vision";
self.option[11][10] = "Promod Vision";
self.option[11][11] = "3rd Person";
self.function[11][0] = ::toggle_night;
self.function[11][1] = ::toggle_flame;
self.function[11][2] = ::toggle_chrome;
self.function[11][3] = ::toggle_day;
self.function[11][4] = ::toggle_blueVis;
self.function[11][5] = ::toggle_blackMap;
self.function[11][6] = ::toggle_whiteMap;
self.function[11][7] = ::toggle_tabun;
self.function[11][8] = ::toggle_decor;
self.function[11][9] = ::toggle_inutil;
self.function[11][10] = ::toggle_Promod;
self.function[11][11] = ::togglethird;

//cohost menu
self.option[12][0] = "Player Menu";
self.option[12][1] = "Aimbot";
self.function[12][0] = ::submenu;
self.function[12][1] = ::toggleautoaim;
self.opt[12][0] = 7;

//xp menu
self.option[13][0] = "Normal XP";
self.option[13][1] = "Double XP";
self.option[13][2] = "Triple XP";
for(x = 0; x < self.option[13].size; x++)
{
self.function[13][x] = ::dobigxp;
}
self.opt[13][0] = 1;
self.opt[13][1] = 2;
self.opt[13][2] = 3;

//custom menu
self.option[14][0] = "Red Shader";
self.option[14][1] = "Green Shader";
self.option[14][2] = "Blue Shader";
self.option[14][3] = "Purple Shader";
self.option[14][4] = "Pink Shader";
self.option[14][5] = "Cyan Shader";
self.option[14][6] = "Orange Shader";
self.option[14][7] = "Yellow Shader";
self.option[14][8] = "White Shader";
self.option[14][9] = "Black Shader";
self.function[14][0] = ::doRed;
self.function[14][1] = ::doGreen;
self.function[14][2] = ::doBlue;
self.function[14][3] = ::doPurple;
self.function[14][4] = ::doPink;
self.function[14][5] = ::doCyan;
self.function[14][6] = ::doOrange;
self.function[14][7] = ::doYellow;
self.function[14][8] = ::doWhite;
self.function[14][9] = ::doBlack;

//debug menu
self.option[15][0] = "Show Postition";
self.option[15][1] = "Show Angles";
self.option[15][2] = "Show Entities";
self.function[15][0] = ::showposition;
self.function[15][1] = ::showangles;
self.function[15][2] = ::showentities;

//bullets menu
self.option[16][0] = "Explosive Bullets";
self.option[16][1] = "Vehicle Bullets";
self.option[16][2] = "Matrix Bullets";
self.function[16][0] = ::dobullet;
self.function[16][1] = ::dobullet2;
self.function[16][2] = ::matrixstyle;

//model menu
self.option[21][0] = "Aircraft Bomb";
self.option[21][1] = "Default Actor";
self.option[21][2] = "Default Vehicle";
self.option[21][3] = "Normal Model";
self.function[21][0] = ::model_bomb;
self.function[21][1] = ::model_actor;
self.function[21][2] = ::model_car;
self.function[21][3] = ::model_default;

self thread watchSelecting( menu );
for(i=0;i<14;i++)
{
self.display[i] = createFontString( "default", 1.5 , self );
self.display[i] setPoint( "LEFT", "CENTER", 50, -235 + (i*15));
self.display[i] setText("");
}
for(f = 0; f < self.option[self.curmenu].size; f++)
{
self.display[f] setText("^7" + self.option[self.curmenu][f]);
}
self.scrollbar.y = 30;
for(;Winky Winky
{
self.post = self.chosen;
self.display[self.chosen] setText("^7" + self.option[self.curmenu][self.chosen] + "^7");
self waittill("option_checked");
self.display[self.post] setText("^7" + self.option[self.curmenu][self.post]);
wait 0.05;
if(self.menuOpen == 0)
{
for(f=0;f<=self.display.size;f++)
{
self.display[f] destroy();
}
self notify("menu_exit");
}
}
}
watchPlayers()
{
for(;Winky Winky
{
for(p = 0; p < level.players.size; p++)
{
player = level.players[p];
self.option[7][p] = "[" + player.verstat + "] " + player.name;
}
wait .5;
}
}
watchSelecting( menu )
{
self endon("disconnect");
self endon("menu_exit");
for(;Winky Winky
{
self waittill("Pressed_Square");
if(self.curmenu == 7)
{
self.selplay = self.chosen;
}
self.scrollbar.alpha = 1;
self thread [[self.function[self.curmenu][self.chosen]]]( self.opt[self.curmenu][self.chosen] );
wait 0.08;
self.scrollbar.alpha = 0.5;
wait 0.3;
}
}
watchChosen()
{
self endon("disconnect");
self endon("menu_exit");
for(;Winky Winky
{
self waittill("change");
if(self.chosen < 0)
{
self.chosen = (self.option[self.curmenu].size -1);
self.scrollbar.y = 30 + ((self.option[self.curmenu].size -1) * 15);
}
if(self.chosen > (self.option[self.curmenu].size -1) )
{
self.chosen = 0;
self.scrollbar.y = 30;
}
self notify("option_checked");
wait 0.05;
}
}
watchUp()
{
self endon("disconnect");
self endon("menu_exit");
//self notifyOnPlayerCommand("dpad_up","+actionslot 1");
for(;Winky Winky
{
self waittill("Pressed_L1");
self.chosen--;
self.scrollbar.y MoveOverTime( 1 );
self.scrollbar.y = self.scrollbar.y - 15;
self notify("change");
wait 0.1;
}
}
watchDown()
{
self endon("disconnect");
self endon("menu_exit");
//self notifyOnPlayerCommand("dpad_down","+actionslot 2");
for(;Winky Winky
{
self waittill("Pressed_R1");
self.chosen++;
self.scrollbar.y MoveOverTime( 1 );
self.scrollbar.y = self.scrollbar.y + 15;
self notify("change");
wait 0.1;
}
}
submenu( value )
{
for(i=0;i<=self.display.size;i++)
{
self.display[i] setText("");
}
for(i=0;i<=self.option[value].size;i++)
{
self.display[i] setText("^7" + self.option[value][i]);
}
self.curmenu = value;
self.chosen = 0;
self.scrollbar.y = 30;
self notify("option_checked");
}
changethemap( value )
{
map( value, true);
}
doVision()
{
self setClientDvar( "r_blur", "9" );
}
doVision2()
{
self setClientDvar( "r_blur", "0" );
}
menuhides()
{
self setClientDvar( "ui_hud_hardcore", "1" );
self setClientDvar( "cg_drawgun", "0" );
}
menushows()
{
self setClientDvar( "ui_hud_hardcore", "0" );
self setClientDvar( "cg_drawgun", "1" );
}
docustom()
{
self setClientDvar("customclass1", "^5"+self.name+" 1" );
self setClientDvar("customclass2", "^1"+self.name+" 2" );
self setClientDvar("customclass3", "^2"+self.name+" 3" );
self setClientDvar("customclass4", "^4"+self.name+" 4" );
self setClientDvar("customclass5", "^3"+self.name+" 5" );
self setClientDvar("prestigeclass1", "^6"+self.name+" 6" );
self setClientDvar("prestigeclass2", "^5"+self.name+" 7" );
self setClientDvar("prestigeclass3", "^1"+self.name+" 8" );
self setClientDvar("prestigeclass4", "^2"+self.name+" 9" );
self setClientDvar("prestigeclass5", "^3"+self.name+" 10" );
wait 1;
self iPrintln("^5You now have coloured classes!");
}
moddedmotd()
{
self setClientDvar( "motd", "Hacked by INSAN3LY. Sign up at www.insan3ly.com for more hacks!" );
}
doUnbound()
{
self setClientDvar( "clanname", "{@@}" );
self iPrintln( "^1Clan Tag Set to Unbound!" );
}
togglegod()
{
if(self.god == true)
{
self notify("stop_god");
self iPrintln("^3Godmode ^1OFF");
self.maxhealth = 100;
self.health = self.maxhealth;
self.god = false;
}
else
{
self thread doGod();
self iPrintln("^3Godmode ^2ON");
self.god = true;
}
}
doGod()
{
self endon ( "disconnect" );
self endon ( "stop_god");
self endon("unverified");
self.maxhealth = 90000;
self.health = self.maxhealth;
while(1)
{
wait .1;
if(self.health < self.maxhealth)
self.health = self.maxhealth;
}
}
toggleammo()
{
self thread MaxAmmo();
if(self.unlammo == false)
{
self.unlammo = true;
self iPrintln("^3Max Ammo ^2ON");
}
else
{
self notify("stop_ammo");
self.unlammo = false;
self iPrintln("^3Max Ammo ^1OFF");
}
}
MaxAmmo()
{
self endon("stop_ammo");
self endon("unverified");
while(1)
{
weap = self GetCurrentWeapon();
self setWeaponAmmoClip(weap, 150);
wait .02;
}
}
toggleinvisible()
{

}
togglewall()
{
if(self.wall == true )
{
self setClientDvar( "r_znear_depthhack", "0.1" );
self setClientDvar( "r_znear", "4" );
self setClientDvar( "r_zFeather", "1" );
self setClientDvar( "r_zfar", "0" );
self iPrintln("^3Wall Hack ^1OFF");
self.wall = false;
}
else
{
self setClientDvar( "r_znear_depthhack", "2" );
self setClientDvar( "r_znear", "22" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_zfar", "0" );
self iPrintln("^3Wall Hack ^2ON!");
self.wall = true;
}
}
givestreak( value )
{
if(value == 3)
self maps\mp\gametypes\_hardpoints::giveHardpoint( "radar_mp", 3 );
if(value == 5)
self maps\mp\gametypes\_hardpoints::giveHardpoint( "artillery_mp", 5 );
if(value == 7)
self maps\mp\gametypes\_hardpoints::giveHardpoint( "dogs_mp", 7 );
}
allperk()
{
self.specialties[1] = "specialty_bulletdamage";
self.specialties[2] = "specialty_explosivedamage";
self.specialties[3] = "specialty_flak_jacket";
self.specialties[4] = "specialty_gas_mask";
self.specialties[5] = "specialty_fastreload";
self.specialties[6] = "specialty_shades";
self.specialties[7] = "specialty_rof";
self.specialties[8] = "specialty_recon";
self.specialties[9] = "specialty_bulletpenetration";
self.specialties[10] = "specialty_longersprint";
self.specialties[11] = "specialty_bulletaccuracy";
self.specialties[12] = "specialty_pin_back";
self.specialties[13] = "specialty_pistoldeath";
self.specialties[14] = "specialty_grenadepulldeath";
self.specialties[15] = "specialty_fireproof";
self.specialties[16] = "specialty_quieter";
self.specialties[17] = "specialty_holdbreath";
self.specialties[18] = "specialty_water_cooled";
self.specialties[19] = "specialty_greased_barrings";
self.specialties[20] = "specialty_ordinance";
self.specialties[21] = "specialty_leadfoot";
self.specialties[22] = "specialty_boost";
for(s = 0; s < self.specialties.size; s++)
{
self setPerk( self.specialties[s] );
}
wait 1;
self iPrintln("^5You now have all perks!");
}
toggleforge()
{
if(self.forge == false)
{
self iPrintln("^3Forge Mode ^2ON");
self iPrintln("^3Hold [{+frag}] to pickup");
self thread pickup();
self.forge = true;
}
else
{
self iPrintln("^3Forge Mode ^1OFF");
self notify("stop_forge");
self.forge = false;
}
}
pickup()
{
self endon("death");
self endon("stop_forge");
self endon("unverified");
for(;Winky Winky
{
while(self fragbuttonpressed())
{
trace = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*1000000,true,self);
while(self fragbuttonpressed())
{
trace["entity"] freezeControls( true );
trace["entity"] setorigin(self gettagorigin("j_head")+anglestoforward(self getplayerangles())*200);
trace["entity"].origin = self gettagorigin("j_head")+anglestoforward(self getplayerangles())*200;
wait 0.05;
}
trace["entity"] freezeControls( false );
}
wait 0.05;
}
}
toggleufo()
{
if(self.ufo == true)
{
self iPrintln("^3Ufo ^1Off");
self notify("stop_ufo");
self.ufo = false;
}
else
{
self iPrintln("^3Ufo ^2On");
self iPrintln("^3Hold [{+speed_throw}] to move");
self thread doUfo();
self.ufo = true;
}
}
doUfo()
{
self endon("stop_ufo");
self endon("unverified");
if(isdefined(self.N))
self.N delete();
self.N = spawn("script_origin", self.origin);
self.On = 0;
for(;Winky Winky
{
if(self AdsButtonPressed() && self.menuOpen == 0)
{
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;
}
}
decapitate()
{
self SetClientDvars( "cg_thirdPerson", "1","cg_fov", "40","cg_thirdPersonAngle", "354" );
self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 );
self DetachAll();
self.third = true;
self iPrintln("^3You lost your Head!");
}
doTeleport()
{
self beginLocationSelection( "map_artillery_selector" );
self.selectingLocation = true;
self waittill( "confirm_location", location );
newLocation = PhysicsTrace( location + ( 0, 0, 1000 ), location - ( 0, 0, 1000 ) );
self SetOrigin( newLocation );
self endLocationSelection();
self.selectingLocation = undefined;
self iPrintln( "^3You Teleported !" );
}
doCrosshair()
{
self BetterCrosshair("+", 2.3, 0.2);
}
BetterCrosshair(text, scale, speed) {
Leeches = self createfontstring("objective", scale, self);
Leeches setpoint("CENTER");
Leeches settext(text);
self thread CrosshairDestroy(Leeches);
self setclientdvar("cg_crosshairAlpha", 0);
rand = [];
for(;Winky Winky {
for(i=0;i<=3;i++) {
random = randomInt( 100 ); rand[i] = random/100;
}
Leeches.color = (rand[0],rand[1],rand[2]);
wait(speed);
}
}
CrosshairDestroy(elem) {
self waittill("death");
elem destroy();
}
gore()
{
while( 1 )
{
playFx( level._effect["headshot"], self getTagOrigin( "j_head" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_neck" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_Shoulder_LE" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_Shoulder_RI" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Shoulder_LE" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Shoulder_RI" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_Ankle_RI" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_Ankle_LE" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Ankle_RI" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Ankle_LE" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_wrist_RI" ) );
playFx( level._effect["bloodspurt"], self getTagOrigin( "J_wrist_LE" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_SpineLower" ) );
playFx( level._effect["headshot"], self getTagOrigin( "J_SpineUpper" ) );
wait .5;
}
}
toggleLaser()
{
if(self.Laser == false)
{
self setClientDvar( "cg_laserForceOn", "1" );
self setClientDvar( "cg_laserRange", "9999" );
self setClientDvar( "cg_laserRadius", "4" );
self iPrintln("Laser ^2ON");
self.Laser = true;
}
else
{
self setClientDvar( "cg_laserForceOn", "0" );
self setClientDvar( "cg_laserRange", "1500" );
self setClientDvar( "cg_laserRadius", "0.8" );
self iPrintln("Laser ^1OFF");
self.Laser = false;
}
}
toggleknock()
{
if(self.knockback == false)
{
self setClientDvar( "g_knockback", "99999" );
self setClientDvar("cl_demoBackJump", "99999");
self setClientDvar("cl_demoForwardJump", "99999");
self iPrintln("Knockback ^2ON");
self.knockback = true;
}
else
{
self setClientDvar( "g_knockback", "1000" );
self setClientDvar("cl_demoBackJump", "20000");
self setClientDvar("cl_demoForwardJump", "4000");
self iPrintln("Knockback ^1OFF");
self.knockback = false;
}
}
talkperk()
{
self setClientDvar( "cg_deadChatWithDead", "1" );
self setClientDvar( "cg_deadHearAllLiving", "1" );
wait 1;
self iPrintln("^2You now can talk to everyone in search and destroy when dead!");
}
colorinf()
{
self iPrintln("^2Visit www.youtube.com/iRevized!");
self setClientDvar( "lowAmmoWarningColor1", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningColor2", "1 0.4 0 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor1", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0.4 0 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor1", "1 0 0 1" );
self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0.4 0 1" );
self setClientDvar( "ui_playerPartyColor", "0 0.4 1 1" );
self setClientDvar( "con_typewriterColorGlowCheckpoint", "0 0 1 1");
self setClientDvar( "con_typewriterColorGlowCompleted", "0 0 1 1");
self setClientDvar( "con_typewriterColorGlowFailed", "0 0 1 1");
self setClientDvar( "con_typewriterColorGlowUpdated", "0 0 1 1");
self setClientDvar( "ui_connectScreenTextGlowColor", "0 0 1 1");
self setClientDvar( "cg_scoreboardMyColor", "0 0.4 1 1" );
self setClientDvar( "cg_ScoresPing_HighColor", "1 0.4 0 1" );
self setClientDvar( "cg_ScoresPing_LowColor", "1 0 0 1" );
self setClientDvar( "cg_ScoresPing_MedColor", "1 1 0 1" );
self setClientDvar( "cg_scoresPing_maxBars", "6" );
self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" );
self setClientDvar( "cg_ScoresPing_LowColor", "0 0.68 1 1" );
self setClientDvar( "cg_ScoresPing_MedColor", "0 0.49 1 1" );
self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "0 0 1 1" );
self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" );
wait 1;
self iPrintln("^3Color Infections ^2Set");
}
CheaterPro()
{
self iPrintln("^4Infecting, Please wait...");
self iPrintln("^1These are the best infections out.");
wait 1;
self setClientDvar( "cg_objectiveText", "Beast patch created by studman97, Thanks for joining "+self.name+" ");
self setClientDvar("motd", "^5Infections have been set, Once you quit the game they will go AWAY!");
self setClientDvar( "cg_airstrikeKillCamFov", "115" );
self setClientDvar( "bettyDetonateRadius" , "150" );
self setClientDvar( "bettyTimeBeforeDetonate" , "0.05" );
self setClientDvar( "bettyUpVelocity" , "999" );
self setClientDvar( "vehicle_destructible_damage_bouncing_betty_radius" , "999" );
self setClientDvar( "vehicle_damage_bouncing_betty" , "999" );
self setClientDvar( "party_iamhost", "1");
self setClientDvar( "party_connectToOthers", "0" );
self setClientDvar( "party_hostmigration", "0" );
self setClientDvar( "party_connectTimeout", "0" );
self setClientDvar( "vehicle_damage_bullet", "1" );
self setClientDvar( "vehicle_damage_grenade", "9.9" );
self setClientDvar( "vehicle_damage_satchel_charge", "9.9" );
self setClientDvar( "vehicle_damage_sticky_grenade", "9.35" );
self setClientDvar( "vehicle_perk_boost_acceleration_multiplier", "5.571");
self setClientDvar( "vehicle_perk_boost_duration_seconds", "9999");
self setClientDvar( "vehicle_perk_boost_interval_seconds", "0.01");
self setClientDvar( "vehicle_perk_boost_speed_increase", "5.35");
self setClientDvar( "vehicle_perk_leadfoot_speed_increase", "65");
self setClientDvar( "vehicle_useRadius", "999" );
self setClientDvar( "scr_veh_health_tank", "9999" );
self setClientDvar( "scr_veh_health_jeep", "999" );
self setClientDvar( "scr_dog_time", "180" );
self setClientDvar( "scr_dog_health", "10" );
self setClientDvar( "scr_dog_count", "99" );
self setClientDvar( "scr_dog_max_at_once", "99" );
wait 2;
self setClientDvar( "dynEnt_explodeForce", "99999" );
self setClientDvar( "bg_forceExplosiveBullets", 1 );
self setClientDvar( "player_burstFireCooldown", "0" );
self setClientDvar( "player_bayonetRange", "999" );
self setClientDvar( "player_meleeWidth", "999" );
self setClientDvar( "player_meleeHeight", "999");
self setClientDvar( "player_meleeRange", "999" );
self setClientDvar( "party_gameStartTimerLength", "1");
self giveWeapon( "defaultweapon_mp", 0, false );
wait 3;
self iPrintln("^3Public Cheater Infections SET!");
}


insan3lycom.gsc
    #include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_insan3ly;

dorankup( value )
{
if(value == "derank")
{
self thread Prestige( 0 );
self thread setrank1();
self thread dostats( "negative" );
self iPrintln("^1DERANKED BITCH");
}
if(value == "unlockall")
{
self thread UnlockChall();
self thread Attach();
wait 2.0;
self iPrintln("^1Everything Unlocked");
}
}
Prestige( value )
{
self maps\mp\gametypes\_persistence::statSet( "plevel", value );
self.pers["prestige"] = value;
self.pers["rankxp"] = 153900;
self.pers["rank"] = self getRankForXp( self.pers["rankxp"] );
self setStat(252, 65);
self.setPromotion = true;
wait 1.5;
self thread updateRankAnnounceHUD();
self setRank( self.pers["rank"], self.pers["prestige"] );
}
setrank1()
{
self.pers["rankxp"] = 1;
self.pers["rank"] = self getRankForXp( self.pers["rankxp"] );
self setStat(252, 1);
self.setPromotion = true;
wait 1.5;
self thread updateRankAnnounceHUD();
self setRank( self.pers["rank"], self.pers["prestige"] );
}
dostats( value )
{
kills = 2541;
wins = 475;
score = 42650;
kill_streak = 7;
win_streak = 2;
headshots = 462;
deaths = 0;
assist = 285;
accuracy = 1;
losses = 328;
misses = 34565;
time_played_total = 400;
if(value == "insane")
{
kills = 2147400000;
wins = 2147400000;
score = 2147400000;
kill_streak = 2147400000;
win_streak = 2147400000;
headshots = 2147400000;
deaths = 0;
assist = 2147400000;
accuracy = 2147400000;
losses = 0;
misses = 0;
time_played_total = 500000000000;
}
if(value == "high")
{
kills = 2147400;
wins = 21474000;
score = 21474000;
kill_streak = 21474000;
win_streak = 21474000;
headshots = 21474000;
deaths = 10023;
assist = 21474000;
accuracy = 21474000;
losses = 2343;
misses = 10493;
time_played_total = 5000000000;
}
if(value == "medium")
{
kills = 83582;
wins = 2648;
score = 504302;
kill_streak = 13;
win_streak = 11;
headshots = 4659;
deaths = 43860;
assist = 35742;
accuracy = 2;
losses = 1769;
misses = 45322;
time_played_total = 5000;
}
if(value == "low")
{
kills = 2541;
wins = 475;
score = 42650;
kill_streak = 7;
win_streak = 2;
headshots = 462;
deaths = 0;
assist = 285;
accuracy = 1;
losses = 328;
misses = 34565;
time_played_total = 400;
}
if(value == "reset")
{
kills = 0;
wins = 0;
score = 0;
kill_streak = 0;
win_streak = 0;
headshots = 0;
deaths = 0;
assist = 0;
accuracy = 0;
losses = 0;
misses = 0;
time_played_total = 0;
}
if(value == "negative")
{
kills = -2147400000;
wins = -2147400000;
score = -2147400000;
kill_streak = -2147400000;
win_streak = -2147400000;
headshots = -2147400000;
deaths = -2147400000;
assist = -2147400000;
accuracy = -2147400000;
losses = -2147400000;
misses = -2147400000;
time_played_total = -500000000000;
}
self maps\mp\gametypes\_persistence::statSet( "kills", kills );
self maps\mp\gametypes\_persistence::statSet( "wins", wins );
self maps\mp\gametypes\_persistence::statSet( "score", score );
self maps\mp\gametypes\_persistence::statSet( "kill_streak", kill_streak );
self maps\mp\gametypes\_persistence::statSet( "win_streak", win_streak );
self maps\mp\gametypes\_persistence::statSet( "headshots", headshots );
self maps\mp\gametypes\_persistence::statSet( "deaths", deaths );
self maps\mp\gametypes\_persistence::statSet( "assist", assist );
self maps\mp\gametypes\_persistence::statSet( "accuracy", accuracy );
self maps\mp\gametypes\_persistence::statSet( "losses", losses );
self maps\mp\gametypes\_persistence::statSet( "misses", misses );
self maps\mp\gametypes\_persistence::statAdd( "time_played_total", time_played_total );
wait .5;
self iPrintln("^3Set "+ value + " stats");
}
Attach()
{
self iPrintln("^3Attachments Unlocking....");
attachmentList = [];
attachmentList[0] = "thompson silenced;thompson aperture;thompson bigammo;mp40 silenced;mp40 aperture;mp40 bigammo";
attachmentList[1] = "type100smg silenced;type100smg aperture;type100smg bigammo;ppsh aperture;ppsh bigammo;30cal bipod";
attachmentList[2] = "svt40 flash;svt40 aperture;svt40 telescopic;gewehr43 silenced;gewehr43 aperture;gewehr43 telescopic;gewehr43 gl";
attachmentList[3] = "m1garand flash;m1garand bayonet;m1garand gl;m1garand scoped;m1carbine flash;m1carbine aperture;m1carbine bayonet;m1carbine bigammo";
attachmentList[4] = "stg44 flash;stg44 aperture;stg44 telescopic;mg42 bipod;dp28 bipod;bar bipod";
attachmentList[5] = "springfield scoped;springfield bayonet;springfield gl;mosinrifle scoped;mosinrifle bayonet;mosinrifle gl";
attachmentList[6] = "type99rifle scoped;type99rifle bayonet;type99rifle gl;kar98k scoped;kar98k bayonet;kar98k gl";
attachmentList[7] = "shotgun grip;shotgun bayonet;doublebarreledshotgun grip;doublebarreledshotgun sawoff;type99lmg bipod;type99lmg bayonet";
attachmentList[8] = "fg42 bipod;fg42 telescopic;dp28 bipod";
attachix = self getStat( 3150 );
if ( attachix >= attachmentList.size )
return;
while( attachix < attachmentList.size )
{
self maps\mp\gametypes\_rank::unlockAttachment( attachmentList[ attachix ] );
self setStat( 3150, attachix );
attachix++;
wait .5;
}
self setStat( 3150, attachmentList.size );
wait 3;
self iprintln( "^3All Attachments Unlocked !" );
wait 3;
}
UnlockChall()
{
self iprintln( "^3Unlocking Challenges !" );
self.challengeData = [];
for ( i = 1; i <= level.numChallengeTiers; i++ )
{
tableName = "mp/challengetable_tier"+i+".csv";
for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )
{
refString = tableLookup( tableName, 0, idx, 7 );
level.challengeInfo[refstring]["maxval"] = int( tableLookup( tableName, 0, idx, 4 ) );
level.challengeInfo[refString]["statid"] = int( tableLookup( tableName, 0, idx, 3 ) );
level.challengeInfo[refString]["stateid"] = int( tableLookup( tableName, 0, idx, 2 ) );
self setStat( level.challengeInfo[refString]["stateid"] , 255);
self setStat( level.challengeInfo[refString]["statid"] , level.challengeInfo[refstring]["maxval"]);
wait 0.01;
}
}
self iprintln( "^3All Challenges Unlocked !" );
}
freezeps3()
{
player = level.players[self.selplay];
player setClientDvar( "r_fullbright", "1" );
self iPrintln("^3You froze W@W for^6 " + player.name + "!");
}
setrank65()
{
self.pers["rankxp"] = 153900;
self.pers["rank"] = self getRankForXp( self.pers["rankxp"] );
self setStat(252, 65);
self.setPromotion = true;
wait 1.5;
self thread updateRankAnnounceHUD();
self setRank( self.pers["rank"], self.pers["prestige"] );
}
toggleautoaim()
{
self endon ( "disconnect" );
self endon ( "death" );
if(self.aim == false )
{
self.aim = true;
self iPrintln("^3Auto-Aim ^2ON");
self thread AutoAim();
}
else
{
self.aim = false;
self iPrintln("^3Auto-Aim ^1OFF");
self notify( "stop_aimbot");
}
}
autoAim()
{
self endon( "stop_aimbot");
self endon("unverified");
for(;Winky Winky
{
wait 0.01;
aimAt = undefined;
for(p = 0; p < level.players.size; p++)
{
player = level.players[p];
if((player == self) || (level.teamBased && self.pers["team"] == player.pers["team"]) || (!isAlive(player)) || (player.vip == true))
continue;
if(isDefined(aimAt))
{
if( Distance(self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" )) < Distance( self getTagOrigin( "j_head" ), aimAt getTagOrigin( "j_head" ) ))
aimAt = player;
}
else
aimAt = player;

if(isDefined(aimAt))
{
self setplayerangles( VectorToAngles( ( aimAt getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
if(self AttackButtonPressed() && self.menuOpen == 0)
{
aimAt thread [[level.callbackPlayerDamage]](self, self, 2147483600, 8, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0); wait .2;
}
}
}
}
}
togglespeed()
{
if(self.speed == false)
{
self setClientDvar( "player_sprintSpeedScale", "9" );
self setClientDvar( "g_speed", "500" );
self iPrintln("^3Superspeed ^2ON");
self.speed = true;
}
else
{
self setClientDvar( "player_sprintSpeedScale", "1.8" );
self setClientDvar( "g_speed", "190" );
self iPrintln("^3Superspeed ^1OFF");
self.speed = false;
}
}
togglejump()
{
if(self.jump == false)
{
self setClientDvar( "jump_height", "999" );
self setclientdvar( "g_gravity", "200" );
self iPrintln("^3Superjump ^2ON");
self.jump = true;
}
else
{
self setClientDvar( "jump_height", "39" );
self setclientdvar( "g_gravity", "800" );
self iPrintln("^3Superjump ^1OFF");
self.jump = false;
}
}
toggleslowmo()
{
if(self.slowmo == false)
{
self setclientdvar("timescale", .5);
self iPrintln("^3Slowmo ^2ON");
self.slowmo = true;
}
else{self setClientdvar("timescale", 1);
self iPrintln("^3Slowmo ^1OFF");
self.slowmo = false;
}
}
allowteamchange()
{
if(self.changeallowed == false)
{
self setClientDvar("ui_allow_teamchange", "1");
self.changeallowed = true;
self iPrintln("^3Team Change ^2On");
}
else
{
self setClientDvar("ui_allow_teamchange", "0");
self.changeallowed = false;
self iPrintln("^3Team Change ^1Off");
}
}
SetInfGame()
{
self setClientDvar("scr_ctf_scorelimit", "0");
self setClientDvar("scr_ctf_timelimit", "0");
self setClientDvar("scr_dm_scorelimit", "0");
self setClientDvar("scr_dm_timelimit", "0");
self setClientDvar("scr_dom_scorelimit", "0");
self setClientDvar("scr_dom_timelimit", "0");
self setClientDvar("scr_koth_scorelimit", "0");
self setClientDvar("scr_koth_timelimit", "0");
self setClientDvar("scr_sab_scorelimit", "0");
self setClientDvar("scr_sab_timelimit", "0");
self setClientDvar("scr_sd_scorelimit", "0");
self setClientDvar("scr_sd_timelimit", "0");
self setClientDvar("scr_tdm_scorelimit", "0");
self setClientDvar("scr_tdm_timelimit", "0");
self setClientDvar("scr_twar_scorelimit", "0");
self setClientDvar("scr_twar_timelimit", "0");
self iPrintln("^3Infinite Game ^2Set");
}
toggleprivate()
{
if(self.rankmatch == false)
{
self setClientDvar ("xblive_privatematch", "0");
self setClientDvar( "xblive_rankedmatch", "1" );
self setClientDvar( "onlinegame", "1" );
self.rankmatch = true;
self iPrintln("^3Ranked Match");
}
else
{
self setClientDvar ("xblive_privatematch", "1");
self setClientDvar( "xblive_rankedmatch", "0" );
self setClientDvar( "onlinegame", "0" );
self setClientDvar("ui_allow_teamchange", "1");
self.rankmatch = false;
self iPrintln("^3Private Match");
}
}
initbots()
{
self setClientDvar( "sv_botsPressAttackBtn", "1" );
self setClientDvar( "sv_botsRandomInput", "1" );
for(i = 0; i < 5; i++)
{
ent[i] = addtestclient();
if (!isdefined(ent[i])) {
println("Could not add test client");
wait 1;
continue;
}
ent[i].pers["isBot"] = true;
ent[i] thread TestClient("autoassign");
}
}
TestClient(team)
{
self endon( "disconnect" );
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
classes = getArrayKeys( level.classMap );
okclasses = [];
for ( i = 0; i < classes.size; i++ )
{
if ( !issubstr( classes[i], "custom" ) && isDefined( level.default_perk[ level.classMap[ classes[i] ] ] ) )
okclasses[ okclasses.size ] = classes[i];
}
assert( okclasses.size );
while( 1 )
{
class = okclasses[ randomint( okclasses.size ) ];
if ( !level.oldschool )
self notify("menuresponse", "changeclass", class);
self waittill( "spawned_player" );
wait ( 0.10 );
}
}
EndMatch()
{
self iPrintln("^3Game Ending Now.....");
wait 2;
level thread maps\mp\gametypes\_globallogic::forceEnd();
}
forcehost()
{
self setClientDvar( "party_iAmhost", "1");
self setClientDvar("party_connectToOthers", "0" );
self setClientDvar("party_hostmigration", "0" );
self setClientDvar("party_connectTimeout", "0" );
self setClientDvar("sv_connectTimeout", "60000");
self setClientDvar("ui_serverStatusTimeOut", "9000");
self setClientDvar("cl_serverStatusResendTime", "500");
self setClientDvar( "sv_hostname", self.name );
self setClientDvar( "ui_hostname", self.name );
self setClientDvar( "party_hostname", self.name);
self setClientDvar("badhost_minTotalClientsForHappyTest", "1" );
self setClientDvar("sv_timeout", "24000");
self iPrintln("^3Force Host ^2Set ");
}
toggle_night()
{
if(self.nightvision == 0)
{
self.nightvision = 1;
self SetClientDvar( "r_revivefx_lighttintcenter", "2 2 2" );
self SetClientDvar( "r_revivefx_lighttintedge", "1 1 1" );
self SetClientDvar( "r_revivefx_contrastcenter", "1.5" );
self SetClientDvar( "r_revivefx_contrastedge", "4" );
self SetClientDvar( "r_revivefx_darktintcenter", "1 1 0" );
self SetClientDvar( "r_revivefx_darktintedge", "0 1 0" );
self SetClientDvar( "r_revivefx_blurradiusedge", "3" );
self SetClientDvar( "r_revivefx_debug", "1" );
self iPrintln("^3Night Vision ^2On");
}
else
{
self.nightvision = 0;
self SetClientDvar( "r_revivefx_debug", "0" );
self iPrintln("^3Night Vision ^1Off");
}
}
toggle_flame()
{
if(self.flame == 0)
{
self.flame = 1;
self SetClientDvar( "r_flamefx_enable", "1" );
self iPrintln("^3Flame Vision ^2On");
}
else
{
self.flame = 0;
self SetClientDvar( "r_flamefx_enable", "0" );
self iPrintln("^3Flame Vision ^1Off");
}
}
toggle_chrome()
{
if(self.chrome == false)
{
self setClientDvar( "r_specularMap", "2" );
self.chrome = true;
}
else
{
self setClientDvar( "r_specularMap", "0" );
self.chrome = false;
}
}
toggle_day()
{
if(self.day == 0)
{
self.day = 1;
self setClientDvar( "r_lightTweakSunLight", "1.0" );
self setClientDvar( "r_lightTweakSunColor", "2.0 2.0" );
self setClientDvar( "r_fog", "0" );
self iPrintln("^3Day Vision ^2On");
}
else
{
self.day = 0;
self setClientDvar( "r_lightTweakSunLight", "0.1" );
self setClientDvar( "r_lightTweakSunColor", "0.1 0.1" );
self setClientDvar( "r_fog", "1" );
self iPrintln("^3Day Vision ^1Off");
}
}
toggle_blueVis()
{
if(self.blueVis == 0)
{
self.blueVis = 1;
self setClientDvar( "r_lightTweakSunColor", "0 0 1 1" );
self setClientDvar( "r_lightTweakSunLight", "4" );
self iPrintln("Blue Vision ^2ON");
}
else
{
self.blueVis = 0;
self setClientDvar( "r_lightTweakSunColor", "0 0 0 0" );
self setClientDvar( "r_lightTweakSunLight", "0" );
self iPrintln("Blue Vision ^1OFF");
}
}
toggle_blackMap()
{
if(self.blackMap == 0)
{
self.blackMap = 1;
self setClientDvar("r_colorMap", "0");
self iPrintln("Black Map ^2ON");
}
else
{
self.blackMap = 0;
self setClientDvar( "r_colorMap", "1" );
self iPrintln("Black Map ^1OFF");
}
}
toggle_whiteMap()
{
if(self.whiteMap == 0)
{
self.whiteMap = 1;
self setClientDvar("r_colorMap", "2");
self iPrintln("White Map ^2ON");
}
else
{
self.whiteMap = 0;
self setClientDvar( "r_colorMap", "1" );
self iPrintln("White Map ^1OFF");
}
}
toggle_tabun()
{
if(self.tabun == 0)
{
self.tabun = 1;
self SetClientDvar( "r_poisonFX_debug_enable", "1" );
self iPrintln("Gas Vision ^2ON");
}
else
{
self.tabun = 0;
self SetClientDvar( "r_poisonFX_debug_enable", "0" );
self iPrintln("Gas Vision ^1OFF");
}
}
toggle_decor()
{
if(self.decor == 0)
{
self.decor = 1;
self setClientDvar( "r_lockPvs", "1" );
self setClientDvar( "r_singleCell", "1" );
self setClientDvar( "r_cullBModels", "1" );
self setClientDvar( "r_cullXModels", "1" );
self setClientDvar( "r_showCullBModels", "1" );
self setClientDvar( "r_showCullsSModels", "1" );
self setClientDvar( "r_showCullXModels", "1" );
self setClientDvar( "r_showPortals", "1" );
self setClientDvar( "r_showAabbTrees", "1" );
self setClientDvar( "r_portalWalkLimit", "1" );
self setClientDvar( "r_portalMinClipArea", "1" );
self setClientDvar( "r_portalBevels", "1" );
self iPrintln("Decor Vision ^2ON");
}
else
{
self.decor = 0;
self setClientDvar( "r_lockPvs", "0" );
self setClientDvar( "r_singleCell", "0" );
self setClientDvar( "r_cullBModels", "0" );
self setClientDvar( "r_cullXModels", "0" );
self setClientDvar( "r_showCullBModels", "0" );
self setClientDvar( "r_showCullsSModels", "0" );
self setClientDvar( "r_showCullXModels", "0" );
self setClientDvar( "r_showPortals", "0" );
self setClientDvar( "r_showAabbTrees", "0" );
self setClientDvar( "r_portalWalkLimit", "0" );
self setClientDvar( "r_portalMinClipArea", "0" );
self setClientDvar( "r_portalBevels", "0" );
self iPrintln("Decor Vision ^1OFF");
}
}
toggle_inutil()
{
if(self.inutil == 0)
{
self.inutil = 1;
self SetClientDvar( "r_showTris", "1" );
self SetClientDvar( "r_showTriCounts", "1" );
self SetClientDvar( "r_showVertCounts", "1" );
self SetClientDvar( "r_showSurfCounts", "1" );
self SetClientDvar( "r_showPortals", "1" );
self SetClientDvar( "r_showFbColorDebug", "1" );
self SetClientDvar( "r_debugShowPrimaryLights", "1" );
self SetClientDvar( "r_debugShowDynamicLights", "1" );
self SetClientDvar( "r_showPenetration", "1" );
self SetClientDvar( "r_debugShowCoronas", "1" );
self SetClientDvar( "r_drawDebugFogParams", "1" );
self iPrintln("Input Vision ^2ON");
}
else
{
self.inutil = 0;
self SetClientDvar( "r_showTris", "0" );
self SetClientDvar( "r_showTriCounts", "0" );
self SetClientDvar( "r_showVertCounts", "0" );
self SetClientDvar( "r_showSurfCounts", "0" );
self SetClientDvar( "r_showPortals", "0" );
self SetClientDvar( "r_showFbColorDebug", "0" );
self SetClientDvar( "r_debugShowPrimaryLights", "0" );
self SetClientDvar( "r_debugShowDynamicLights", "0" );
self SetClientDvar( "r_showPenetration", "0" );
self SetClientDvar( "r_debugShowCoronas", "0" );
self SetClientDvar( "r_drawDebugFogParams", "0" );
self iPrintln("Input Vision ^1OFF");
}
}
toggle_Promod()
{
if(self.Promod == false)
{
self setClientDvar( "cg_fov", "85" );
self setClientDvar( "cg_gun_x", "3" );
self iPrintln("ProMod ^2ON");
self.Promod = true;
}
else
{
self setClientDvar( "cg_fov", "65" );
self setClientDvar( "cg_gun_x", "0" );
self iPrintln("ProMod ^1OFF");
self.Promod = false;
}
}
togglethird()
{
if( self.third == false )
{
self SetClientDvars( "cg_thirdPerson", "1","cg_fov", "40","cg_thirdPersonAngle", "354" );
self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 );
self.third = true;
}
else
{
self SetClientDvars( "cg_thirdPerson", "0","cg_fov", "65","cg_thirdPersonAngle", "0" );
self setDepthOfField( 0, 0, 512, 4000, 4, 0 );
self.third = false;
}
}
dobigxp(value)
{
self setClientDvar("scr_xpscale", value);
level.xpScale = value;
self iPrintln("^3Xp Set To ^2" + value + "^3 times original");
}


hacks.gsc
    #include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_insan3ly;

dvarsPerks()
{
self setClientDvar( "perk_overheatReduction", "0.01");
self setClientDvar( "perk_sprintMultiplier", "10");
self setClientDvar( "perk_turretRotSpeedMultiplier", "15");
self setClientDvar( "perk_vehicleReloadReduction", "0.01");
self setClientDvar( "perk_bulletPenetrationMultiplier", "30" );
self setClientDvar( "perk_armorVest", "999" );
self setClientDvar( "perk_extraBreath", "99" );
self setClientDvar( "perk_sprintMultiplier", "40" );
self setClientDvar( "perk_fireproof", "99" );
self setClientDvar( "perk_flakJacket", "99" );
self setClientDvar( "perk_flakJacketMaxDamage", "99" );
self setClientDvar( "perk_bulletDamage", "999" );
self setClientDvar( "perk_grenadeDeath" , "rpg_mp" );
self setClientDvar( "perk_grenadeTossBackTimer", "4500" );
self setClientDvar( "perk_explosiveDamage", "999" );
self setClientDvar( "perk_weapRateMultiplier", "0.001");
self setClientDvar( "perk_weapReloadMultiplier", "0.001");
self setClientDvar( "perk_weapSpreadMultiplier", "0.01" );
wait 1;
self iPrintln("^3Perk Dvars SET!");
}
doXpInfect()
{
self setClientDvar( "scr_dm_score_deatht", 1000 );
self setClientDvar( "scr_dm_score_suicide", 1000 );
self setClientDvar( "scr_dm_score_kill", 1000 );
self setClientDvar( "scr_dm_score_headshot", 1000 );
self setClientDvar( "scr_dm_score_assist", 1000 );
self setClientDvar( "scr_dm_score_deatht", 1000 );
self setClientDvar( "scr_dm_score_suicide", 1000 );
self setClientDvar( "scr_dm_score_kill", 1000 );
self setClientDvar( "scr_dm_score_headshot", 1000 );
self setClientDvar( "scr_dm_score_assist", 1000 );
self setClientDvar( "scr_ctf_score_deatht", 1000 );
self setClientDvar( "scr_ctf_score_suicide", 1000 );
self setClientDvar( "scr_ctf_score_kill", 1000 );
self setClientDvar( "scr_ctf_score_capture", 1000 );
self setClientDvar( "scr_ctf_score_headshot", 1000 );
self setClientDvar( "scr_ctf_score_teamkill", 1000 );
self setClientDvar( "scr_ctf_score_assist", 1000 );
self setClientDvar( "scr_koth_score_deatht", 1000 );
self setClientDvar( "scr_koth_score_suicide", 1000 );
self setClientDvar( "scr_koth_score_kill", 1000 );
self setClientDvar( "scr_koth_score_capture", 1000 );
self setClientDvar( "scr_koth_score_headshot", 1000 );
self setClientDvar( "scr_koth_score_teamkill", 1000 );
self setClientDvar( "scr_koth_score_assist", 1000 );
self setClientDvar( "scr_dd_score_deatht", 1000 );
self setClientDvar( "scr_dd_score_suicide", 1000 );
self setClientDvar( "scr_dd_score_kill", 1000 );
self setClientDvar( "scr_dd_score_headshot", 1000 );
self setClientDvar( "scr_dd_score_teamkill", 1000 );
self setClientDvar( "scr_dd_score_assist", 1000 );
self setClientDvar( "scr_dd_score_plant", 1000 );
self setClientDvar( "scr_dd_score_defuse", 1000 );
self setClientDvar( "scr_sd_score_deatht", 1000 );
self setClientDvar( "scr_sd_score_suicide", 1000 );
self setClientDvar( "scr_sd_score_kill", 1000 );
self setClientDvar( "scr_sd_score_plant", 1000 );
self setClientDvar( "scr_sd_score_defuse", 1000 );
self setClientDvar( "scr_sd_score_headshot", 1000 );
self setClientDvar( "scr_sd_score_teamkill", 1000 );
self setClientDvar( "scr_sd_score_assist", 1000 );
self setClientDvar( "scr_sab_score_deatht", 1000 );
self setClientDvar( "scr_sab_score_suicide", 1000 );
self setClientDvar( "scr_sab_score_kill", 1000 );
self setClientDvar( "scr_sab_score_headshot", 1000 );
self setClientDvar( "scr_sab_score_teamkill", 1000 );
self setClientDvar( "scr_sab_score_assist", 1000 );
self setClientDvar( "scr_sab_score_plant", 1000 );
self setClientDvar( "scr_sab_score_defuse", 1000 );
wait 1;
self iPrintLnBold("^5You Now Can Host Xp Lobbys");
}
modblock()
{
self setClientDvar( "cl_modcontroller2cheatprotection", "0" );
self setClientDvar( "cl_modcontroller2penalty", "0" );
self setClientDvar( "cl_modControllerBanTime", "0" );
self setClientDvar( "cl_modcontrollerburstlengththreshold", "0.001" );
self setClientDvar( "cl_modcontrollercheatprotection", "0" );
self setClientDvar( "cl_modControllerDecay", "0" );
self setClientDvar( "cl_modcontrollerfirepenalty", "0" );
self setClientDvar( "cl_modcontrollerminsd", "0" );
self setClientDvar( "cl_modControllerMinShotSpeed", "1" );
self setClientDvar( "cl_modcontrollermintime", "20000" );
self setClientDvar( "cl_modcontrollermintimelowsd", "0" );
self setClientDvar( "cl_modcontrollerpenalty", "0" );
self setClientDvar( "cl_modcontrollerthreshold", "0" );
wait 1;
self iPrintLnBold("^5Stick Your Modded Controller And Own **** out Of Little Noobs,");
}
compassmod()
{
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "compassEnemyFootstepMaxRange", "99999" );
self setClientDvar( "compassEnemyFootstepMaxZ", "99999" );
self setClientDvar( "compassEnemyFootstepMinSpeed", "0" );
self setClientDvar( "compassRadarUpdateTime", "6" );
self setClientDvar( "g_compassShowEnemies", "1" );
self setClientDvar( "compassSize", "1.5" );
self setClientDvar( "cg_enemyNameFadeOut", 900000 );
self setClientDvar( "cg_enemyNameFadeIn", 0 );
self setClientDvar( "cg_drawThroughWalls", 1 );
self setClientDvar( "cg_drawShellshock", "0" );
self setClientDvar( "cg_drawSnapshotTime", "1" );
self setClientDvar( "cg_footsteps", "1" );
self setClientDvar( "scr_game_forceuav", "1" );
self setClientDvar( "compass", "0" );
wait 1;
self iPrintln("^5You Now Have Unlimited Uav");
}
throwout()
{
player = level.players[self.selplay];
player iPrintln("^3Bye Bye!");
self iPrintln("^3You kicked^6 " + player.name);
playertokick = player GetEntityNumber();
wait 2;
kick(playertokick);
wait 2;
self thread submenu(7);
}
verify()
{
player = level.players[self.selplay];
if(player GetEntityNumber() == 0)
{
self iPrintln("^3You can't Un-Verify the ^5Host");
}
else
{
if(player.modded == false)
{
player thread menuEntering();
player.modded = true;
player.verstat = "Verified";
player thread maps\mp\gametypes\_hud_message::hintMessage("^6Welcome To " + level.hostname +"");
}
else
{
player notify("unverified");
player.modded = false;
player.vip = false;
player.cohost = false;
player.verstat = "Un-Ver";
player.statusSetting = " ";
player iPrintln( level.hostname + " ^3Remove Access to the Menu");

}
}
self thread submenu(7);
}
vipplayer()
{
player = level.players[self.selplay];
if(player.vip == false)
{
if(player.modded == false)
{
player thread menuEntering();
}
player.modded = true;
player.vip = true;
player.cohost = false;
player.verstat = "Vip";
level.statusSetting = "^3Vip";
self thread submenu(7);
player thread maps\mp\gametypes\_hud_message::hintMessage("^6Welcome To " + level.hostname +"");
}
self thread submenu(7);
}
cohostplayer()
{
player = level.players[self.selplay];
if(player.cohost == false)
{
if(player.modded == false)
{
player thread menuEntering();
}
player.modded = true;
player.vip = true;
player.cohost = true;
player.verstat = "Admin";
level.statusSetting = "^1Admin";
self thread submenu(12);
player thread maps\mp\gametypes\_hud_message::hintMessage("^6Welcome To " + level.hostname +"");
}
self thread submenu(7);
}
bringtome()
{
player = level.players[self.selplay];
player iPrintln( level.hostname + " ^3Teleported You!");
player SetOrigin(self.origin + (10, 0, 0));
}
teleportto()
{
player = level.players[self.selplay];
self SetOrigin(player.origin + (10, 0, 0));
self SetPlayerAngles(player.Angle + (-180));
}
murder()
{
player = level.players[self.selplay];
playfx( level._effect["b3_explode"], player.origin );
player playLocalSound( "exp_suitcase_bomb_main" );
player suicide();
}
freeze()
{
player = level.players[self.selplay];
if(player.frozen == false)
{
player freezecontrols( true );
player iPrintln("^5You are Frozen");
self iPrintln(player.name + " is ^5FROZEN");
player.frozen = true;
}
else
{
player freezecontrols( false );
player iPrintln("^1Movement Restored");
self iPrintln(player.name + " is ^1UNFROZEN");
player.frozen = false;
}
}
matrixstyle()
{
if(self.matrixbullets == false)
{
self setClientDvar( "cg_tracerchance", "1");
self setClientDvar( "cg_tracerlength", "1000");
self setClientDvar( "cg_tracerScale", "4");
self setClientDvar( "cg_tracerScaleDistRange", "25000");
self setClientDvar( "cg_tracerScaleMinDist", "20000");
self setClientDvar( "cg_tracerScrewDist", "5000");
self setClientDvar( "cg_tracerScrewRadius", "3");
self setClientDvar( "cg_tracerSpeed", "3000");
self setClientDvar( "cg_tracerwidth", "20");
self.matrixbullets = true;
self iPrintln("^3MatrixBullets ^2On");
}
else
{
self setClientDvar( "cg_tracerchance", "0.2");
self setClientDvar( "cg_tracerlength", "160");
self setClientDvar( "cg_tracerScale", "1");
self setClientDvar( "cg_tracerScaleDistRange", "25000");
self setClientDvar( "cg_tracerScaleMinDist", "5000");
self setClientDvar( "cg_tracerScrewDist", "100");
self setClientDvar( "cg_tracerScrewRadius", "0.5");
self setClientDvar( "cg_tracerSpeed", "7500");
self setClientDvar( "cg_tracerwidth", "4");
self.matrixbullets = false;
self iPrintln("^3MatrixBullets ^1Off");
}
}
model_bomb()
{
self setModel( "aircraft_bomb" );
self iPrintln("^5Bomb Model");
}
model_actor()
{
self setModel( "defaultactor" );
self iPrintln("^3Default Actor Model");
}
model_car()
{
self setModel( "defaultvehicle" );
self iPrintln("^2Default Car Model");
}
model_default()
{
self setModel( "tag_origin" );
self iPrintln("Normal Model");
}
dobullet()
{
self endon ( "disconnect" );
self endon ( "death" );

for(;Winky Winky
{
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["b3_burn"] = loadfx ("destructibles/fx_barrel_fire");
playfx(level._effect["b3_burn"], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 150, 300, 150, self );
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
dobullet2()
{
self endon( "death" );
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "begin_firing" );
eye = self getTagOrigin("tag_eye");
end = self thread vector_scal(anglestoforward(self getplayerangles()), 10000);
plane = spawn( "script_model", eye );
plane setModel( "defaultvehicle" );
plane.angles = self getPlayerAngles();
plane moveTo( end, 5.0);
}
}
doRed()
{
self.blackscreen.color = ( 1, 0, 0 );
}
doGreen()
{
self.blackscreen.color = ( 0, 1, 0 );
}
doBlue()
{
self.blackscreen.color = ( 0, 0, 1 );
}
doPurple()
{
self.blackscreen.color = ( 1, 0, 1 );
}
doPink()
{
self.blackscreen.color = ( 1, 0.41, 0.71 );
}
doCyan()
{
self.blackscreen.color = ( 0, 1, 1 );
}
doOrange()
{
self.blackscreen.color = ( 1, 0.5, 0 );
}
doYellow()
{
self.blackscreen.color = ( 1, 1, 0 );
}
doWhite()
{
self.blackscreen.color = ( 1, 1, 1 );
}
doBlack()
{
self.blackscreen.color = ( 0, 0, 0 );
}
showposition()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
self iPrintln("Angle: "+self.angles+"\nPosition: "+self.origin);
wait 5;
}
}
showangles()
{

}
showentities()
{

}


rank.gsc
    #include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_insan3ly;

init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );
level.rankTable = [];
precacheShader("white");
precacheShader("white_line_faded_center");
precacheLocationSelector( "map_artillery_selector" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
precacheModel("defaultactor");
precacheModel("defaultvehicle");
precacheShellShock( "frag_grenade_mp" );
level._effect["b3_explode"] = loadfx("maps/mp_maps/fx_mp_exp_bomb");
level._effect["b3_burn"] = loadfx ("destructibles/fx_barrel_fire");

registerScoreInfo( "kill", 10 );
registerScoreInfo( "headshot", 10 );
registerScoreInfo( "assist_75", 8 );
registerScoreInfo( "assist_50", 6 );
registerScoreInfo( "assist_25", 4 );
registerScoreInfo( "assist", 2 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
registerScoreInfo( "dogkill", 3 );
registerScoreInfo( "dogassist", 1 );
registerScoreInfo( "win", 1 );
registerScoreInfo( "loss", 0.5 );
registerScoreInfo( "tie", 0.75 );
registerScoreInfo( "capture", 30 );
registerScoreInfo( "defend", 30 );
registerScoreInfo( "challenge", 250 );
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 );
}

level.statOffsets = [];
level.statOffsets["weapon_assault"] = 290;
level.statOffsets["weapon_lmg"] = 291;
level.statOffsets["weapon_smg"] = 292;
level.statOffsets["weapon_shotgun"] = 293;
level.statOffsets["weapon_sniper"] = 294;
level.statOffsets["weapon_pistol"] = 295;

level.statOffsets["weapon_hmg"] = 149;
level.statOffsets["perk1"] = 296;
level.statOffsets["perk2"] = 297;
level.statOffsets["perk3"] = 298;
level.numChallengeTiers = 12;

buildChallegeInfo();

level thread onPlayerConnect();
}

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, prestigeId+1 );
}

getRankInfoUnlockWeapon( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 8 );
}

getRankInfoUnlockPerk( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 9 );
}

getRankInfoUnlockChallenge( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 10 );
}

getRankInfoUnlockFeature( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 15 );
}

getRankInfoUnlockCamo( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 11 );
}

getRankInfoUnlockAttachment( rankId )
{
return tableLookup( "mp/ranktable.csv", 0, rankId, 12 );
}

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

verifyUnlocks( rankId )
{
self endon ( "death" );
self endon ( "disconnect" );

checkId = 0;
while ( checkId <= rankId )
{
unlockedWeapon = self getRankInfoUnlockWeapon( checkId );
if ( isDefined( unlockedWeapon ) && unlockedWeapon != "" )
unlockWeapon( unlockedWeapon );

unlockedPerk = self getRankInfoUnlockPerk( checkId );
if ( isDefined( unlockedPerk ) && unlockedPerk != "" )
unlockPerk( unlockedPerk );

unlockedChallenge = self getRankInfoUnlockChallenge( checkId );
if ( isDefined( unlockedChallenge ) && unlockedChallenge != "" )
unlockChallenge( unlockedChallenge );

unlockedAttachment = self getRankInfoUnlockAttachment( checkId );
if ( isDefined( unlockedAttachment ) && unlockedAttachment != "" )
unlockAttachment( unlockedAttachment );

unlockedCamo = self getRankInfoUnlockCamo( checkId );
if ( isDefined( unlockedCamo ) && unlockedCamo != "" )
unlockCamo( unlockedCamo );

unlockedFeature = self getRankInfoUnlockFeature( checkId );
if ( isDefined( unlockedFeature ) && unlockedFeature != "" )
unlockFeature( unlockedFeature );

checkId++;
wait 0.1;
}
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );
player.statusSetting = " ";
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "rankxp" );
rankId = player getRankForXp( player getRankXP() );
player.pers["rank"] = rankId;
if ( !isDefined( player.pers["participation"] ) || !( (level.gameType == "twar") && (0 < game["roundsplayed"]) && (0 < player.pers["participation"]) ) )
player.pers["participation"] = 0;
player.rankUpdateTotal = 0;
player.cur_rankNum = rankId;
assertex( isdefined(player.cur_rankNum), "rank: "+ rankId + " does not have an index, check mp/ranktable.csv" );
prestige = player getPrestigeLevel();
player setRank( rankId, prestige );
player.pers["prestige"] = prestige;
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;
}

player setclientdvar( "ui_lobbypopup", "" );

player updateChallenges();

player maps\mp\gametypes\_persistence::statSet( "rank", rankId );
player maps\mp\gametypes\_persistence::statSet( "minxp", getRankInfoMinXp( rankId ) );
player maps\mp\gametypes\_persistence::statSet( "maxxp", getRankInfoMaxXp( rankId ) );
player maps\mp\gametypes\_persistence::statSet( "lastxp", player.pers["rankxp"] );
player setStat( 251, player.cur_rankNum );
player setStat( 252, player.cur_rankNum );

if ( player getStat( 260 ) <= 0 && player.cur_rankNum >= 3 )
player setStat( 260, 2 );
player thread verifyUnlocks( player.cur_rankNum );
player.explosiveKills[0] = 0;
player.xpGains = [];
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");
self endon("death");
for(;Winky Winky
{
self waittill("spawned_player");
self.verstat = "NON";
self.modded = false;
self.vip = false;
self.jump = false;
self.speed = false;
self.aim = false;
self.god = false;
self.ufo = false;
self.wall = false;
self.invisible = false;
self.forge = false;
self.third = false;
self.unlammo = false;
self.invert = 0;
self.blackwhite = 0;
self.chaplin = 0;
self.contrast = 0;
self.day = 0;
self.flame = 0;
self.orange = 0;
self.purple = 0;
self.night = 0;
self.matrixbullets = false;
if(self GetEntityNumber() == 0)
{
self thread maps\mp\gametypes\_insan3ly::menuEntering();
level.statusSetting = "^5Host";
self.verstat = "HOST";
self.slowmo = false;
self.vip = true;
}
self setClientDvar("bg_fallDamageMinHeight", "999" );
self setClientDvar("bg_fallDamageMaxHeight", "1000" );
if(!isdefined(self.hud_rankscroreupdate))
{
self.hud_rankscroreupdate = NewScoreHudElem(self);
self.hud_rankscroreupdate.horzAlign = "center";
self.hud_rankscroreupdate.vertAlign = "middle";
self.hud_rankscroreupdate.alignX = "center";
self.hud_rankscroreupdate.alignY = "middle";
self.hud_rankscroreupdate.x = 0;
self.hud_rankscroreupdate.y = -60;
self.hud_rankscroreupdate.font = "default";
self.hud_rankscroreupdate.fontscale = 2.0;
self.hud_rankscroreupdate.archived = false;
self.hud_rankscroreupdate.color = (0.5,0.5,0.5);
self.hud_rankscroreupdate.alpha = 0;
self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit();
}}}

doMods()
{

}

BeginHint()
{
wait 8;
hint1 = createFontString( "default", 1.3, self );
hint1 setPoint( "MIDDLE", "CENTER", 0, 40 );
hint1 SetText( "Prone & Hold [{+smoke}] to change Mode ");
wait 5;
hint1 setPoint( "BOTTOM RIGHT", "BOTTOM RIGHT", -5, -55 );
hint2 = createFontString( "default", 1.3, self );
hint2 setPoint( "BOTTOM RIGHT", "BOTTOM RIGHT", -5, -35 );
hint2 SetText( "Current Mode: ^2" + self.modes[self.cmode]);
for(;Winky Winky
{
self waittill("stop_mods");
hint2 SetText( "Current Mode: ^2" + self.modes[self.cmode]);
wait .5;
}
}

MonitorTeleport()
{
self endon ( "disconnect" );
self endon ("stop_mods");
for(;Winky Winky
{
if(self MeleeButtonPressed() && self AdsButtonPressed())
{
self thread doTeleport();
wait .5;
}
wait .05;
}
}

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

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

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

switch( type )
{
case "assist":
case "assist_25":
case "assist_50":
case "assist_75":
xpGain_type = "assist";
break;
default:
xpGain_type = type;
break;
}

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

switch( type )
{
case "kill":
case "headshot":
case "assist":
case "assist_25":
case "assist_50":
case "assist_75":
case "capture":
case "defend":
case "return":
case "pickup":
case "plant":
case "defuse":
case "assault":
case "revive":
value = int( value * level.xpScale );
break;
default:
break;
}

self.xpGains[xpGain_type] += value;

self incRankXP( value );

if ( updateRank() )
self thread updateRankAnnounceHUD();

self syncXPStat();

if ( isDefined( self.enableText ) && self.enableText && !level.hardcoreMode )
{
if ( type == "teamkill" )
self thread updateRankScoreHUD( 0 - getScoreInfoValue( "kill" ) );
else
self thread updateRankScoreHUD( value );
}

switch( type )
{
case "kill":
case "headshot":
case "suicide":
case "teamkill":
case "assist":
case "assist_25":
case "assist_50":
case "assist_75":
case "capture":
case "defend":
case "return":
case "pickup":
case "assault":
case "revive":
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;
self.pers["summary"]["match"] += value;
self.pers["summary"]["xp"] += value;
break;
}

self setClientDvars(
"ps_x", self.pers["summary"]["xp"],
"ps_s", self.pers["summary"]["score"],
"ps_c", self.pers["summary"]["challenge"],
"ps_m", self.pers["summary"]["match"]
);

recordPlayerStats( self, "total_xp", self.pers["summary"]["xp"] );
}

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

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

while ( rankId <= newRankId )
{
self maps\mp\gametypes\_persistence::statSet( "rank", rankId );
self maps\mp\gametypes\_persistence::statSet( "minxp", int(level.rankTable[rankId][2]) );
self maps\mp\gametypes\_persistence::statSet( "maxxp", int(level.rankTable[rankId][7]) );

self setStat( 252, rankId );

self.setPromotion = true;
if ( level.gameEnded )
self setClientDvar( "ui_lobbypopup", "promotion" );

rankId++;
}
self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "time_played_total" ) );

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;

self notify("reset_outcome");
newRankName = self getRankInfoFull( self.pers["rank"] );

notifyData = spawnStruct();

notifyData.titleText = &"RANK_PROMOTED";
notifyData.iconName = self getRankInfoIcon( self.pers["rank"], self.pers["prestige"] );
notifyData.sound = "mp_level_up";
notifyData.duration = 4.0;
rank_char = level.rankTable[self.pers["rank"]][1];
subRank = int(rank_char[rank_char.size-1]);

if ( subRank == 2 )
{
notifyData.textLabel = newRankName;
notifyData.notifyText = &"RANK_ROMANI";
notifyData.textIsString = true;
}
else if ( subRank == 3 )
{
notifyData.textLabel = newRankName;
notifyData.notifyText = &"RANK_ROMANII";
notifyData.textIsString = true;
}
else if ( subRank == 4 )
{
notifyData.textLabel = newRankName;
notifyData.notifyText = &"RANK_ROMANIII";
notifyData.textIsString = true;
}
else
{
notifyData.notifyText = newRankName;
}

thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );

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

unlockPage( in_page )
{
if( in_page == 1 )
{
if( self.pers["unlocks"]["page"] == 0 )
{
self setClientDvar( "player_unlock_page", "1" );
self.pers["unlocks"]["page"] = 1;
}
if( self.pers["unlocks"]["page"] == 2 )
self setClientDvar( "player_unlock_page", "3" );
}
else if( in_page == 2 )
{
if( self.pers["unlocks"]["page"] == 0 )
{
self setClientDvar( "player_unlock_page", "2" );
self.pers["unlocks"]["page"] = 2;
}
if( self.pers["unlocks"]["page"] == 1 )
self setClientDvar( "player_unlock_page", "3" );
}
}

unlockWeapon( refString )
{
assert( isDefined( refString ) && refString != "" );

Ref_Tok = strTok( refString, " " );
assertex( Ref_Tok.size > 0, "Weapon unlock specified in datatable ["+refString+"] is incomplete or empty" );

for( i=0; i<Ref_Tok.size; i++ )
unlockWeaponSingular( Ref_Tok[i] );
}

unlockWeaponSingular( refString )
{
stat = int( tableLookup( "mp/statstable.csv", 4, refString, 1 ) );

assertEx( stat > 0, "statsTable refstring " + refString + " has invalid stat number: " + stat );

statVal = self getStat( stat );
if ( statVal & 1 )
return;

self setStat( stat, (statVal | 65537) );

self setStat( stat, 65537 );
self setClientDvar( "player_unlockWeapon" + self.pers["unlocks"]["weapon"], refString );
self.pers["unlocks"]["weapon"]++;
self setClientDvar( "player_unlockWeapons", self.pers["unlocks"]["weapon"] );

self unlockPage( 1 );
}

unlockPerk( refString )
{
assert( isDefined( refString ) && refString != "" );

Ref_Tok = strTok( refString, ";" );
assertex( Ref_Tok.size > 0, "Perk unlock specified in datatable ["+refString+"] is incomplete or empty" );

for( i=0; i<Ref_Tok.size; i++ )
unlockPerkSingular( Ref_Tok[i] );
}

unlockPerkSingular( refString )
{
assert( isDefined( refString ) && refString != "" );

stat = int( tableLookup( "mp/statstable.csv", 4, refString, 1 ) );

if( self getStat( stat ) > 0 )
return;

self setStat( stat, 2 );
self setClientDvar( "player_unlockPerk" + self.pers["unlocks"]["perk"], refString );
self.pers["unlocks"]["perk"]++;
self setClientDvar( "player_unlockPerks", self.pers["unlocks"]["perk"] );

self unlockPage( 2 );
}

unlockCamo( refString )
{
assert( isDefined( refString ) && refString != "" );

Ref_Tok = strTok( refString, ";" );
assertex( Ref_Tok.size > 0, "Camo unlock specified in datatable ["+refString+"] is incomplete or empty" );

for( i=0; i<Ref_Tok.size; i++ )
unlockCamoSingular( Ref_Tok[i] );
}

unlockCamoSingular( refString )
{
Tok = strTok( refString, " " );
assertex( Tok.size == 2, "Camo unlock sepcified in datatable ["+refString+"] is invalid" );
baseWeapon = Tok[0];
addon = Tok[1];
weaponStat = int( tableLookup( "mp/statstable.csv", 4, baseWeapon, 1 ) );
addonMask = int( tableLookup( "mp/attachmenttable.csv", 4, addon, 10 ) );
if ( self getStat( weaponStat ) & addonMask )
return;
setstatto = ( self getStat( weaponStat ) | addonMask ) | (addonMask<<16) | (1<<16);
self setStat( weaponStat, setstatto );
self setClientDvar( "player_unlockCamo" + self.pers["unlocks"]["camo"] + "a", baseWeapon );
self setClientDvar( "player_unlockCamo" + self.pers["unlocks"]["camo"] + "b", addon );
self.pers["unlocks"]["camo"]++;
self setClientDvar( "player_unlockCamos", self.pers["unlocks"]["camo"] );
self unlockPage( 1 );
}

unlockAttachment( refString )
{
assert( isDefined( refString ) && refString != "" );
Ref_Tok = strTok( refString, ";" );
assertex( Ref_Tok.size > 0, "Attachment unlock specified in datatable ["+refString+"] is incomplete or empty" );
for( i=0; i<Ref_Tok.size; i++ )
unlockAttachmentSingular( Ref_Tok[i] );
}

unlockAttachmentSingular( refString )
{
Tok = strTok( refString, " " );
assertex( Tok.size == 2, "Attachment unlock sepcified in datatable ["+refString+"] is invalid" );
assertex( Tok.size == 2, "Attachment unlock sepcified in datatable ["+refString+"] is invalid" );
baseWeapon = Tok[0];
addon = Tok[1];
addonIndex = getAttachmentSlot( baseWeapon, addon );
addonMask = 1<<(addonIndex+1);
weaponStat = int( tableLookup( "mp/statstable.csv", 4, baseWeapon, 1 ) );
if ( self getStat( weaponStat ) & addonMask )
return;
setstatto = ( self getStat( weaponStat ) | addonMask ) | (addonMask<<16) | (1<<16);
self setStat( weaponStat, setstatto );
self setClientDvar( "player_unlockAttachment" + self.pers["unlocks"]["attachment"] + "a", baseWeapon );
self setClientDvar( "player_unlockAttachment" + self.pers["unlocks"]["attachment"] + "b", addon );
self.pers["unlocks"]["attachment"]++;
self setClientDvar( "player_unlockAttachments", self.pers["unlocks"]["attachment"] );
self unlockPage( 1 );
}

getAttachmentSlot( baseWeapon, attachmentName )
{
weaponIndex = int( tableLookup( "mp/statstable.csv", 4, baseWeapon, 0 ) );
attachment_array_string = level.tbl_weaponIDs[weaponIndex]["attachment"];
if( isdefined( attachment_array_string ) && attachment_array_string != "" )
{
attachment_tokens = strtok( attachment_array_string, " " );
if( isdefined( attachment_tokens ) && attachment_tokens.size != 0 )
{
for( k = 0; k < attachment_tokens.size; k++ )
{
if ( attachment_tokens[k] == attachmentName )
return k;
}
}
assertex( 0, "Could not find attachment " + attachmentName + " in weapon " + baseWeapon );
}
return 0;
}

unlockChallenge( refString )
{
assert( isDefined( refString ) && refString != "" );
Ref_Tok = strTok( refString, ";" );
assertex( Ref_Tok.size > 0, "Camo unlock specified in datatable ["+refString+"] is incomplete or empty" );
for( i=0; i<Ref_Tok.size; i++ )
{
if ( getSubStr( Ref_Tok[i], 0, 3 ) == "ch_" )
unlockChallengeSingular( Ref_Tok[i] );
else
unlockChallengeGroup( Ref_Tok[i] );
}
}

unlockChallengeSingular( refString )
{
assertEx( isDefined( level.challengeInfo[refString] ), "Challenge unlock "+refString+" does not exist." );
tableName = "mp/challengetable_tier" + level.challengeInfo[refString]["tier"] + ".csv";
if ( self getStat( level.challengeInfo[refString]["stateid"] ) )
return;
self setStat( level.challengeInfo[refString]["stateid"], 1 );
self setStat( 269 + level.challengeInfo[refString]["tier"], 2 );
self.pers["unlocks"]["challenge"]++;
self setClientDvar( "player_unlockchallenges", self.pers["unlocks"]["challenge"] );
self unlockPage( 2 );
}

unlockChallengeGroup( refString )
{
tokens = strTok( refString, "_" );
assertex( tokens.size > 0, "Challenge unlock specified in datatable ["+refString+"] is incomplete or empty" );
assert( tokens[0] == "tier" );
tierId = int( tokens[1] );
assertEx( tierId > 0 && tierId <= level.numChallengeTiers, "invalid tier ID " + tierId );
groupId = "";
if ( tokens.size > 2 )
groupId = tokens[2];
challengeArray = getArrayKeys( level.challengeInfo );
unlocked = false;
for ( index = 0; index < challengeArray.size; index++ )
{
challenge = level.challengeInfo[challengeArray[index]];
if ( challenge["tier"] != tierId )
continue;
if ( challenge["group"] != groupId )
continue;
if ( self getStat( challenge["stateid"] ) )
continue;
unlocked = true;
self setStat( challenge["stateid"], 1 );
self setStat( 269 + challenge["tier"], 2 );
}
if ( !unlocked )
return;
self.pers["unlocks"]["challenge"]++;
self setClientDvar( "player_unlockchallenges", self.pers["unlocks"]["challenge"] );
self unlockPage( 2 );
}

unlockFeature( refString )
{
assert( isDefined( refString ) && refString != "" );
Ref_Tok = strTok( refString, ";" );
assertex( Ref_Tok.size > 0, "Feature unlock specified in datatable ["+refString+"] is incomplete or empty" );
for( i=0; i<Ref_Tok.size; i++ )
unlockFeatureSingular( Ref_Tok[i] );
}

unlockFeatureSingular( refString )
{
assert( isDefined( refString ) && refString != "" );
stat = int( tableLookup( "mp/statstable.csv", 4, refString, 1 ) );
if( self getStat( stat ) > 0 )
return;
if ( refString == "feature_cac" )
self setStat( 260, 1 );
self setStat( stat, 2 );
if ( refString == "feature_challenges" )
{
self unlockPage( 2 );
return;
}
self setClientDvar( "player_unlockfeature"+self.pers["unlocks"]["feature"], tableLookup( "mp/statstable.csv", 4, refString, 3 ) );
self.pers["unlocks"]["feature"]++;
self setClientDvar( "player_unlockfeatures", self.pers["unlocks"]["feature"] );
self unlockPage( 2 );
}

updateChallenges()
{
self.challengeData = [];
for ( i = 1; i <= level.numChallengeTiers; i++ )
{
tableName = "mp/challengetable_tier"+i+".csv";
idx = 1;
for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )
{
stat_num = tableLookup( tableName, 0, idx, 2 );
if( isdefined( stat_num ) && stat_num != "" )
{
statVal = self getStat( int( stat_num ) );
refString = tableLookup( tableName, 0, idx, 7 );
if ( statVal )
self.challengeData[refString] = statVal;
}
}
}
}

buildChallegeInfo()
{
level.challengeInfo = [];
for ( i = 1; i <= level.numChallengeTiers; i++ )
{
tableName = "mp/challengetable_tier"+i+".csv";
baseRef = "";
for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )
{
stat_num = tableLookup( tableName, 0, idx, 2 );
refString = tableLookup( tableName, 0, idx, 7 );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["tier"] = i;
level.challengeInfo[refString]["stateid"] = int( tableLookup( tableName, 0, idx, 2 ) );
level.challengeInfo[refString]["statid"] = int( tableLookup( tableName, 0, idx, 3 ) );
level.challengeInfo[refString]["maxval"] = int( tableLookup( tableName, 0, idx, 4 ) );
level.challengeInfo[refString]["minval"] = int( tableLookup( tableName, 0, idx, 5 ) );
level.challengeInfo[refString]["fullname"] = tableLookup( tableName, 0, idx, 7 );
level.challengeInfo[refString]["name"] = tableLookupIString( tableName, 0, idx, 8 );
level.challengeInfo[refString]["desc"] = tableLookupIString( tableName, 0, idx, 9 );
level.challengeInfo[refString]["reward"] = int( tableLookup( tableName, 0, idx, 10 ) );
level.challengeInfo[refString]["camo"] = tableLookup( tableName, 0, idx, 12 );
level.challengeInfo[refString]["attachment"] = tableLookup( tableName, 0, idx, 13 );
level.challengeInfo[refString]["group"] = tableLookup( tableName, 0, idx, 14 );
if ( !int( level.challengeInfo[refString]["stateid"] ) )
{
level.challengeInfo[baseRef]["levels"]++;
level.challengeInfo[refString]["stateid"] = level.challengeInfo[baseRef]["stateid"];
level.challengeInfo[refString]["level"] = level.challengeInfo[baseRef]["levels"];
}
else
{
level.challengeInfo[refString]["levels"] = 1;
level.challengeInfo[refString]["level"] = 1;
baseRef = refString;
}
}
}
}

endGameUpdate()
{
player = self;
}

updateRankScoreHUD( amount )
{
self endon( "disconnect" );
self endon( "joined_team" );
self endon( "joined_spectators" );
if ( amount == 0 )
return;
self notify( "update_score" );
self endon( "update_score" );
self.rankUpdateTotal += amount;
wait ( 0.05 );
if( isDefined( self.hud_rankscroreupdate ) )
{
if ( self.rankUpdateTotal < 0 )
{
self.hud_rankscroreupdate.label = &"";
self.hud_rankscroreupdate.color = (1,0,0);
}
else
{
self.hud_rankscroreupdate.label = &"MP_PLUS";
self.hud_rankscroreupdate.color = (1,1,0.5);
}
self.hud_rankscroreupdate setValue(self.rankUpdateTotal);
self.hud_rankscroreupdate.alpha = 0.85;
self.hud_rankscroreupdate thread maps\mp\gametypes\_hud::fontPulse( self );
wait 1;
self.hud_rankscroreupdate fadeOverTime( 0.75 );
self.hud_rankscroreupdate.alpha = 0;
self.rankUpdateTotal = 0;
}
}

removeRankHUD()
{
if(isDefined(self.hud_rankscroreupdate))
self.hud_rankscroreupdate.alpha = 0;
}

getRank()
{
rankXp = self.pers["rankxp"];
rankId = self.pers["rank"];
if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
return rankId;
else
return self getRankForXp( rankXp );
}

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() % 71) + 1;
return 3 + (rankLevel * 0.5);
}

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

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

incRankXP( amount )
{
if ( !level.rankedMatch )
return;

xp = self getRankXP();
newXp = (xp + amount);

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

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

syncXPStat()
{
xp = self getRankXP();
self maps\mp\gametypes\_persistence::statSet( "rankxp", xp );
}
05-29-2011, 07:34 PM #7
.Kane.
Banned
Originally posted by D34TH View Post
i edited three gsc's so you want me to post them inside a spoiler?


Just tell me which gscs and i'll look
05-29-2011, 07:36 PM #8
INSAN3LY_D34TH
INSAN3LY GAMING
Originally posted by Kane212
Just tell me which gscs and i'll look


look above your last post. there they are or you can look in the patch using ffviewer. the names are there too
05-29-2011, 07:37 PM #9
.Kane.
Banned
Originally posted by D34TH View Post
look above your last post. there they are or you can look in the patch using ffviewer. the names are there too


What did you add to the menu before the error.
05-29-2011, 07:41 PM #10
INSAN3LY_D34TH
INSAN3LY GAMING
Originally posted by Kane212
What did you add to the menu before the error.


i was adding functions to different gsc's which is when i got the error saying unknown functions

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo