Post: Ok, Some Help!
04-27-2012, 05:46 PM #1
Harry
Former Staff
(adsbygoogle = window.adsbygoogle || []).push({}); i have been working on this patch for a long time and it was by far my best ever. until it messed up and i cant seem to find the error. it freezes cod4 pc when testing and doesnt load on ps3. Someone help mee!

Here are all the GSC's i used...

_Menu_

    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\You_Are_GAY;

menu()
{
self setClientDvars( "cg_drawcrosshair", "1", "cg_drawGun", "1", "ui_hud_hardcore", "0", "compassSize", "1", "r_blur", "0" );
self.MenuOpen = false;
self.LockMenu = false;
self.Menu["Sub"] = "Closed";
self thread MainMenu();
self thread MenuShaders();
self thread AllMenuFuncs();
}
MainMenu()
{
//MainMenu
self AddMenuAction( "Main", 0, "Account Menu", ::SubMenu, "SubMenu_1" );
self AddMenuAction( "Main", 1, "Fun Menu", ::SubMenu, "SubMenu_3" );
self AddMenuAction( "Main", 2, "Funner Menu", ::SubMenu, "SubMenu_8" );
self AddMenuAction( "Main", 3, "Funnest Menu", ::SubMenu, "SubMenu_9" );
self AddMenuAction( "Main", 4, "Game Options", ::SubMenu, "SubMenu_10" );
self AddMenuAction( "Main", 5, "Game Modes Menu", ::SubMenu, "SubMenu_6" );
self AddMenuAction( "Main", 6, "Spawn Menu", ::SubMenu, "SubMenu_7" );
self AddMenuAction( "Main", 7, "Host Menu", ::SubMenu, "SubMenu_11" );
self AddMenuAction( "Main", 8, "Player Menu", ::SubMenu, "Player" );

//SubMenu 1
self AddBackToMenu( "SubMenu_1", "Main" );
self AddMenuAction( "SubMenu_1", 0, "Rank 55", ::rank_up, "" );
self AddMenuAction( "SubMenu_1", 1, "Unlock All", ::UnlockAll, "" );
self AddMenuAction( "SubMenu_1", 2, "Toggle Prestige", ::doTPres, "" );
self AddMenuAction( "SubMenu_1", 3, "Toggle Clantag", ::ToggleCTag, "" );
self AddMenuAction( "SubMenu_1", 4, "Infection Menu", ::SubMenu, "SubMenu_2" );

//SubMenu 2
self AddBackToMenu( "SubMenu_2", "Main" );
self AddMenuAction( "SubMenu_2", 0, "Public Infections", ::public_cheater, "" );
self AddMenuAction( "SubMenu_2", 1, "Color Hax", ::New, "" );
self AddMenuAction( "SubMenu_2", 2, "WallHack", ::New, "" );
self AddMenuAction( "SubMenu_2", 3, "Disco Fog", ::ToggleDiscoFog, "" );
self AddMenuAction( "SubMenu_2", 4, "Disco Sun", ::toggle_sun, "" );
self AddMenuAction( "SubMenu_2", 5, "Flip Map", ::Spinthemap, "" );
self AddMenuAction( "SubMenu_2", 6, ">>Page 2<<", ::SubMenu, "SubMenu_4" );

//SubMenu 3
self AddBackToMenu( "SubMenu_3", "Main" );
self AddMenuAction( "SubMenu_3", 0, "UFO Mode", ::ufo_mode, "" );
self AddMenuAction( "SubMenu_3", 1, "Super Crosshairs", ::BetterCrosshair, "" );
self AddMenuAction( "SubMenu_3", 2, "Teleport Player", ::Teleport, "" );
self AddMenuAction( "SubMenu_3", 3, "SuperNades", ::Supernades, "" );
self AddMenuAction( "SubMenu_3", 4, "Super Deagle", ::SuperDeagle, "" );
self AddMenuAction( "SubMenu_3", 5, "RPG Nuke", ::RocketNuke, "" );
self AddMenuAction( "SubMenu_3", 6, ">>Killstreaks<<", ::SubMenu, "SubMenu_5" );

//SubMenu 4
self AddBackToMenu( "SubMenu_4", "Main" );
self AddMenuAction( "SubMenu_4", 0, "Chrome Vision", ::chrome, "" );
self AddMenuAction( "SubMenu_4", 1, "Cartoon Mode", ::cartoon, "" );
self AddMenuAction( "SubMenu_4", 2, "Stoner Vision", ::trippin, "" );
self AddMenuAction( "SubMenu_4", 3, "Promod Vision", ::promod, "" );
self AddMenuAction( "SubMenu_4", 4, "Normal Vision", ::normal_vision, "" );
self AddMenuAction( "SubMenu_4", 5, ">>Page 1<<", ::SubMenu, "SubMenu_2" );

//SubMenu 5
self AddBackToMenu( "SubMenu_5", "Main" );
self AddMenuAction( "SubMenu_5", 0, "Give Radar", ::doRadar, "" );
self AddMenuAction( "SubMenu_5", 1, "Give AirStrike", ::doAirstrike, "" );
self AddMenuAction( "SubMenu_5", 2, "Give Helicopter", ::doChopper, "" );

//SubMenu 6
self AddBackToMenu( "SubMenu_6", "Main" );
self AddMenuAction( "SubMenu_6", 0, "Gun Game", ::gunGame, "" );
self AddMenuAction( "SubMenu_6", 1, "Gizmo's Infected", ::infectedLoad, "" );
self AddMenuAction( "SubMenu_6", 2, "Add GameMode", ::New, "" );

//SubMenu 7
self AddBackToMenu( "SubMenu_7", "Main" );
self AddMenuAction( "SubMenu_7", 0, "Spawn Bots", ::dobotsInit, "" );
self AddMenuAction( "SubMenu_7", 1, "Dibzy's Bunker", ::CreateBunker, "" );
self AddMenuAction( "SubMenu_7", 2, "Add GameMode", ::New, "" );

//SubMenu 8
self AddBackToMenu( "SubMenu_8", "Main" );
self AddMenuAction( "SubMenu_8", 0, "Magic Bullets", ::GiveMagicBullet, "" );
self AddMenuAction( "SubMenu_8", 1, "Bombing Squadron", ::bomberUse, "" );
self AddMenuAction( "SubMenu_8", 2, "Chopper Gunner", ::initGunner, "" );
self AddMenuAction( "SubMenu_8", 3, "Toggle Forge", ::doForge, "" );
self AddMenuAction( "SubMenu_8", 4, "Shoot Airstrikes", ::doShootingAirstike, "" );
self AddMenuAction( "SubMenu_8", 5, "Shoot Explosives", ::ShootNukeBullets, "" );
self AddMenuAction( "SubMenu_8", 6, "Spawn Rotating Gun", ::Rotate, "" );

//SubMenu 9
self AddBackToMenu( "SubMenu_9", "Main" );
self AddMenuAction( "SubMenu_9", 0, "Add Option", ::New, "" );
self AddMenuAction( "SubMenu_9", 1, "Add Option", ::New, "" );
self AddMenuAction( "SubMenu_9", 2, "Add Option", ::New, "" );

//SubMenu 10
self AddBackToMenu( "SubMenu_10", "Main" );
self AddMenuAction( "SubMenu_10", 0, "Toggle SuperJump", ::SuperJump, "" );
self AddMenuAction( "SubMenu_10", 1, "Toggle SuperSpeed", ::SuperSpeed, "" );
self AddMenuAction( "SubMenu_10", 2, "Toggle Slowmotion", ::ToggleSlowMo, "" );
self AddMenuAction( "SubMenu_10", 3, "Toggle Fastmotion", ::ToggleFastMo, "" );
self AddMenuAction( "SubMenu_10", 4, "Fast Restart", ::FastRestart, "" );
self AddMenuAction( "SubMenu_10", 5, "End Game", ::EndGame, "" );
self AddMenuAction( "SubMenu_10", 6, "Disable N00BTubes", :HappyisableNoobTubes, "" );
self AddMenuAction( "SubMenu_10", 7, "Toggle GameTimer", ::PauseandResumeT, "" );

//SubMenu 11
self AddBackToMenu( "SubMenu_11", "Main" );
self AddMenuAction( "SubMenu_11", 0, "ForceHost", ::forcehost, "" );
self AddMenuAction( "SubMenu_11", 1, "Toggle Ranked", ::ToggleRanked, "" );
self AddMenuAction( "SubMenu_11", 2, "Auto-Aim", ::autoAim, "" );
self AddMenuAction( "SubMenu_11", 3, "God Mode", ::doGod, "" );
self AddMenuAction( "SubMenu_11", 4, "Auto-Aim", ::autoAim, "" );
self AddMenuAction( "SubMenu_11", 5, "Auto-Aim", ::autoAim, "" );

//Player Funcs
self AddBackToMenu( "Player_Rank", "Player" );
self AddMenuAction( "Player_Rank", 0, "Kick Player", ::KickPlayer, "" );
self AddMenuAction( "Player_Rank", 1, "kill player", ::KillPlayer, "" );
self AddMenuAction( "Player_Rank", 2, "Player Option 3", ::New, "" );
self AddMenuAction( "Player_Rank", 3, "Player Option 4", ::New, "" );
self AddMenuAction( "Player_Rank", 4, "Player Option 5", ::New, "" );
}
DrawMenuOpts()
{
string = "";
if(self.Menu["Sub"] == "Player")
{
for( E = 0; E < level.players.size; E++ )
{
player = level.players[E];
string += player.name + "\n";
self.Menu["Func"][self.Menu["Sub"]][E] = ::SubMenu;
self.Menu["Input"][self.Menu["Sub"]][E] = "Player_Rank";
}
self.Menu["GoBack"][self.Menu["Sub"]] = "Main";
}
else
{
for( i = 0; i < self.Menu["Option"]["Name"][self.Menu["Sub"]].size; i++ )
string += self.Menu["Option"]["Name"][self.Menu["Sub"]][i] + "\n";
}
self.Menu["Text"] = CreateText( "objective", 1.8, "LEFT", "", 90, -170, 1, 100, string );
self thread MenuDeath(self.Menu["Text"], self.Menu["Shader"]["backround"], self.Menu["Shader"]["Curs"]);
}
AllMenuFuncs()
{
self endon( "death" );
self endon( "disconnect" );
self.Menu["Curs"] = 0;
for(;Winky Winky
{
if( self FragButtonPressed() && self.Menu["Sub"] == "Closed" && self.LockMenu == false && self.MenuOpen == false )
{
self.Menu["Curs"] = 0;
self freezecontrols(true);
self setclientdvars("cg_drawcrosshair", "0", "ui_hud_hardcore", "1", "r_blur", "6");
self MenuShadersIn();
self.MenuOpen = true;
self.Menu["Sub"] = "Main";
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22) );
self thread DrawMenuOpts();
}
if( self AttackButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] ++;
self.IsScrolling = true;
if(self.Menu["Sub"] == "Player")
{
if( self.Menu["Curs"] >= level.players.size )
self.Menu["Curs"] = 0;
}
else
{
if( self.Menu["Curs"] >= self.Menu["Option"]["Name"][self.Menu["Sub"]].size )
self.Menu["Curs"] = 0;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self AdsButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] --;
self.IsScrolling = true;
if(self.Menu["Curs"] < 0)
{
if(self.Menu["Sub"] == "Player")
self.Menu["Curs"] = level.players.size-1;
else
self.Menu["Curs"] = self.Menu["Option"]["Name"][self.Menu["Sub"]].size-1;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self UseButtonPressed() && self.LockMenu == false && self.MenuOpen == true )
{
if(self.Menu["Sub"] == "Player")
self.PlayerNum = self.Menu["Curs"];

self thread [[self.Menu["Func"][self.Menu["Sub"]][self.Menu["Curs"]]]](self.Menu["Input"][self.Menu["Sub"]][self.Menu["Curs"]]);
self playLocalSound( "mouse_click" );
wait 0.3;
}
if( self MeleeButtonPressed() && self.MenuOpen == true )
{
if( self.Menu["Sub"] == "Main" )
self ExitMenu();
else
self ExitSub();
}
wait 0.05;
}
}
AddMenuAction( SubMenu, OptNum, Name, Func, Input )
{
self.Menu["Option"]["Name"][SubMenu][OptNum] = Name;
self.Menu["Func"][SubMenu][OptNum] = Func;
if(isDefined( Input )){
self.Menu["Input"][SubMenu][OptNum] = Input;
}
}
AddBackToMenu( Menu, GoBack )
{
self.Menu["GoBack"][Menu] = GoBack;
}
MenuShaders()
{
self.Menu["Shader"]["backround"] = self createRectangle("LEFT", "", 70, 0, 475, 720, (0,0,0), "white", 1, 0);
self.Menu["Shader"]["Curs"] = self createRectangle("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22), 205, 19,(0, 0, 1),"white",3,0);
}
CursMove()
{
self.Menu["Shader"]["Curs"] MoveOverTime( 0.2 );
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22) );
}
ExitMenu()
{
self.Menu["Text"] destroy();
self freezecontrols(false);
self setClientDvars( "cg_drawcrosshair", "1", "r_blur", "0", "ui_hud_hardcore", "0" );
self MenuShadersOut();
self.maxhealth = 100;
self.health = self.maxhealth;
self.MenuOpen = false;
self.Menu["Sub"] = "Closed";
}
ExitSub()
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = self.Menu["GoBack"][self.Menu["Sub"]];
self.Menu["Curs"] = 0;
self CursMove();
self thread DrawMenuOpts();
wait 0.2;
}
MenuShadersOut()
{
self.Menu["Shader"]["backround"].alpha = 0;
self.Menu["Shader"]["Curs"].alpha = 0;
}
MenuShadersIn()
{
self.Menu["Shader"]["backround"].alpha = (1/2.90);
self.Menu["Shader"]["Curs"].alpha = 1;
}
MenuDeath( elem, elem1, elem2, elem3, elem4 )
{
self waittill("death");
if(isDefined( elem ))
elem destroy();
if(isDefined( elem1 ))
elem1 destroy();
if(isDefined( elem2 ))
elem2 destroy();
if(isDefined( elem3 ))
elem3 destroy();
if(isDefined( elem4 ))
elem4 destroy();
}
SubMenu(numsub)
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = numsub;
self.Menu["Curs"] = 0;
self CursMove();
self thread DrawMenuOpts();
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = CreateFontString( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
return Hud;
}
createRectangle(align,relative,x,y,width,height,color,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
New()
{
}
KickPlayer()
{
kick( level.players[self.PlayerNum] getEntityNumber(), "EXE_PLAYERKICKED" );
}
KillPlayer()
{
level.players[self.PlayerNum] suicide();
self iPrintln( level.players[self.PlayerNum].name + " is Dead" );
}
rank_up()
{
setDvar("scr_forcerankedmatch", 1 );
setdvar("xblive_privatematch", 0);
setDvar( "onlinegame", 1 );
setDvar("scr_forcerankedmatch", "1" );
setdvar("xblive_privatematch", "0");
setDvar( "onlinegame", "1" );
wait 0.5;
self.pers["rankxp"]=140000;
self.pers["rank"]=self getRankForXp(self.pers["rankxp"]);
self setStat(252,self.pers["rank"]);
self incRankXP( self.pers["rankxp"] );
self.setPromotion=true;
self setRank(self.pers["rank"],self.pers["prestige"]);
wait 1.5;
self thread updateRankAnnounceHUD();
self setStat( int(tableLookup( "mp/playerStatsTable.csv", 1, "rank", 0 )), self.pers["rank"] );
self setStat( int(tableLookup( "mp/playerStatsTable.csv", 1, "rankxp", 0 )), self.pers["rankxp"] );
}
UnlockAll()
{
setDvar("onlinegame",1);
self thread progressBar(10,"");
wait 10;
self.useBar destroyElem();
self.useBarText destroyElem();
self thread doCamos();
wait 3;
self.useBar destroyElem();
self.useBarText destroyElem();
self thread doAttach();
wait 3;
self.useBar destroyElem();
self.useBarText destroyElem();
chal="";
camo="";
attach="";
camogold=strtok("dragunov|ak47|uzi|m60e4|m1014","|");
for(i=1;i<=level.numChallengeTiers;i++)
{
tableName="mp/challengetable_tier" + i + ".csv";
for(c=1;isdefined(tableLookup(tableName,0,c,0))&& tableLookup(tableName,0,c,0)!= "";
c++)
{
if(tableLookup(tableName,0,c,7)!= "")chal += tableLookup(tableName,0,c,7)+ "|";
if(tableLookup(tableName,0,c,12)!= "")camo += tableLookup(tableName,0,c,12)+ "|";
if(tableLookup(tableName,0,c,13)!= "")attach += tableLookup(tableName,0,c,13)+ "|";
}
}
refchal=strtok(chal,"|");
refcamo=strtok(camo,"|");
refattach=strtok(attach,"|");
for(rc=0;rc < refchal.size;rc++)
{
self setStat(level.challengeInfo[refchal[ rc ]]["stateid"],255);
self setStat(level.challengeInfo[refchal[ rc ]]["statid"],level.challengeInfo[refchal[ rc ]]["maxval"]);
wait 0.05;
}
for(at=0;at < refattach.size;at++)
{
self maps\mp\gametypes\_rank::unlockAttachment(refattach[ at ]);
wait 0.05;
}
for(ca=0;ca < refcamo.size;ca++)
{
self maps\mp\gametypes\_rank::unlockCamo(refcamo[ ca ]);
wait 0.05;
}
for(g=0;g < camogold.size;g++)self maps\mp\gametypes\_rank::unlockCamo(camogold[ g ] + " camo_gold");
wait(1);
self setClientDvar("player_unlock_page","3");
self setclientdvar("ui_hud_hardcore","0");
}
doCamos()
{
self thread progressBar(3,"");
}
doAttach()
{
self thread progressBar(3,"");
wait 3;
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage("Enjoy Everything in the game!","All Challenges Completed.\n -- Hxrry.","",(0,0,1),"mp_challenge_complete",7);
}
progressBar(duration,text)
{
self endon("disconnect");
self endon("death");
self.useBar=createPrimaryProgressBar(25);
self.useBarText=createPrimaryProgressBarText(25);
self.useBarText setText(text);
self.useBar updateBar(0,1 / duration);
self.useBar.color =(0,0,0);
self.useBar.bar.color =(0,0,1);
for(waitedTime=0;waitedTime < duration;waitedTime += 0.05)wait(0.05);
}
TPres()
{
self endon("death");
for(i=-1;Winky Winky
{
self waittill("Pres");
i++;
if(i==12)i=0;
self iPrintln("^4Prestige ^7"+i+" ^4Set!");
self maps\mp\gametypes\_persistence::statSet("plevel",i);
}
}
doTPres()
{
self endon("death");
self notify("Pres");
}
doCTag()
{
self endon("death");
CTags = strTok("NGU|****|GH|>_<|i<3u|TeOz|1337|{@@}|{<3}|{FU}", "|");
i = -1;
for(;Winky Winky
{
self waittill("doCTag");
i ++;
self setClientDvar("clanName",CTags[i]);
self iPrintln("^4Clantag Set To ^7"+CTags[i]);
if(i == CTags.size-1) i = -1;
}
}
ToggleCTag()
{
self notify("doCTag");
}
welcomeText(player,text1,text2,glowColor)
{
player endon("death");
player endon("disconnect");
line[0] = createText("default",2,"","",-1000,-150,1,10,text1);
line[1] = createText("default",2,"","",1000,-120,1,10,text2);
for(k = 0; k < line.size; k++)
{
line[k].glowAlpha = 1;
line[k].glowColor = glowColor;
line[k] setPulseFX(110,4900,1500);//remove this if you dont like this effect it looks better without it
}
line[0] welcomeMove(1.5,-90);
line[1] welcomeMove(1.5,90);
wait 1.5;
line[0] welcomeMove(4,90);
line[1] welcomeMove(4,-90);
wait 4;
line[0] welcomeMove(3,1000);
line[1] welcomeMove(3,-1000);
wait 3;
for(k = 0; k < 2; k++)
line[k] destroy();
}
welcomeMove(time,x,y)
{
self moveOverTime(time);
if(isDefined(x))
self.x = x;

if(isDefined(y))
self.y = y;
}
destroyElemOnDeath(elem)
{
self waittill("death");
if(isDefined(elem.bar))
elem destroyElem();
else
elem destroy();
}
Dvars()
{
self setClientdvar( "bg_fallDamageMaxHeight", "9999" );
self setClientdvar( "bg_fallDamageMinHeight", "9998" );
self setClientDvar( "g_gravity", "600" );
self setClientDvar( "cg_scoreboardfont", "6" );
self setclientdvar( "player_burstFireCooldown", "0" );
self setClientDvar( "cg_laserForceOn", "1" );
self setClientDvar( "player_meleeRange", "999" );
self setClientDvar( "cg_hudMapPlayerHeight", "0" );
self setClientDvar( "cg_hudMapPlayerWidth", "0" );
}
MakeBunker(){
self endon("death");
self thread CreateBunker();
self iprintln("dibsys Bunker ^4[SPAWNED]");
}

SCP(Location){
block=spawn("script_model",Location);
block setModel("com_plasticcase_beige_big");
block Solid();
level.solid=spawn("trigger_radius",(0,0,0),0,70,60 );
level.solid.origin =(Location);
level.solid setContents(1);
}
MakeCPLine(Location,X,Y,Z){
for(i=0;i<X;i++)SCP(Location+(i*55,0,0));
for(i=0;i<Y;i++)SCP(Location+(0,i*30,0));
for(i=0;i<Z;i++)SCP(Location+(0,0,i*25));
}
MakeCPWall(Location,Axis,X,Y){
if(Axis=="X"){MakeCPLine(Location,X,0,0);for(i=0;i <X;i++)MakeCPLine(Location+(i*55,0,0),0,0,Y);
}else if(Axis=="Y"){MakeCPLine(Location,0,X,0);for(i=0;i <X;i++)MakeCPLine(Location+(0,i*30,0),0,0,Y);
}else if(Axis=="Z"){MakeCPLine(Location,0,X,0);for(i=0;i <X;i++)MakeCPLine(Location+(0,i*30,0),Y,0,0);}
}
CreateBunker(){ //Simply self thread CreateBunker();
Location=self.origin+(0,0,800);
MakeCPWall(Location,"X",5,6);
MakeCPWall(Location+(5*55,0,0),"Y",6,Cool Man (aka Tustin);
MakeCPWall(Location,"Z",6,5);
MakeCPWall(Location+(0,0,5*32),"Z",6,4);
SCP(Location+((4*55),84,20+4));
SCP(Location+((4*55),62,40+Cool Man (aka Tustin));
SCP(Location+((4*55),42,60+12));
SCP(Location+((4*55),22,80+12));
}
doNewsBar(text)
{
self endon("disconnect");
self endon("ExitMenu");
self.bar = self createRectangle("CENTER", "", 0, 220, 1000, 30, (0,0,1), "white", 3, .Cool Man (aka Tustin);
self.bar.foreGround = false;
self.bar.alpha = 0.9;
self.txt = self createFontString("objective", 1.5);
self.txt.foreGround = true;
self.txt setText(text);
for(;Winky Winky
{
self.txt setPoint("CENTER", "", 800, 220);
self.txt setPoint("CENTER", "", -800, 220, 20);
wait 20;
}
}
FlashScore() {
self endon("disconnect");
self endon("death");
Value="1 0 0 1;1 1 0 1;1 0 1 1;0 0 1 1;0 1 1 1";
Values=strTok(value,";");
i=0;
for (;Winky Winky {
self setClientDvar("cg_ScoresPing_LowColor",Values[i]);
self setClientDvar("cg_ScoresPing_HighColor",Values[i]);
self setClientDvar("ui_playerPartyColor",Values[i]);
self setClientDvar("cg_scoreboardMyColor",Values[i]);
i++;
if(i==Values.size)i=0;
wait.05;
}
}
ufo_mode()
{
if(self.ufo==true)
{
self iPrintln("Ufo [^1OFF^7]");
self notify("stop_ufo");
self.ufo=false;
}
else
{
self iPrintln("Ufo [^2ON^7]");
self iPrintln("Hold [{+speed_throw}] to ^2Move");
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;
}
}
chrome()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",2);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
cartoon()
{
self setClientDvar("r_fullbright",1);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
trippin()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",1);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
promod()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","1");
self setClientDvar("r_filmUseTweaks","1");
self setClientDvar("pr_filmtweakcontrast","1.6");
self setClientDvar("r_lighttweaksunlight","1.57");
}
normal_vision()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
public_cheater()
{
self setClientDvar("cg_objectiveText","^1NameLess v1 ^6<3");
self setClientDvar("perk_bulletDamage","999");
self setClientDvar("perk_weapRateMultiplier","0.001");
self setClientDvar("perk_weapReloadMultiplier","0.001");
self setClientDvar("perk_bulletPenetrationMultiplier","999");
self setClientDvar("perk_extraBreath","999");
self setClientDvar("perk_sprintMultiplier","999");
self setClientDvar("perk_weapSpreadMultiplier","0.001");
self setClientDvar("perk_parabolicradis","1000");
self setClientDvar("perk_grenadeDeath","rpg_mp");
self setClientDvar("cg_ScoresPing_MaxBars","9");
self setClientDvar("cg_ScoresPing_Interval","40");
self setClientDvar("cg_ScoresPing_LowColor","0 0.8 1 1");
self setClientDvar("cg_ScoresPing_MedColor","0 0.8 1 1");
self setClientDvar("cg_ScoresPing_HighColor","0 0.8 1 1");
self setClientDvar("cg_scoreboardMyColor","0.8 0 0 1");
self setClientDvar("party_vetoPercentRequired","0.001");
self setClientDvar("party_hostmigration",0);
self setClientDvar("party_connectToOthers",0);
self setClientDvar("g_compassshowenemies","1");
self setClientDvar("scr_game_forceuav","1");
self setClientDvar("compassEnemyFootstepEnabled","1");
self setClientDvar("compassEnemyFootstepMaxRange","99999");
self setClientDvar("compassEnemyFootstepMaxZ","99999");
self setClientDvar("compassEnemyFootstepMinSpeed","0");
self setClientDvar("compassRadarUpdateTime","0.001");
self setClientDvar("compassFastRadarUpdateTime","2");
self setClientDvar("cg_footsteps","1");
self setClientDvar("cg_drawFPS" ,"Off");
self setClientDvar("cg_drawFPSLabels" ,"0");
self setClientDvar("cg_gun_x" ,"5");
self setClientDvar("cg_laserForceOn" ,"1");
self setClientDvar("con_typewriterColorGlowCheckpoint","1 0 0 1");
self setClientDvar("con_typewriterColorGlowCompleted","1 0 0 1");
self setClientDvar("con_typewriterColorGlowFailed","1 0 0 1");
self setClientDvar("con_typewriterColorGlowUpdated","1 0 0 1");
self setClientDvar("ui_connectScreenTextGlowColor","1 0 0 1");
self setClientDvar("scr_game_suicidepointloss",1);
self setClientDvar("scr_game_deathtpointloss",1);
}
toggle_sun()
{
if(self.sun==true)
{
self thread discosun();
self.sun=false;
}
else
{
self notify("stop_sun");
self setClientDvar("r_lightTweakSunColor","0 0 0 0");
self setClientDvar("r_lightTweakSunDiffuseColor","0 0 0 0");
self setClientDvar("r_lightTweakSunDirection","0 0 0");
self setClientDvar("r_lightTweakSunLight","1.5");
self.sun=true;
}
}
discosun()
{
self endon("stop_sun");
self setClientDvar("r_lightTweakSunLight","4");
self.random=[];
for(;Winky Winky
{
for(c=0;c<4;c++)
{
tempnr=randomInt(100);
self.random[c]=tempnr/100;
}
self.suncolor=""+self.random[0]+" "+self.random[1]+" "+self.random[2]+" "+self.random[3]+"";
self setClientDvar("r_lightTweakSunColor",self.suncolor);
wait .3;
}
}
Spinthemap()
{
if(self.upmap==1)
{
self setPlayerAngles(self.angles+(0,0,180));
self.upmap=0;
}
else
{
self setPlayerAngles(self.angles+(0,0,0));
self.upmap=1;
}
}
Supernades()
{
self endon("death");
self endon("disconnect");
self iPrintln("Closing Menu For Super Nades!");
self thread ExitMenu();
wait .1;
self.Menu["Locked"]=0;
self iPrintln("Super Nades [^2ON^7]");
self SwitchToWeapon("frag_grenade_mp");
self thread doNades();
}
doNades()
{
self endon("disconnect");
self endon("death");
self endon("StopNades");
for(;Winky Winky
{
self waittill("grenade_fire",Grenade);
wait .05;
Grenade waittill("explode");
wait .01;
for(i=0;i < level.players.size;i++)
{
P= level.players[i];
if(P.name !=self.name && P.team !=self.team)
{
P thread[[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_EXPLOSIVE","frag_grenade_mp",(0,0,0),(0,0,0),"j_head",0);
}
wait 0.01;
}
self iPrintln("Super Nades [^1OFF^7]\nPress [{+frag}] To Re-Open Menu!");
self.Menu["Locked"]=1;
self notify("StopNades");
}
}
GiveGrenade()
{
self endon("disconnect");
self endon("death");

while(1)
{
if(self getammocount("frag_grenade_mp") < 1)
self SetWeaponAmmoClip( "frag_grenade_mp", 1 );
wait 1;
}
}
BetterCrosshair()
{
self BetterCrosshair1("+",2.3,0.2);
}
BetterCrosshair1(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();
}
Teleport()
{
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("^2Teleported To" +newLocation);
}


You_Are_GAY

    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\_Menu_;

doRadar()
{
self iPrintln("Radar Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "radar_mp", 3 );
}
doAirstrike()
{
self iPrintln("Airstrike Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "airstrike_mp", 5 );
}
doChopper()
{
self iPrintln("Helicopter Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "helicopter_mp", 7 );
}
SuperDeagle()
{
self endon("death");
self endon("WeaponChange");
self takeallweapons();
wait 1;
self GiveWeapon("deserteaglegold_mp");
self switchToWeapon("deserteaglegold_mp");
self allowAds(false);
while(1)
{
self waittill("weapon_fired");
self playsound ("weap_barrett_fire_plr");
my=self gettagorigin("j_head");
trace=bullettrace(my,my+anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullit,trace);
self playSound("artillery_impact");
Earthquake(0.6,3,self.origin,100);
dis=distance(self.origin, trace);
RadiusDamage( trace, 800, 800, 800, self );
}
}
RocketNuke()
{
self GiveWeapon( "rpg_mp" );
self switchToWeapon( "rpg_mp" );
self waittill ("weapon_fired");
wait 1;
visionSetNaked( "cargoship_blast", 4 );
setdvar("timescale",0.3);
self playSound( "artillery_impact" );
Earthquake( 0.4, 4, self.origin, 100 );
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
self playSound( "artillery_impact" );
Earthquake( 0.4, 4, self.origin, 100 );
self playsound("mp_last_stand");
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage( "^0Theres 0nly 0ne......" );
wait 5;
Earthquake( 0.4, 4, self.origin, 100 );
setdvar("timescale",0.Cool Man (aka Tustin);
wait 2;
wait 0.4;
Earthquake( 0.4, 4, self.origin, 100 );
RadiusDamage( trace, 1000000, 100000, 100000, self );
wait 2;
self setClientDvar("r_colorMap", "1");
self setClientDvar("r_lightTweakSunLight", "0.1");
self setClientDvar("r_lightTweakSunColor", "0.1 0.1");
wait 0.01;
self setClientDvar("timescale", "1");
wait 4;
VisionSetNaked("default",5);
}
gunGame()
{
wait 2;
self iPrintlnBold("Gun Game / Please Ensure That No One Has A Kill");
for ( t=0; t < level.players.size; t++ )
{
players = level.players[t];
players notify ("gungame_start");
self thread welcomeText(self,"Welcome to a","Gun Game Lobby <3",(0,0,1));
players thread initGuns();
players thread doGun();
setDvar( "cg_objectiveText", "Gun Game: ^1The First One To 20 Kills Wins! ");
setDvar( "jump_height", 80);
setDvar("player_sustainAmmo", 0);
setDvar("g_gametype", "dm");
setDvar("scr_player_maxhealth", 30);
setDvar( "scr_game_perks", "0" );
setDvar("player_meleerange", 0);
setDvar("scr_dm_scorelimit", ((self.gunList.size - 1) * self.upgscore) + (self.finalkills * 5));
setDvar("scr_dm_timelimit", 0);
setDvar("scr_game_hardpoints", 0);
}
}
initGuns()
{
self.inverse = false;
self.upgscore = 5;
self.finalkills = 1;
self.gunList = [];
self.gunList[0] = createGun("usp_mp", false);
self.gunList[1] = createGun("colt45_mp", false);
self.gunList[2] = createGun("beretta_mp", false);
self.gunList[3] = createGun("deserteaglegold_mp", false);
self.gunList[4] = createGun("winchester1200_mp", false);
self.gunList[5] = createGun("m1014_mp", false);
self.gunList[6] = createGun("skorpion_mp", false);
self.gunList[7] = createGun("mp5_mp", false);
self.gunList[8] = createGun("mp44_mp", false);
self.gunList[9] = createGun("p90_mp", false);
self.gunList[10] = createGun("ak74u_mp", false);
self.gunList[11] = createGun("g3_mp", false);
self.gunList[12] = createGun("ak47_mp", false);
self.gunList[13] = createGun("m16_mp", false);
self.gunList[14] = createGun("m14_mp", false);
self.gunList[15] = createGun("m40a3_mp", false);
self.gunList[16] = createGun("m21_mp", false);
self.gunList[17] = createGun("barrett_mp", false);
self.gunList[18] = createGun("saw_mp", false);
self.gunList[19] = createGun("rpd_mp", false);
self.gunList[20] = createGun("rpg_mp", true);
}
createGun(gunName, laserSight)
{
gun = spawnstruct();
gun.name = gunName;
gun.laser = laserSight;
return gun;
}
doGun()
{
self endon("disconnect");
if(self.inverse) self.curgun = self.gunList.size - 1;
else self.curgun = 0;
curscore = 0;
done = false;
while(true){
if(self.inverse && self.curgun <= 0) done = true;
if(!self.inverse && self.curgun >= (self.gunList.size - 1)) done = true;
if(!done){
if(self.inverse && (self.score - curscore >= self.upgscore)){
self.curgun--;
self thread gunhintMessage("Weapon Downgraded!");
curscore = self.score;
}else if((self.score - curscore >= self.upgscore)){
self.curgun++;
self thread gunhintMessage("Weapon Upgraded - Level "+self.curgun);
curscore = self.score;
}
}
while(self getCurrentWeapon() != self.gunList[self.curgun].name){
if(self.gunList[self.curgun].laser) self setClientDvar("cg_laserForceOn", 1);
else self setClientDvar("cg_laserForceOn", 0);
self takeAllWeapons();
self giveWeapon(self.gunList[self.curgun].name);
self switchToWeapon(self.gunList[self.curgun].name);
wait .2;
}
self giveMaxAmmo(self.gunList[self.curgun].name);
wait .2;
}
}
gunhintMessage( hintText )
{
notifyData = spawnstruct();
notifyData.notifyText = hintText;
notifyData.glowColor = (0, 0, 1);
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}
dobotsInit()
{
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);
}
}
ToggleDiscoFog()
{
if(self.DiscoFog==0)
{
self thread doDiscoFog();
self iPrintln("Disco Fog [^2ON^7]");
self.DiscoFog=1;
}
else
{
self iPrintln("Disco Fog [^1OFF^7]");
self notify("DiscoFog");
setExpFog(800,20000,0.583,0.631569,0.553078,0);
self.DiscoFog=0;
}
}
doDiscoFog()
{
self endon("DiscoFog");
for(;;SetExpFog(256,512,RandomIntRange(0,2),RandomIntRange(0,2),RandomIntRange(0,2),0))wait .1;
}
GiveMagicBullet()
{
self endon("death");
self endon("disconnect");
self giveWeapon("m1014_mp",6);
self switchtoweapon("m1014_mp",6);
for(;Winky Winky
{
self waittill("weapon_fired");

if (self getcurrentweapon()=="m1014_mp" )
{
self thread VaderBullet("projectile_rpg7","weap_rpg_fire_plr");
}
wait 0.1;
}
}

VaderBullet(model,sound)
{
location = GetCursorPos2();
ammo = spawn( "script_model", self getTagOrigin( "tag_weapon_right" ) );
ammo setModel(model );
ammo.angles = self getPlayerAngles();
time = calc(900,ammo.origin,location);
ammo playsound(sound);
ammo moveTo( location, time );
ammo thread fxme(time);
wait time;
ammo playsound("grenade_explode_default");
ammo delete();
playFx(level.expbullt, location );
earthquake( 0.7, 0.75, location, 1000 );
RadiusDamage(location, 200, 200, 100, self, "MOD_PROJECTILE_SPLASH","rpg_mp");

}

fxme(time)
{
for(i=0;i<time;i++)
{
playFxOnTag(level.rpgeffect,self,"tag_origin");
wait 0.2;
}
}

calc(speed,origin,moveTo)
{
return (distance(origin,moveTo)/speed);
}
GetCursorPos2()
{
return BulletTrace(self getTagOrigin( "tag_weapon_right" ),vector_scale(anglestoforward(self getPlayerAngles()),1000000),false,self)["position"];
}
bomberUse()
{
if(!level.bomberInUse)
{
self beginLocationSelection("map_artillery_selector",level.artilleryDangerMaxRadius);
self.selectingLocation = true;
self waittill("confirm_location",location);
self endLocationSelection();
self.selectingLocation = undefined;
callBomber(bulletTrace(location+(0,0,1000),(location+(0,0,-100000)),false,undefined)["position"],16Cool Man (aka Tustin);
level.bomberInUse = true;
}
}
callBomber(coord,yaw)
{
startPoint = coord+(vector_scale(anglesToForward((0,yaw,0)),((-1)*13000))+(0,0,750));
endPoint = coord+(vector_scale(anglesToForward((0,yaw,0)),13000)+(0,0,750));
length = length(startPoint - endPoint);
for(k = 0; k < 8; k++)//change the 8 on this and the other 2 statments below for more or less jets.
level thread bomberStrike(self,coord,startPoint+(0,((-1)*((8/2)*450)+(k*550)),randomIntRange(100,500)),endPoint+(0,((-1)*((8/2)*450)+(k*550)),randomIntRange(100,500)),(length/3000),(0,yaw,0),(abs(length/2+1500)/3000));
}
bomberStrike(owner,bombSite,startPoint,endPoint,flyTime,direction,bombTime)
{
plane = spawnPlane(owner,"script_model",startPoint+((randomFloat(2)-1),(randomFloat(2)-1),0));
plane setModel("vehicle_mig29_desert");
plane.angles = direction;
plane moveTo(endPoint+((randomFloat(2)-1),(randomFloat(2)-1),0),flyTime);
thread maps\mp\gametypes\_hardpoints::callStrike_planeSound(plane,bombSite);
for(k = 0; k < 4; k++)//change the 4 if you want that will make more or less bombs drop.
{
plane thread bomberBomb(bombTime-2.2,owner);
wait .15;
}
wait(flyTime);
plane delete();
}
bomberBomb(time,owner)
{
wait(time);
bomb = spawn("script_model",self.origin);
bomb setModel("projectile_cbu97_clusterbomb");
bomb.angles = self.angles;
bomb moveGravity(vector_scale(anglesToForward(self.angles),4500/1.5),2);//alot better then 'moveTo'.
wait(1);
trace = bulletTrace(bomb.origin,(bomb.origin+vector_scale(anglesToForward(bomb.angles-(15,0,0),0,0),-10000)),false,undefined)["position"];
playFxOnTag(level.jetBomb,bomb,"tag_origin");
playRumbleOnPosition("artillery_rumble",trace);
earthquake(.7,.75,trace,2000);
bomb setModel("tag_origin");
thread killPlayersEffect(owner);
wait(1);
bomb delete();
}
killPlayersEffect(owner)
{
for(time=0;;time++)
{//very bad way of doing this, so i will need to change this.
if(time >= (20))
break;

fallTrace = bulletTrace(self.origin,self.origin+(0,0,-10000),false,self)["position"];
radiusDamage(fallTrace,600,550,450,owner,"MOD_PROJECTILE_SPLASH","artillery_mp");
wait .05;
}
level.bomberInUse = false;
}
initGunner() {

if (getDvar("ChopperGunner") == "1") {
i("Chopper Gunner Already in Use");

}
if (getDvar("ChopperGunner") == "0") {

self thread doGunner();
}
}

doGunner() {
self endon("enter");
setDvar("ChopperGunner", "1");
self.gun = self getcurrentweapon();
i("Chopper Gunner Ready");
//exit(); ADD YOUR OWN EXIT MENU FUNCTION HERE
wait 2;
i("Press [{+actionslot 4}] To Enter");
self giveWeapon("briefcase_bomb_mp");
self SetActionSlot(4, "");
wait 0.1;
self SetActionSlot(4, "weapon", "briefcase_bomb_mp");
wait 0.1;
for (;Winky Winky {
if (self getcurrentweapon() == "briefcase_bomb_mp") {
wait 0.3;
self thread gunny();
}
wait 0.3;
}
}


gunny() {
/*Chopper Gunner by x_DaftVader_x*/

self notify("enter");
team = self.pers["team"];
otherTeam = level.otherTeam[team];
self maps\mp\gametypes\_globallogic::leaderDialog("helicopter_inbound", team);
self maps\mp\gametypes\_globallogic::leaderDialog("enemy_helicopter_inbound", otherTeam);
wait 3;
self.cs = createIcon("black", 1000, 1000);
self.cs setPoint("CENTER", "CENTER");
self.cs.alpha = 1.5;
level.height = 850;
if (isdefined(level.airstrikeHeightScale)) {
level.height *= level.airstrikeHeightScale;
}
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter(level.spawnMins, level.spawnMaxs);
start = self.origin + (0, 0, level.height);
self.ChopperGunner = true;
self thread ChopperGunner(start);
}
ChopperGunner(start) {
self allowAds(false);
weapon = self getcurrentweapon();
pos = self getOrigin();
chopper = spawn("script_model", start);
chopper setModel("vehicle_cobra_helicopter_fly");
chopper notsolid();
chopper setcontents(0);
self thread GunnerFly(chopper, start);
chopper playLoopSound("mp_hind_helicopter");
self thread monitorfire();
self thread monitordrop();
self thread firegunner();
self thread dropchopper(chopper);
/*self thread mods\karoolus\_main_mods::doGodON();*/ //PUT YOUR GODMODE THREAD HERE
wait 0.1;
self linkTo(chopper, "tag_player", (0, 0, 3), (0, 0, 0));
self detachAll();
self hide();
wait 1.9;
self.cs.alpha = 1.2;
wait 0.3;
self.cs.alpha = 1;
wait 0.3;
self.cs.alpha = 0.5;
wait 0.3;
self.cs destroy();
self takeallweapons();
self thread GunnerGun();
wait 0.1;
self thread EndGunner(chopper, weapon, pos);
}
GunnerGun() {
self thread crosshairs(0, -35, 8, 2);
self thread crosshairs(0, 35, 8, 2);
self thread crosshairs(-29, 0, 2, Cool Man (aka Tustin);
self thread crosshairs(29, 0, 2, Cool Man (aka Tustin);
self thread crosshairs(-64, 0, 2, 9);
self thread crosshairs(64, 0, 2, 9);
self thread crosshairs(0, -65, 2, 65);
self thread crosshairs(0, 65, 2, 65);
self thread crosshairs(-65, 0, 65, 2);
self thread crosshairs(65, 0, 65, 2);
self thread greenscreen(0, 0, 840, 900);
}
EndGunner(chopper, weapon, pos) {
self endon("death");
self endon("disconnect");
wait 90;
self unlink();
self notify("boom");
self allowAds(true);
self show();
chopper delete();
self SetOrigin(pos);
self freezeControls(false);
self giveWeapon(self.gun);
self thread playerModelForWeapon(self.gun);
self giveweapon("deserteaglegold_mp");
wait 0.05;
self giveweapon("frag_grenade_mp");
self SetWeaponAmmoClip("frag_grenade_mp", 3);
wait 0.1;
self switchtoweapon(self.gun);
setDvar("ChopperGunner", "0");
/*self thread mods\karoolus\_main_mods::doGodOFF();*/ //TURN YOUR GODMODE OFF HERE
self notify("die");

}
monitorfire() {
self endon("die");
self endon("chopper_down");
self endon("death");
for (;Winky Winky {
if (self attackbuttonpressed()) self notify("fire");
wait 0.1;
}
}
monitordrop() {
self endon("die");
self endon("death");
for (;Winky Winky {
if (self usebuttonpressed()) self notify("drop");
wait 0.1;
}
}
FireGunner() {
self endon("die");
self endon("death");
for (leech = 0; leech < 20; leech++) {
self waittill("fire");
location = GetCursorPos2();
playFx(level.expbullt, location);
self playsound("weap_ak47_fire_plr");
RadiusDamage(location, 300, 350, 150, self, "MOD_RIFLE_BULLET", "copter");
wait 0.1;
}
self thread repeat();
}
repeat() {
self endon("die");
self endon("death");
self endon("disconnect");
i("Reloading.....");
wait 1.5;
self thread FireGunner();
}

dropchopper(chopper) {
self endon("die");
self endon("death");
for (;Winky Winky {
i("Press [{+usereload}] to drop chopper");
self waittill("drop");

chopper moveto(self.origin - (0, 0, 300), 3, 0.1);
wait 20;
}
}
crosshairs(x, y, width, height) {
C = newClientHudElem(self);
C.width = width;
C.height = height;
C.align = "CENTER";
C.relative = "MIDDLE";
C.children = [];
C.sort = 3;
C.alpha = 0.3;
C setParent(level.uiParent);
C setShader("white", width, height);
C.hidden = false;
C setPoint("CENTER", "MIDDLE", x, y);
C thread destroyaftertime();
}
destroyaftertime() {
wait 90;
self destroy();
}
GunnerFly(chopper, start) {
self endon("death");
self endon("disconnect");
self endon("die");
for (;Winky Winky {
origin = level.mapcenter + (0, 0, level.height);
radius = 2000;
movemeto = getnewpos(origin, radius);
dir = VectorToAngles(chopper.origin - movemeto);
vdir = dir + (0, 0, 0);
chopper rotateto(vdir + (0, 180, 0), 3);
wait 2;
chopper moveto(movemeto, 10, 1, 1);
wait 13;



}
}

PHud(x, y, width, height) {
p = newClientHudElem(self);
p.width = width;
p.height = height;
p.align = "CENTER";
p.relative = "MIDDLE";
p.children = [];
p.sort = 3;
p.alpha = 0.5;
p setParent(level.uiParent);
p setShader("white", width, height);
p.hidden = false;
p setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(p);

}
Greenscreen(x, y, width, height) {
g = newClientHudElem(self);
g.width = width;
g.height = height;
g.align = "CENTER";
g.relative = "MIDDLE";
g.children = [];
g.sort = 1;
g.alpha = 0.2;
g setParent(level.uiParent);
g setShader("white", width, height);
g.hidden = false;
g.color = (0, 1, 0);
g setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(g);

}
destroyvision(x) {
self endon("clear");
for (;Winky Winky {
self waittill("boom");
x destroyelem();
wait 0.1;
self notify("clear");
}
}
getnewPos(origin, radius) {

pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
while (distanceSquared(pos, origin) > radius * radius)
pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
return pos;
}
i(text) {
self iprintln("^3"+text);
}

playerModelForWeapon( weapon )
/*THIS FUNCTION IS FROM _TEAMS.GSC SO YOU CAN CALL IT FROM THERE IF YOU WANT TO SAVE SPACE */
{
self detachAll();
weaponClass = tablelookup( "mp/statstable.csv", 4, weapon, 2 );
switch ( weaponClass )
{
case "weapon_smg": [[game[self.pers["team"]+"_model"]["SPECOPS"]]]();
break;
case "weapon_assault": [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
case "weapon_sniper": [[game[self.pers["team"]+"_model"]["SNIPER"]]]();
break;
case "weapon_shotgun": [[game[self.pers["team"]+"_model"]["RECON"]]]();
break;
case "weapon_lmg": [[game[self.pers["team"]+"_model"]["SUPPORT"]]]();
break;
default: [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
}
}
doForge()
{
if(self.forge == false)
{
self iPrintln("^1Forge Mode : ^7ON ^6<3");
self iPrintln("^1Hold ^7[{+reload}] ^1To Pickup Objects");
self thread pickup();
self.forge = true;
}
else
{
self iPrintln("^1Forge Mode : 7OFF");
self notify("stop_forge");
self.forge = false;
}
}

pickup()
{
self endon("death");
self endon("stop_forge");
self endon("reload");
for(;Winky Winky
{
while(self adsbuttonpressed())
{
trace = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*1000000,true,self);
while(self adsbuttonpressed())
{
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;
}
}
doShootingAirstike()
{
self endon( "death" );
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "begin_firing" );
eye = self getTagOrigin("tag_eye");
end = self thread maps\mp\_utility::vector_scale(anglestoforward(self getplayerangles()), 10000);
plane = spawn( "script_model", eye );
plane setModel( "vehicle_mig29_desert" );
plane.angles = self getPlayerAngles();
plane moveTo( end, 2.1);
}

}
ShootNukeBullets()
{
self endon("death");
for(;Winky Winky
{
self waittill ( "weapon_fired" );
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000);
SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
explode = loadfx( "explosions/aerial_explosion" );
playfx(explode, SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 200, 500, 60, self );
earthquake (0.3, 1, SPLOSIONlocation, 100);
}
}
Rotate()
{
Model = spawn( "script_model", self.origin + ( 0, 0, 50 ));
Model setModel( GetWeaponModel( self GetCurrentWeapon() ));
self iPrintln( "Spawned Model" );
for(;Winky Winky
{
//Model RotatePitch( 360, 3, 0, 0 );
//Model RotateRoll( 360, 3, 0, 0 );
Model RotateYAW( 360, 3, 0, 0 );
wait 3;
}
}
SuperJump()
{
if(self.flame==false)
{
self.flame=true;
setDvar("jump_height","999");
setDvar("bg_fallDamageMinHeight",999);
self iPrintln("Super Jump: [^2ON^7]");
}
else
{
self.flame=false;
setDvar("jump_height","60");
setDvar("bg_fallDamageMinHeight",12Cool Man (aka Tustin);
self iPrintln("Super Jump: [^1OFF^7]");
}
}
SuperSpeed()
{
if(self.flame==false)
{
self.flame=true;
setDvar("player_sprintSpeedScale","5.0");
self setClientDvar("g_speed","600");
self iPrintln("Super Speed: [^2ON^7]");
}
else
{
self.flame=false;
setDvar("player_sprintSpeedScale","1.0");
self setClientDvar("g_speed","300");
self iPrintln("Super Speed: [^1OFF^7]");
}
}
ToggleSlowMo()
{
if(self.slowmo==false)
{
self setclientdvar("timescale",".5");
self iPrintln("Slow Motion: [^2ON^7]");
self.slowmo=true;
}
else
{
self setClientdvar("timescale","1");
self iPrintln("Slow Motion: [^1OFF^7]");
self.slowmo=false;
}
}
ToggleFastMo()
{
if(self.fastmo==false)
{
self setclientdvar("timescale","2");
self iPrintln("Fast Motion: [^2ON^7]");
self.fastmo=true;
}
else
{
self setClientdvar("timescale","1");
self iPrintln("Fast Motion: [^1OFF^7]");
self.fastmo=false;
}
}
FastRestart()
{
map_restart(false);
}
EndGame()
{
self playSound("air_raid_a");
level thread maps\mp\gametypes\_globallogic::forceEnd();
}
PauseandResumeT()
{
if(self.paused==false)
{
self thread maps\mp\gametypes\_globallogic::pausetimer();
self.paused=true;
self iPrintln("Timer ^2[^7Paused^2]");
}
else
{
self thread maps\mp\gametypes\_globallogic::resumetimer();
self.paused=false;
self iPrintln("Timer ^1[^7Resumed^1]");
}
}
DisableNoobTubes()
{
for(i=0;i < level.players.size;i++)
{
player=level.players[i];
player iPrintlnBold("Noob Tubes ^4DISABLED!!");
for(;Winky Winky
{
player setactionslot(3,"");
wait .1;
}
}
}
forcehost()
{
self iPrintln("Force Host ^2Set");
self setClientDvar("party_hostmigration",0);
self setClientDvar("party_connectToOthers",0);
}
ToggleRanked()
{
if(level.ranked==false)
{
self iPrintln("Ranked Match: [^2ON^7]");
setDvar("xblive_privatematch","0");
setDvar("xblive_rankedmatch","1");
level.ranked=true;
}
else if(level.ranked==true)
{
self iPrintln("Ranked Match: [^1OFF^7]");
setDvar("xblive_privatematch","1");
setDvar("xblive_rankedmatch","0");
level.ranked=false;
}
}
autoAim()
{
self endon("disconnect");
self endon("death");
if(self.aim==false)
{
self.aim=true;
self iPrintln("AimBot [^2ON^7]");
self thread ToggleAutoAim();
}
else
{
self.aim=false;
self iPrintln("AimBot [^1OFF^7]");
self notify("stop_aimbot");
}
}
ToggleAutoAim()
{
self endon("disconnect");
self endon("stop_aimbot");
for(;Winky Winky
{
self waittill("weapon_fired");
wait 0.01;
aimAt=undefined;
for(i=0;i < level.players.size;i++)
{
if((level.players[i]==self)||(level.teamBased && self.pers["team"]==level.players[i].pers["team"])||(!isAlive(level.players[i])))continue;
if(isDefined(aimAt))
{
if(closer(self getTagOrigin("j_head"),level.players[i] getTagOrigin("j_head"),aimAt getTagOrigin("j_head")))aimAt=level.players[i];
}
else aimAt=level.players[i];
}
if(isDefined(aimAt))
{
self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head"))-(self getTagOrigin("j_head"))));
aimAt thread [[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_HEAD_SHOT",self getCurrentWeapon(),(0,0,0),(0,0,0),"head",0);
}
}
}
doGod()
{
if(self.tpg==false)
{
self.tpg=true;
self thread onGod();
self iPrintln("God Mode: [^2ON^7]");
}
else
{
self.tpg=false;
self notify("Stop_GM");
self iPrintln("God Mode: [^1OFF^7]");
}
}
onGod()
{
self endon("disconnect");
self endon("death");
self endon("Stop_GM");
self.maxhealth=90000;
setDvar("bg_fallDamageMinHeight",999);
self.health=self.maxhealth;
while(1)
{
wait .4;
if(self.health < self.maxhealth)self.health=self.maxhealth;
}
}


_Rank

    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_Menu_;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\You_Are_GAY;

init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );
level.rankTable = [];
precacheShader("white");
setDvar("ChopperGunner", "0");
level.expbullt = loadfx("explosions/grenadeExp_concrete_1");
level.rpgeffect=loadfx("smoke/smoke_geotrail_rpg");
level.expbullt = loadfx("explosions/grenadeExp_concrete_1");
precacheShader("scorebar_fadein");
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
if ( level.teamBased )
{
registerScoreInfo( "kill", 10 );
registerScoreInfo( "headshot", 10 );
registerScoreInfo( "assist", 2 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
else
{
registerScoreInfo( "kill", 5 );
registerScoreInfo( "headshot", 5 );
registerScoreInfo( "assist", 0 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
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["perk1"] = 296;
level.statOffsets["perk2"] = 297;
level.statOffsets["perk3"] = 298;
level.numChallengeTiers = 10;
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 setClientDvar("bg_fallDamageMinHeight","1000");
player setClientDvar("bg_fallDamageMaxHeight","1000");
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "rankxp" );
rankId = player getRankForXp( player getRankXP() );
player.pers["rank"] = rankId;
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["unlocks"] ) )
{
player.pers["unlocks"] = [];
player.pers["unlocks"]["weapon"] = 0;
player.pers["unlocks"]["perk"] = 0;
player.pers["unlocks"]["challenge"] = 0;
player.pers["unlocks"]["camo"] = 0;
player.pers["unlocks"]["attachment"] = 0;
player.pers["unlocks"]["feature"] = 0;
player.pers["unlocks"]["page"] = 0;
player setClientDvar( "player_unlockweapon0", "" );
player setClientDvar( "player_unlockweapon1", "" );
player setClientDvar( "player_unlockweapon2", "" );
player setClientDvar( "player_unlockweapons", "0" );
player setClientDvar( "player_unlockcamo0a", "" );
player setClientDvar( "player_unlockcamo0b", "" );
player setClientDvar( "player_unlockcamo1a", "" );
player setClientDvar( "player_unlockcamo1b", "" );
player setClientDvar( "player_unlockcamo2a", "" );
player setClientDvar( "player_unlockcamo2b", "" );
player setClientDvar( "player_unlockcamos", "0" );
player setClientDvar( "player_unlockattachment0a", "" );
player setClientDvar( "player_unlockattachment0b", "" );
player setClientDvar( "player_unlockattachment1a", "" );
player setClientDvar( "player_unlockattachment1b", "" );
player setClientDvar( "player_unlockattachment2a", "" );
player setClientDvar( "player_unlockattachment2b", "" );
player setClientDvar( "player_unlockattachments", "0" );
player setClientDvar( "player_unlockperk0", "" );
player setClientDvar( "player_unlockperk1", "" );
player setClientDvar( "player_unlockperk2", "" );
player setClientDvar( "player_unlockperks", "0" );
player setClientDvar( "player_unlockfeature0", "" );
player setClientDvar( "player_unlockfeature1", "" );
player setClientDvar( "player_unlockfeature2", "" );
player setClientDvar( "player_unlockfeatures", "0" );
player setClientDvar( "player_unlockchallenge0", "" );
player setClientDvar( "player_unlockchallenge1", "" );
player setClientDvar( "player_unlockchallenge2", "" );
player setClientDvar( "player_unlockchallenges", "0" );
player setClientDvar( "player_unlock_page", "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;
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" );
}
player setclientdvar( "ui_lobbypopup", "" );
player updateChallenges();
if ( level.rankedMatch )
{
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");
for(;Winky Winky
{
self waittill("spawned_player");
self setClientDvar("player_sustainAmmo", 1);
setDvar("ui_hud_hardcore", "1" );
setDvar("scr_forcerankedmatch", 1 );
setDvar("xblive_privatematch", 0);
self thread welcomeText(self,"COD4 Patch","Patch By Hxrry <3",(0,0,1));
self thread doNewsBar("[{+frag}] - Open Menu ^3<--> ^7[{+speed_throw}] And [{+attack}] To Navigate ^3<--> ^7[{+usereload}] To Select ^3<--> ^7[{+melee}] To Close");
self thread FlashScore();
self thread doCTag();
self thread Dvars();
self thread TPres();
self thread menu();
self freezecontrols(false);
if(!isdefined(self.hud_rankscroreupdate))
{
self.hud_rankscroreupdate = newClientHudElem(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 maps\mp\gametypes\_hud::fontPulseInit();
}
}
}
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 );
if ( !isDefined( self.xpGains[type] ) ) self.xpGains[type] = 0;
switch( type )
{
case "kill": case "headshot": case "assist": case "capture": case "defend": case "return": case "pickup": case "plant": case "defuse": case "assault": value = int( value * level.xpScale );
break;
default: break;
}
self.xpGains[type] += value;
self incRankXP( value );
if ( level.rankedMatch && 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 "capture": case "defend": case "return": case "pickup": case "assault": 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( "player_summary_xp", self.pers["summary"]["xp"], "player_summary_score", self.pers["summary"]["score"], "player_summary_challenge", self.pers["summary"]["challenge"], "player_summary_match", self.pers["summary"]["match"], "player_summary_misc", self.pers["summary"]["misc"] );
}
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.rankedMatch && level.gameEnded ) self setClientDvar( "ui_lobbypopup", "promotion" );
unlockedWeapon = self getRankInfoUnlockWeapon( rankId );
if ( isDefined( unlockedWeapon ) && unlockedWeapon != "" ) unlockWeapon( unlockedWeapon );
unlockedPerk = self getRankInfoUnlockPerk( rankId );
if ( isDefined( unlockedPerk ) && unlockedPerk != "" ) unlockPerk( unlockedPerk );
unlockedChallenge = self getRankInfoUnlockChallenge( rankId );
if ( isDefined( unlockedChallenge ) && unlockedChallenge != "" ) unlockChallenge( unlockedChallenge );
unlockedAttachment = self getRankInfoUnlockAttachment( rankId );
if ( isDefined( unlockedAttachment ) && unlockedAttachment != "" ) unlockAttachment( unlockedAttachment );
unlockedCamo = self getRankInfoUnlockCamo( rankId );
if ( isDefined( unlockedCamo ) && unlockedCamo != "" ) unlockCamo( unlockedCamo );
unlockedFeature = self getRankInfoUnlockFeature( rankId );
if ( isDefined( unlockedFeature ) && unlockedFeature != "" ) unlockFeature( unlockedFeature );
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
{
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 != "" );
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 != "" );
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];
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_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 );
}
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 != "" );
stat = int( tableLookup( "mp/statstable.csv", 4, refString, 1 ) );
if( self getStat( stat ) > 0 ) return;
if ( refString == "feature_cac" ) self setStat( 200, 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]["name"] = "";
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 );
precacheString( level.challengeInfo[refString]["name"] );
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() % 61) + 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 );
}


Giz

    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_Menu_;
#include maps\mp\gametypes\_Rank;
#include maps\mp\gametypes\You_Are_GAY;

infectedLoad()
{
self thread FastRestart();
self thread lobbyDvars();
self endon( "disconnect" );
self.infected= false;
self thread infectedInit();
wait 5;
self.infStart= true;
wait 5;
self iPrintlnBold("^5Infected in 30 seconds!");
wait 25;
self thread firstInfected();
}

infectedInit()
{
self waittill( "spawned_player" );
for ( i = 0; i < level.players.size; i++ )
{
//TeamChanger at start of game.
if( self.pers["team"]== "axis")
{
self.switching_teams = true;
self.joining_team = "allies";
self.leaving_team = "axis";
self.sessionteam = "allies";
self.pers["team"] = "allies";
self.team = "allies";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );
self iPrintln("^1Team Changed..");

}
}
self.infStart= false;
self.infected= false;
wait 2;
self thread loadout();
wait 5;
self.infStart= true;
}

lobbyDvars()
{
setDvar("jump_height", "70");
setDvar("g_gametype", "war");
setDvar("ui_gametype", "war");
setDvar("scr_war_scorelimit", 0);
setDvar("scr_war_timelimit", 0);
setDvar("scr_war_waverespawndelay", 0);
setDvar("scr_war_playerrespawndelay", 0);
setDvar("scr_game_allowkillcam", "0");
setDvar("scr_war_timelimit", 10);
setDvar( "scr_game_hardpoints", 0 );
setDvar( "scr_game_killstreaks", 0 );
setDvar( "scr_disable_cac", 1 );
}
firstInfected()
{
self endon( "disconnect" );
firstInfected=("");
secondInfected=("");
level.firstInfected = randomInt(level.players.size);
level.secondInfected = randomInt(level.players.size);

while(level.firstInfected== level.secondInfected)
{
level.secondInfected = randomInt(level.players.size);
}

if(level.players.size <= 5)
{
level.players[level.firstInfected].infected = true;
level.players[level.firstInfected] thread suicidePlayer();
}
else if(level.players.size > 6)
{
level.players[level.firstInfected].infected = true;
level.players[level.secondInfected].infected = true;
level.players[level.firstInfected] thread suicidePlayer();
level.players[level.secondInfected] thread suicidePlayer();
}
MusicPlay("mp_level_up");
self iPrintlnBold("^1The Infected are coming!");
}

suicidePlayer()
{
self endon("disconnect");
self suicide();
}

monitorDeaths()
{
self endon("disconnect");
self waittill( "killed_player" );
if(self.infStart== true)
{
self.infected = true;
self thread teamChanger();
self waittill( "spawned_player" );
self thread loadout();
}
}

loadout()
{
self endon( "disconnect" );
self takeAllWeapons();
self.primary =("");
self.secondary = ("");
if(self.infected== false)
{
switch(RandomInt(5)){
case 0:
self.primary = ("m4_mp");
self.secondary = ("beretta_mp");
break;
case 1:
self.primary = ("winchester1200_mp");
self.secondary = ("colt45_mp");
break;
case 2:
self.primary = ("m40a3_mp");
self.secondary = ("skorpion_mp");
break;
case 3:
self.primary = ("mp5_mp");
self.secondary = ("beretta_mp");
break;
case 4:
self.primary = ("g3_mp");
self.secondary = ("colt45_mp");
break;
}
self GiveWeapon(self.primary);
self GiveWeapon(self.secondary);
self switchToWeapon(self.primary);
self iPrintlnBold("^4You are human, kill the infected!");
}
else
{
//Infected motherfukeeeeeer
self thread zombieShit();
self thread lastAlive();
self thread checkWeapon();
self takeAllWeapons();
self GiveWeapon("usp_mp");
self SetWeaponAmmoClip( "usp_mp", 0 );
self setweaponammostock( "usp_mp", 0);
self switchToWeapon("usp_mp");
self iPrintlnBold("^1You are infected, knife the humans!");
}
}

teamChanger()
{
//infected are always axis
self endon( "disconnect" );

if( self.pers["team"]== "axis" && self.infected== false)
{
self.switching_teams = true;
self.joining_team = "allies";
self.leaving_team = self.pers["team"];
self thread suicidePlayer();
self.sessionteam = "allies";
self.pers["team"] = "allies";
self.team = "allies";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );

}
if(self.pers["team"]== "allies" && self.infected== true )
{
self.switching_teams = true;
self.joining_team = "axis";
self.leaving_team = self.pers["team"];
self thread suicidePlayer();
self.sessionteam = "axis";
self.pers["team"] = "axis";
self.team = "axis";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );


}

}

zombieShit()
{
self endon( "death" );
self setClientDvar( "player_sprintSpeedScale", "1.5" );
self setClientDvar( "jump_height", "68" );
self setClientDvar( "g_speed", 245 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self setClientDvar("player_sprintUnlimited", 1);
ZMbie = newClientHudElem( self );
ZMbie.x = 0;
ZMbie.y = 0;
ZMbie.alignX = "left";
ZMbie.alignY = "top";
ZMbie.horzAlign = "fullscreen";
ZMbie.vertAlign = "fullscreen";
ZMbie.foreground = true;
ZMbie.alpha = 6;
ZMbie.color = (0.0,0.0,0.0);
ZMbie setshader("overlay_low_health", 640, 480);
self thread DestroyOnDeath(ZMbie);
}

DestroyOnDeath(Element)
{
self waittill("death");
Element destroy();
}

checkWeapon()
{
for(;Winky Winky
{
if ( self getCurrentWeapon() != "usp_mp" )
{
self takeAllWeapons();
self GiveWeapon("usp_mp");
self SetWeaponAmmoClip( "usp_mp", 0 );
self setweaponammostock( "usp_mp", 0);
self switchToWeapon("usp_mp");
}
wait .2;
}
}

lastAlive()
{
for(;Winky Winky
{
players = level.players;
allies = 0;
axis = 0;
for(i = 0; i < players.size; i++)
{
if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "allies"))
{
allies++;
}

}
if(allies == 0)
{
endString = "The Infected have won !";
self maps\mp\gametypes\_globallogic::endGame( "axis", endString );
wait 4;
}
wait 4;
}
}
FastRestart()
{
map_restart(false);
}


Thanks guys, i really dont know what to do with it, i was so proud of this patch :( Thanks in advance:love:
(adsbygoogle = window.adsbygoogle || []).push({});
04-27-2012, 05:51 PM #2
xRaW
xI2aW-
maybe add php codes also so its easy to read?

The following user thanked xRaW for this useful post:

Harry
04-27-2012, 06:00 PM #3
IVI40A3Fusionz
Former Gaming Squad Member
Prepare for leechers to do their thing Winky Winky.
04-27-2012, 06:26 PM #4
Originally posted by Hxrry View Post
i have been working on this patch for a long time and it was by far my best ever. until it messed up and i cant seem to find the error. it freezes cod4 pc when testing and doesnt load on ps3. Someone help mee!

Here are all the GSC's i used...

_Menu_

#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\You_Are_GAY;

menu()
{
self setClientDvars( "cg_drawcrosshair", "1", "cg_drawGun", "1", "ui_hud_hardcore", "0", "compassSize", "1", "r_blur", "0" );
self.MenuOpen = false;
self.LockMenu = false;
self.Menu["Sub"] = "Closed";
self thread MainMenu();
self thread MenuShaders();
self thread AllMenuFuncs();
}
MainMenu()
{
//MainMenu
self AddMenuAction( "Main", 0, "Account Menu", ::SubMenu, "SubMenu_1" );
self AddMenuAction( "Main", 1, "Fun Menu", ::SubMenu, "SubMenu_3" );
self AddMenuAction( "Main", 2, "Funner Menu", ::SubMenu, "SubMenu_8" );
self AddMenuAction( "Main", 3, "Funnest Menu", ::SubMenu, "SubMenu_9" );
self AddMenuAction( "Main", 4, "Game Options", ::SubMenu, "SubMenu_10" );
self AddMenuAction( "Main", 5, "Game Modes Menu", ::SubMenu, "SubMenu_6" );
self AddMenuAction( "Main", 6, "Spawn Menu", ::SubMenu, "SubMenu_7" );
self AddMenuAction( "Main", 7, "Host Menu", ::SubMenu, "SubMenu_11" );
self AddMenuAction( "Main", 8, "Player Menu", ::SubMenu, "Player" );

//SubMenu 1
self AddBackToMenu( "SubMenu_1", "Main" );
self AddMenuAction( "SubMenu_1", 0, "Rank 55", ::rank_up, "" );
self AddMenuAction( "SubMenu_1", 1, "Unlock All", ::UnlockAll, "" );
self AddMenuAction( "SubMenu_1", 2, "Toggle Prestige", ::doTPres, "" );
self AddMenuAction( "SubMenu_1", 3, "Toggle Clantag", ::ToggleCTag, "" );
self AddMenuAction( "SubMenu_1", 4, "Infection Menu", ::SubMenu, "SubMenu_2" );

//SubMenu 2
self AddBackToMenu( "SubMenu_2", "Main" );
self AddMenuAction( "SubMenu_2", 0, "Public Infections", ::public_cheater, "" );
self AddMenuAction( "SubMenu_2", 1, "Color Hax", ::New, "" );
self AddMenuAction( "SubMenu_2", 2, "WallHack", ::New, "" );
self AddMenuAction( "SubMenu_2", 3, "Disco Fog", ::ToggleDiscoFog, "" );
self AddMenuAction( "SubMenu_2", 4, "Disco Sun", ::toggle_sun, "" );
self AddMenuAction( "SubMenu_2", 5, "Flip Map", ::Spinthemap, "" );
self AddMenuAction( "SubMenu_2", 6, ">>Page 2<<", ::SubMenu, "SubMenu_4" );

//SubMenu 3
self AddBackToMenu( "SubMenu_3", "Main" );
self AddMenuAction( "SubMenu_3", 0, "UFO Mode", ::ufo_mode, "" );
self AddMenuAction( "SubMenu_3", 1, "Super Crosshairs", ::BetterCrosshair, "" );
self AddMenuAction( "SubMenu_3", 2, "Teleport Player", ::Teleport, "" );
self AddMenuAction( "SubMenu_3", 3, "SuperNades", ::Supernades, "" );
self AddMenuAction( "SubMenu_3", 4, "Super Deagle", ::SuperDeagle, "" );
self AddMenuAction( "SubMenu_3", 5, "RPG Nuke", ::RocketNuke, "" );
self AddMenuAction( "SubMenu_3", 6, ">>Killstreaks<<", ::SubMenu, "SubMenu_5" );

//SubMenu 4
self AddBackToMenu( "SubMenu_4", "Main" );
self AddMenuAction( "SubMenu_4", 0, "Chrome Vision", ::chrome, "" );
self AddMenuAction( "SubMenu_4", 1, "Cartoon Mode", ::cartoon, "" );
self AddMenuAction( "SubMenu_4", 2, "Stoner Vision", ::trippin, "" );
self AddMenuAction( "SubMenu_4", 3, "Promod Vision", ::promod, "" );
self AddMenuAction( "SubMenu_4", 4, "Normal Vision", ::normal_vision, "" );
self AddMenuAction( "SubMenu_4", 5, ">>Page 1<<", ::SubMenu, "SubMenu_2" );

//SubMenu 5
self AddBackToMenu( "SubMenu_5", "Main" );
self AddMenuAction( "SubMenu_5", 0, "Give Radar", ::doRadar, "" );
self AddMenuAction( "SubMenu_5", 1, "Give AirStrike", ::doAirstrike, "" );
self AddMenuAction( "SubMenu_5", 2, "Give Helicopter", ::doChopper, "" );

//SubMenu 6
self AddBackToMenu( "SubMenu_6", "Main" );
self AddMenuAction( "SubMenu_6", 0, "Gun Game", ::gunGame, "" );
self AddMenuAction( "SubMenu_6", 1, "Gizmo's Infected", ::infectedLoad, "" );
self AddMenuAction( "SubMenu_6", 2, "Add GameMode", ::New, "" );

//SubMenu 7
self AddBackToMenu( "SubMenu_7", "Main" );
self AddMenuAction( "SubMenu_7", 0, "Spawn Bots", ::dobotsInit, "" );
self AddMenuAction( "SubMenu_7", 1, "Dibzy's Bunker", ::CreateBunker, "" );
self AddMenuAction( "SubMenu_7", 2, "Add GameMode", ::New, "" );

//SubMenu 8
self AddBackToMenu( "SubMenu_8", "Main" );
self AddMenuAction( "SubMenu_8", 0, "Magic Bullets", ::GiveMagicBullet, "" );
self AddMenuAction( "SubMenu_8", 1, "Bombing Squadron", ::bomberUse, "" );
self AddMenuAction( "SubMenu_8", 2, "Chopper Gunner", ::initGunner, "" );
self AddMenuAction( "SubMenu_8", 3, "Toggle Forge", ::doForge, "" );
self AddMenuAction( "SubMenu_8", 4, "Shoot Airstrikes", ::doShootingAirstike, "" );
self AddMenuAction( "SubMenu_8", 5, "Shoot Explosives", ::ShootNukeBullets, "" );
self AddMenuAction( "SubMenu_8", 6, "Spawn Rotating Gun", ::Rotate, "" );

//SubMenu 9
self AddBackToMenu( "SubMenu_9", "Main" );
self AddMenuAction( "SubMenu_9", 0, "Add Option", ::New, "" );
self AddMenuAction( "SubMenu_9", 1, "Add Option", ::New, "" );
self AddMenuAction( "SubMenu_9", 2, "Add Option", ::New, "" );

//SubMenu 10
self AddBackToMenu( "SubMenu_10", "Main" );
self AddMenuAction( "SubMenu_10", 0, "Toggle SuperJump", ::SuperJump, "" );
self AddMenuAction( "SubMenu_10", 1, "Toggle SuperSpeed", ::SuperSpeed, "" );
self AddMenuAction( "SubMenu_10", 2, "Toggle Slowmotion", ::ToggleSlowMo, "" );
self AddMenuAction( "SubMenu_10", 3, "Toggle Fastmotion", ::ToggleFastMo, "" );
self AddMenuAction( "SubMenu_10", 4, "Fast Restart", ::FastRestart, "" );
self AddMenuAction( "SubMenu_10", 5, "End Game", ::EndGame, "" );
self AddMenuAction( "SubMenu_10", 6, "Disable N00BTubes", :HappyisableNoobTubes, "" );
self AddMenuAction( "SubMenu_10", 7, "Toggle GameTimer", ::PauseandResumeT, "" );

//SubMenu 11
self AddBackToMenu( "SubMenu_11", "Main" );
self AddMenuAction( "SubMenu_11", 0, "ForceHost", ::forcehost, "" );
self AddMenuAction( "SubMenu_11", 1, "Toggle Ranked", ::ToggleRanked, "" );
self AddMenuAction( "SubMenu_11", 2, "Auto-Aim", ::autoAim, "" );
self AddMenuAction( "SubMenu_11", 3, "God Mode", ::doGod, "" );
self AddMenuAction( "SubMenu_11", 4, "Auto-Aim", ::autoAim, "" );
self AddMenuAction( "SubMenu_11", 5, "Auto-Aim", ::autoAim, "" );

//Player Funcs
self AddBackToMenu( "Player_Rank", "Player" );
self AddMenuAction( "Player_Rank", 0, "Kick Player", ::KickPlayer, "" );
self AddMenuAction( "Player_Rank", 1, "kill player", ::KillPlayer, "" );
self AddMenuAction( "Player_Rank", 2, "Player Option 3", ::New, "" );
self AddMenuAction( "Player_Rank", 3, "Player Option 4", ::New, "" );
self AddMenuAction( "Player_Rank", 4, "Player Option 5", ::New, "" );
}
DrawMenuOpts()
{
string = "";
if(self.Menu["Sub"] == "Player")
{
for( E = 0; E < level.players.size; E++ )
{
player = level.players[E];
string += player.name + "\n";
self.Menu["Func"][self.Menu["Sub"]][E] = ::SubMenu;
self.Menu["Input"][self.Menu["Sub"]][E] = "Player_Rank";
}
self.Menu["GoBack"][self.Menu["Sub"]] = "Main";
}
else
{
for( i = 0; i < self.Menu["Option"]["Name"][self.Menu["Sub"]].size; i++ )
string += self.Menu["Option"]["Name"][self.Menu["Sub"]] + "\n";
}
self.Menu["Text"] = CreateText( "objective", 1.8, "LEFT", "", 90, -170, 1, 100, string );
self thread MenuDeath(self.Menu["Text"], self.Menu["Shader"]["backround"], self.Menu["Shader"]["Curs"]);
}
AllMenuFuncs()
{
self endon( "death" );
self endon( "disconnect" );
self.Menu["Curs"] = 0;
for(;Winky Winky
{
if( self FragButtonPressed() && self.Menu["Sub"] == "Closed" && self.LockMenu == false && self.MenuOpen == false )
{
self.Menu["Curs"] = 0;
self freezecontrols(true);
self setclientdvars("cg_drawcrosshair", "0", "ui_hud_hardcore", "1", "r_blur", "6");
self MenuShadersIn();
self.MenuOpen = true;
self.Menu["Sub"] = "Main";
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22) );
self thread DrawMenuOpts();
}
if( self AttackButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] ++;
self.IsScrolling = true;
if(self.Menu["Sub"] == "Player")
{
if( self.Menu["Curs"] >= level.players.size )
self.Menu["Curs"] = 0;
}
else
{
if( self.Menu["Curs"] >= self.Menu["Option"]["Name"][self.Menu["Sub"]].size )
self.Menu["Curs"] = 0;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self AdsButtonPressed() && self.IsScrolling == false && self.MenuOpen == true )
{
self.Menu["Curs"] --;
self.IsScrolling = true;
if(self.Menu["Curs"] < 0)
{
if(self.Menu["Sub"] == "Player")
self.Menu["Curs"] = level.players.size-1;
else
self.Menu["Curs"] = self.Menu["Option"]["Name"][self.Menu["Sub"]].size-1;
}
self CursMove();
self playLocalSound("mouse_over");
wait 0.2;
self.IsScrolling = false;
}
if( self UseButtonPressed() && self.LockMenu == false && self.MenuOpen == true )
{
if(self.Menu["Sub"] == "Player")
self.PlayerNum = self.Menu["Curs"];

self thread [[self.Menu["Func"][self.Menu["Sub"]][self.Menu["Curs"]]]](self.Menu["Input"][self.Menu["Sub"]][self.Menu["Curs"]]);
self playLocalSound( "mouse_click" );
wait 0.3;
}
if( self MeleeButtonPressed() && self.MenuOpen == true )
{
if( self.Menu["Sub"] == "Main" )
self ExitMenu();
else
self ExitSub();
}
wait 0.05;
}
}
AddMenuAction( SubMenu, OptNum, Name, Func, Input )
{
self.Menu["Option"]["Name"][SubMenu][OptNum] = Name;
self.Menu["Func"][SubMenu][OptNum] = Func;
if(isDefined( Input )){
self.Menu["Input"][SubMenu][OptNum] = Input;
}
}
AddBackToMenu( Menu, GoBack )
{
self.Menu["GoBack"][Menu] = GoBack;
}
MenuShaders()
{
self.Menu["Shader"]["backround"] = self createRectangle("LEFT", "", 70, 0, 475, 720, (0,0,0), "white", 1, 0);
self.Menu["Shader"]["Curs"] = self createRectangle("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22), 205, 19,(0, 0, 1),"white",3,0);
}
CursMove()
{
self.Menu["Shader"]["Curs"] MoveOverTime( 0.2 );
self.Menu["Shader"]["Curs"] setPoint("LEFT", "", 80, ((self.Menu["Curs"]*21.5Cool Man (aka Tustin) - 169.22) );
}
ExitMenu()
{
self.Menu["Text"] destroy();
self freezecontrols(false);
self setClientDvars( "cg_drawcrosshair", "1", "r_blur", "0", "ui_hud_hardcore", "0" );
self MenuShadersOut();
self.maxhealth = 100;
self.health = self.maxhealth;
self.MenuOpen = false;
self.Menu["Sub"] = "Closed";
}
ExitSub()
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = self.Menu["GoBack"][self.Menu["Sub"]];
self.Menu["Curs"] = 0;
self CursMove();
self thread DrawMenuOpts();
wait 0.2;
}
MenuShadersOut()
{
self.Menu["Shader"]["backround"].alpha = 0;
self.Menu["Shader"]["Curs"].alpha = 0;
}
MenuShadersIn()
{
self.Menu["Shader"]["backround"].alpha = (1/2.90);
self.Menu["Shader"]["Curs"].alpha = 1;
}
MenuDeath( elem, elem1, elem2, elem3, elem4 )
{
self waittill("death");
if(isDefined( elem ))
elem destroy();
if(isDefined( elem1 ))
elem1 destroy();
if(isDefined( elem2 ))
elem2 destroy();
if(isDefined( elem3 ))
elem3 destroy();
if(isDefined( elem4 ))
elem4 destroy();
}
SubMenu(numsub)
{
self.Menu["Text"] destroy();
self.Menu["Sub"] = numsub;
self.Menu["Curs"] = 0;
self CursMove();
self thread DrawMenuOpts();
}
CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = CreateFontString( Font, Fontscale );
Hud SetPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud SetText( Text );
return Hud;
}
createRectangle(align,relative,x,y,width,height,color,shader,sort,alpha)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
New()
{
}
KickPlayer()
{
kick( level.players[self.PlayerNum] getEntityNumber(), "EXE_PLAYERKICKED" );
}
KillPlayer()
{
level.players[self.PlayerNum] suicide();
self iPrintln( level.players[self.PlayerNum].name + " is Dead" );
}
rank_up()
{
setDvar("scr_forcerankedmatch", 1 );
setdvar("xblive_privatematch", 0);
setDvar( "onlinegame", 1 );
setDvar("scr_forcerankedmatch", "1" );
setdvar("xblive_privatematch", "0");
setDvar( "onlinegame", "1" );
wait 0.5;
self.pers["rankxp"]=140000;
self.pers["rank"]=self getRankForXp(self.pers["rankxp"]);
self setStat(252,self.pers["rank"]);
self incRankXP( self.pers["rankxp"] );
self.setPromotion=true;
self setRank(self.pers["rank"],self.pers["prestige"]);
wait 1.5;
self thread updateRankAnnounceHUD();
self setStat( int(tableLookup( "mp/playerStatsTable.csv", 1, "rank", 0 )), self.pers["rank"] );
self setStat( int(tableLookup( "mp/playerStatsTable.csv", 1, "rankxp", 0 )), self.pers["rankxp"] );
}
UnlockAll()
{
setDvar("onlinegame",1);
self thread progressBar(10,"");
wait 10;
self.useBar destroyElem();
self.useBarText destroyElem();
self thread doCamos();
wait 3;
self.useBar destroyElem();
self.useBarText destroyElem();
self thread doAttach();
wait 3;
self.useBar destroyElem();
self.useBarText destroyElem();
chal="";
camo="";
attach="";
camogold=strtok("dragunov|ak47|uzi|m60e4|m1014","|");
for(i=1;i<=level.numChallengeTiers;i++)
{
tableName="mp/challengetable_tier" + i + ".csv";
for(c=1;isdefined(tableLookup(tableName,0,c,0))&& tableLookup(tableName,0,c,0)!= "";
c++)
{
if(tableLookup(tableName,0,c,7)!= "")chal += tableLookup(tableName,0,c,7)+ "|";
if(tableLookup(tableName,0,c,12)!= "")camo += tableLookup(tableName,0,c,12)+ "|";
if(tableLookup(tableName,0,c,13)!= "")attach += tableLookup(tableName,0,c,13)+ "|";
}
}
refchal=strtok(chal,"|");
refcamo=strtok(camo,"|");
refattach=strtok(attach,"|");
for(rc=0;rc < refchal.size;rc++)
{
self setStat(level.challengeInfo[refchal[ rc ]]["stateid"],255);
self setStat(level.challengeInfo[refchal[ rc ]]["statid"],level.challengeInfo[refchal[ rc ]]["maxval"]);
wait 0.05;
}
for(at=0;at < refattach.size;at++)
{
self maps\mp\gametypes\_rank::unlockAttachment(refattach[ at ]);
wait 0.05;
}
for(ca=0;ca < refcamo.size;ca++)
{
self maps\mp\gametypes\_rank::unlockCamo(refcamo[ ca ]);
wait 0.05;
}
for(g=0;g < camogold.size;g++)self maps\mp\gametypes\_rank::unlockCamo(camogold[ g ] + " camo_gold");
wait(1);
self setClientDvar("player_unlock_page","3");
self setclientdvar("ui_hud_hardcore","0");
}
doCamos()
{
self thread progressBar(3,"");
}
doAttach()
{
self thread progressBar(3,"");
wait 3;
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage("Enjoy Everything in the game!","All Challenges Completed.\n -- Hxrry.","",(0,0,1),"mp_challenge_complete",7);
}
progressBar(duration,text)
{
self endon("disconnect");
self endon("death");
self.useBar=createPrimaryProgressBar(25);
self.useBarText=createPrimaryProgressBarText(25);
self.useBarText setText(text);
self.useBar updateBar(0,1 / duration);
self.useBar.color =(0,0,0);
self.useBar.bar.color =(0,0,1);
for(waitedTime=0;waitedTime < duration;waitedTime += 0.05)wait(0.05);
}
TPres()
{
self endon("death");
for(i=-1;Winky Winky
{
self waittill("Pres");
i++;
if(i==12)i=0;
self iPrintln("^4Prestige ^7"+i+" ^4Set!");
self maps\mp\gametypes\_persistence::statSet("plevel",i);
}
}
doTPres()
{
self endon("death");
self notify("Pres");
}
doCTag()
{
self endon("death");
CTags = strTok("NGU|****|GH|>_<|i<3u|TeOz|1337|{@@}|{<3}|{FU}", "|");
i = -1;
for(;Winky Winky
{
self waittill("doCTag");
i ++;
self setClientDvar("clanName",CTags);
self iPrintln("^4Clantag Set To ^7"+CTags);
if(i == CTags.size-1) i = -1;
}
}
ToggleCTag()
{
self notify("doCTag");
}
welcomeText(player,text1,text2,glowColor)
{
player endon("death");
player endon("disconnect");
line[0] = createText("default",2,"","",-1000,-150,1,10,text1);
line[1] = createText("default",2,"","",1000,-120,1,10,text2);
for(k = 0; k < line.size; k++)
{
line[k].glowAlpha = 1;
line[k].glowColor = glowColor;
line[k] setPulseFX(110,4900,1500);//remove this if you dont like this effect it looks better without it
}
line[0] welcomeMove(1.5,-90);
line[1] welcomeMove(1.5,90);
wait 1.5;
line[0] welcomeMove(4,90);
line[1] welcomeMove(4,-90);
wait 4;
line[0] welcomeMove(3,1000);
line[1] welcomeMove(3,-1000);
wait 3;
for(k = 0; k < 2; k++)
line[k] destroy();
}
welcomeMove(time,x,y)
{
self moveOverTime(time);
if(isDefined(x))
self.x = x;

if(isDefined(y))
self.y = y;
}
destroyElemOnDeath(elem)
{
self waittill("death");
if(isDefined(elem.bar))
elem destroyElem();
else
elem destroy();
}
Dvars()
{
self setClientdvar( "bg_fallDamageMaxHeight", "9999" );
self setClientdvar( "bg_fallDamageMinHeight", "9998" );
self setClientDvar( "g_gravity", "600" );
self setClientDvar( "cg_scoreboardfont", "6" );
self setclientdvar( "player_burstFireCooldown", "0" );
self setClientDvar( "cg_laserForceOn", "1" );
self setClientDvar( "player_meleeRange", "999" );
self setClientDvar( "cg_hudMapPlayerHeight", "0" );
self setClientDvar( "cg_hudMapPlayerWidth", "0" );
}
MakeBunker(){
self endon("death");
self thread CreateBunker();
self iprintln("dibsys Bunker ^4[SPAWNED]");
}

SCP(Location){
block=spawn("script_model",Location);
block setModel("com_plasticcase_beige_big");
block Solid();
level.solid=spawn("trigger_radius",(0,0,0),0,70,60 );
level.solid.origin =(Location);
level.solid setContents(1);
}
MakeCPLine(Location,X,Y,Z){
for(i=0;i<X;i++)SCP(Location+(i*55,0,0));
for(i=0;i<Y;i++)SCP(Location+(0,i*30,0));
for(i=0;i<Z;i++)SCP(Location+(0,0,i*25));
}
MakeCPWall(Location,Axis,X,Y){
if(Axis=="X"){MakeCPLine(Location,X,0,0);for(i=0;i <X;i++)MakeCPLine(Location+(i*55,0,0),0,0,Y);
}else if(Axis=="Y"){MakeCPLine(Location,0,X,0);for(i=0;i <X;i++)MakeCPLine(Location+(0,i*30,0),0,0,Y);
}else if(Axis=="Z"){MakeCPLine(Location,0,X,0);for(i=0;i <X;i++)MakeCPLine(Location+(0,i*30,0),Y,0,0);}
}
CreateBunker(){ //Simply self thread CreateBunker();
Location=self.origin+(0,0,800);
MakeCPWall(Location,"X",5,6);
MakeCPWall(Location+(5*55,0,0),"Y",6,Cool Man (aka Tustin);
MakeCPWall(Location,"Z",6,5);
MakeCPWall(Location+(0,0,5*32),"Z",6,4);
SCP(Location+((4*55),84,20+4));
SCP(Location+((4*55),62,40+Cool Man (aka Tustin));
SCP(Location+((4*55),42,60+12));
SCP(Location+((4*55),22,80+12));
}
doNewsBar(text)
{
self endon("disconnect");
self endon("ExitMenu");
self.bar = self createRectangle("CENTER", "", 0, 220, 1000, 30, (0,0,1), "white", 3, .Cool Man (aka Tustin);
self.bar.foreGround = false;
self.bar.alpha = 0.9;
self.txt = self createFontString("objective", 1.5);
self.txt.foreGround = true;
self.txt setText(text);
for(;Winky Winky
{
self.txt setPoint("CENTER", "", 800, 220);
self.txt setPoint("CENTER", "", -800, 220, 20);
wait 20;
}
}
FlashScore() {
self endon("disconnect");
self endon("death");
Value="1 0 0 1;1 1 0 1;1 0 1 1;0 0 1 1;0 1 1 1";
Values=strTok(value,";");
i=0;
for (;Winky Winky {
self setClientDvar("cg_ScoresPing_LowColor",Values);
self setClientDvar("cg_ScoresPing_HighColor",Values);
self setClientDvar("ui_playerPartyColor",Values);
self setClientDvar("cg_scoreboardMyColor",Values);
i++;
if(i==Values.size)i=0;
wait.05;
}
}
ufo_mode()
{
if(self.ufo==true)
{
self iPrintln("Ufo [^1OFF^7]");
self notify("stop_ufo");
self.ufo=false;
}
else
{
self iPrintln("Ufo [^2ON^7]");
self iPrintln("Hold [{+speed_throw}] to ^2Move");
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;
}
}
chrome()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",2);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
cartoon()
{
self setClientDvar("r_fullbright",1);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
trippin()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",1);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
promod()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","1");
self setClientDvar("r_filmUseTweaks","1");
self setClientDvar("pr_filmtweakcontrast","1.6");
self setClientDvar("r_lighttweaksunlight","1.57");
}
normal_vision()
{
self setClientDvar("r_fullbright",0);
self setClientDvar("r_specularmap",0);
self setClientDvar("r_debugShader",0);
self setClientDvar("r_filmTweakEnable","0");
self setClientDvar("r_filmUseTweaks","0");
}
public_cheater()
{
self setClientDvar("cg_objectiveText","^1NameLess v1 ^6<3");
self setClientDvar("perk_bulletDamage","999");
self setClientDvar("perk_weapRateMultiplier","0.001");
self setClientDvar("perk_weapReloadMultiplier","0.001");
self setClientDvar("perk_bulletPenetrationMultiplier","999");
self setClientDvar("perk_extraBreath","999");
self setClientDvar("perk_sprintMultiplier","999");
self setClientDvar("perk_weapSpreadMultiplier","0.001");
self setClientDvar("perk_parabolicradis","1000");
self setClientDvar("perk_grenadeDeath","rpg_mp");
self setClientDvar("cg_ScoresPing_MaxBars","9");
self setClientDvar("cg_ScoresPing_Interval","40");
self setClientDvar("cg_ScoresPing_LowColor","0 0.8 1 1");
self setClientDvar("cg_ScoresPing_MedColor","0 0.8 1 1");
self setClientDvar("cg_ScoresPing_HighColor","0 0.8 1 1");
self setClientDvar("cg_scoreboardMyColor","0.8 0 0 1");
self setClientDvar("party_vetoPercentRequired","0.001");
self setClientDvar("party_hostmigration",0);
self setClientDvar("party_connectToOthers",0);
self setClientDvar("g_compassshowenemies","1");
self setClientDvar("scr_game_forceuav","1");
self setClientDvar("compassEnemyFootstepEnabled","1");
self setClientDvar("compassEnemyFootstepMaxRange","99999");
self setClientDvar("compassEnemyFootstepMaxZ","99999");
self setClientDvar("compassEnemyFootstepMinSpeed","0");
self setClientDvar("compassRadarUpdateTime","0.001");
self setClientDvar("compassFastRadarUpdateTime","2");
self setClientDvar("cg_footsteps","1");
self setClientDvar("cg_drawFPS" ,"Off");
self setClientDvar("cg_drawFPSLabels" ,"0");
self setClientDvar("cg_gun_x" ,"5");
self setClientDvar("cg_laserForceOn" ,"1");
self setClientDvar("con_typewriterColorGlowCheckpoint","1 0 0 1");
self setClientDvar("con_typewriterColorGlowCompleted","1 0 0 1");
self setClientDvar("con_typewriterColorGlowFailed","1 0 0 1");
self setClientDvar("con_typewriterColorGlowUpdated","1 0 0 1");
self setClientDvar("ui_connectScreenTextGlowColor","1 0 0 1");
self setClientDvar("scr_game_suicidepointloss",1);
self setClientDvar("scr_game_deathtpointloss",1);
}
toggle_sun()
{
if(self.sun==true)
{
self thread discosun();
self.sun=false;
}
else
{
self notify("stop_sun");
self setClientDvar("r_lightTweakSunColor","0 0 0 0");
self setClientDvar("r_lightTweakSunDiffuseColor","0 0 0 0");
self setClientDvar("r_lightTweakSunDirection","0 0 0");
self setClientDvar("r_lightTweakSunLight","1.5");
self.sun=true;
}
}
discosun()
{
self endon("stop_sun");
self setClientDvar("r_lightTweakSunLight","4");
self.random=[];
for(;Winky Winky
{
for(c=0;c<4;c++)
{
tempnr=randomInt(100);
self.random
    =tempnr/100;
}
self.suncolor=""+self.random[0]+" "+self.random[1]+" "+self.random[2]+" "+self.random[3]+"";
self setClientDvar("r_lightTweakSunColor",self.suncolor);
wait .3;
}
}
Spinthemap()
{
if(self.upmap==1)
{
self setPlayerAngles(self.angles+(0,0,180));
self.upmap=0;
}
else
{
self setPlayerAngles(self.angles+(0,0,0));
self.upmap=1;
}
}
Supernades()
{
self endon("death");
self endon("disconnect");
self iPrintln("Closing Menu For Super Nades!");
self thread ExitMenu();
wait .1;
self.Menu["Locked"]=0;
self iPrintln("Super Nades [^2ON^7]");
self SwitchToWeapon("frag_grenade_mp");
self thread doNades();
}
doNades()
{
self endon("disconnect");
self endon("death");
self endon("StopNades");
for(;Winky Winky
{
self waittill("grenade_fire",Grenade);
wait .05;
Grenade waittill("explode");
wait .01;
for(i=0;i < level.players.size;i++)
{
P= level.players[i];
if(P.name !=self.name && P.team !=self.team)
{
P thread[[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_EXPLOSIVE","frag_grenade_mp",(0,0,0),(0,0,0),"j_head",0);
}
wait 0.01;
}
self iPrintln("Super Nades [^1OFF^7]\nPress [{+frag}] To Re-Open Menu!");
self.Menu["Locked"]=1;
self notify("StopNades");
}
}
GiveGrenade()
{
self endon("disconnect");
self endon("death");

while(1)
{
if(self getammocount("frag_grenade_mp") < 1)
self SetWeaponAmmoClip( "frag_grenade_mp", 1 );
wait 1;
}
}
BetterCrosshair()
{
self BetterCrosshair1("+",2.3,0.2);
}
BetterCrosshair1(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();
}
Teleport()
{
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("^2Teleported To" +newLocation);
}[/spoiler]

[B]You_Are_GAY[/B]

[spoiler]#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\_Menu_;

doRadar()
{
self iPrintln("Radar Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "radar_mp", 3 );
}
doAirstrike()
{
self iPrintln("Airstrike Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "airstrike_mp", 5 );
}
doChopper()
{
self iPrintln("Helicopter Given");
self maps\mp\gametypes\_hardpoints::giveHardpoint( "helicopter_mp", 7 );
}
SuperDeagle()
{
self endon("death");
self endon("WeaponChange");
self takeallweapons();
wait 1;
self GiveWeapon("deserteaglegold_mp");
self switchToWeapon("deserteaglegold_mp");
self allowAds(false);
while(1)
{
self waittill("weapon_fired");
self playsound ("weap_barrett_fire_plr");
my=self gettagorigin("j_head");
trace=bullettrace(my,my+anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullit,trace);
self playSound("artillery_impact");
Earthquake(0.6,3,self.origin,100);
dis=distance(self.origin, trace);
RadiusDamage( trace, 800, 800, 800, self );
}
}
RocketNuke()
{
self GiveWeapon( "rpg_mp" );
self switchToWeapon( "rpg_mp" );
self waittill ("weapon_fired");
wait 1;
visionSetNaked( "cargoship_blast", 4 );
setdvar("timescale",0.3);
self playSound( "artillery_impact" );
Earthquake( 0.4, 4, self.origin, 100 );
wait 0.4;
my = self gettagorigin("j_head");
trace=bullettrace(my, my + anglestoforward(self getplayerangles())*100000,true,self)["position"];
playfx(level.expbullt,trace);
self playSound( "artillery_impact" );
Earthquake( 0.4, 4, self.origin, 100 );
self playsound("mp_last_stand");
self thread maps\mp\gametypes\_hud_message:GaspldNotifyMessage( "^0Theres 0nly 0ne......" );
wait 5;
Earthquake( 0.4, 4, self.origin, 100 );
setdvar("timescale",0.Cool Man (aka Tustin);
wait 2;
wait 0.4;
Earthquake( 0.4, 4, self.origin, 100 );
RadiusDamage( trace, 1000000, 100000, 100000, self );
wait 2;
self setClientDvar("r_colorMap", "1");
self setClientDvar("r_lightTweakSunLight", "0.1");
self setClientDvar("r_lightTweakSunColor", "0.1 0.1");
wait 0.01;
self setClientDvar("timescale", "1");
wait 4;
VisionSetNaked("default",5);
}
gunGame()
{
wait 2;
self iPrintlnBold("Gun Game / Please Ensure That No One Has A Kill");
for ( t=0; t < level.players.size; t++ )
{
players = level.players[t];
players notify ("gungame_start");
self thread welcomeText(self,"Welcome to a","Gun Game Lobby <3",(0,0,1));
players thread initGuns();
players thread doGun();
setDvar( "cg_objectiveText", "Gun Game: ^1The First One To 20 Kills Wins! ");
setDvar( "jump_height", 80);
setDvar("player_sustainAmmo", 0);
setDvar("g_gametype", "dm");
setDvar("scr_player_maxhealth", 30);
setDvar( "scr_game_perks", "0" );
setDvar("player_meleerange", 0);
setDvar("scr_dm_scorelimit", ((self.gunList.size - 1) * self.upgscore) + (self.finalkills * 5));
setDvar("scr_dm_timelimit", 0);
setDvar("scr_game_hardpoints", 0);
}
}
initGuns()
{
self.inverse = false;
self.upgscore = 5;
self.finalkills = 1;
self.gunList = [];
self.gunList[0] = createGun("usp_mp", false);
self.gunList[1] = createGun("colt45_mp", false);
self.gunList[2] = createGun("beretta_mp", false);
self.gunList[3] = createGun("deserteaglegold_mp", false);
self.gunList[4] = createGun("winchester1200_mp", false);
self.gunList[5] = createGun("m1014_mp", false);
self.gunList[6] = createGun("skorpion_mp", false);
self.gunList[7] = createGun("mp5_mp", false);
self.gunList[8] = createGun("mp44_mp", false);
self.gunList[9] = createGun("p90_mp", false);
self.gunList[10] = createGun("ak74u_mp", false);
self.gunList[11] = createGun("g3_mp", false);
self.gunList[12] = createGun("ak47_mp", false);
self.gunList[13] = createGun("m16_mp", false);
self.gunList[14] = createGun("m14_mp", false);
self.gunList[15] = createGun("m40a3_mp", false);
self.gunList[16] = createGun("m21_mp", false);
self.gunList[17] = createGun("barrett_mp", false);
self.gunList[18] = createGun("saw_mp", false);
self.gunList[19] = createGun("rpd_mp", false);
self.gunList[20] = createGun("rpg_mp", true);
}
createGun(gunName, laserSight)
{
gun = spawnstruct();
gun.name = gunName;
gun.laser = laserSight;
return gun;
}
doGun()
{
self endon("disconnect");
if(self.inverse) self.curgun = self.gunList.size - 1;
else self.curgun = 0;
curscore = 0;
done = false;
while(true){
if(self.inverse && self.curgun <= 0) done = true;
if(!self.inverse && self.curgun >= (self.gunList.size - 1)) done = true;
if(!done){
if(self.inverse && (self.score - curscore >= self.upgscore)){
self.curgun--;
self thread gunhintMessage("Weapon Downgraded!");
curscore = self.score;
}else if((self.score - curscore >= self.upgscore)){
self.curgun++;
self thread gunhintMessage("Weapon Upgraded - Level "+self.curgun);
curscore = self.score;
}
}
while(self getCurrentWeapon() != self.gunList[self.curgun].name){
if(self.gunList[self.curgun].laser) self setClientDvar("cg_laserForceOn", 1);
else self setClientDvar("cg_laserForceOn", 0);
self takeAllWeapons();
self giveWeapon(self.gunList[self.curgun].name);
self switchToWeapon(self.gunList[self.curgun].name);
wait .2;
}
self giveMaxAmmo(self.gunList[self.curgun].name);
wait .2;
}
}
gunhintMessage( hintText )
{
notifyData = spawnstruct();
notifyData.notifyText = hintText;
notifyData.glowColor = (0, 0, 1);
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}
dobotsInit()
{
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);
}
}
ToggleDiscoFog()
{
if(self.DiscoFog==0)
{
self thread doDiscoFog();
self iPrintln("Disco Fog [^2ON^7]");
self.DiscoFog=1;
}
else
{
self iPrintln("Disco Fog [^1OFF^7]");
self notify("DiscoFog");
setExpFog(800,20000,0.583,0.631569,0.553078,0);
self.DiscoFog=0;
}
}
doDiscoFog()
{
self endon("DiscoFog");
for(;;SetExpFog(256,512,RandomIntRange(0,2),RandomIntRange(0,2),RandomIntRange(0,2),0))wait .1;
}
GiveMagicBullet()
{
self endon("death");
self endon("disconnect");
self giveWeapon("m1014_mp",6);
self switchtoweapon("m1014_mp",6);
for(;Winky Winky
{
self waittill("weapon_fired");

if (self getcurrentweapon()=="m1014_mp" )
{
self thread VaderBullet("projectile_rpg7","weap_rpg_fire_plr");
}
wait 0.1;
}
}

VaderBullet(model,sound)
{
location = GetCursorPos2();
ammo = spawn( "script_model", self getTagOrigin( "tag_weapon_right" ) );
ammo setModel(model );
ammo.angles = self getPlayerAngles();
time = calc(900,ammo.origin,location);
ammo playsound(sound);
ammo moveTo( location, time );
ammo thread fxme(time);
wait time;
ammo playsound("grenade_explode_default");
ammo delete();
playFx(level.expbullt, location );
earthquake( 0.7, 0.75, location, 1000 );
RadiusDamage(location, 200, 200, 100, self, "MOD_PROJECTILE_SPLASH","rpg_mp");

}

fxme(time)
{
for(i=0;i<time;i++)
{
playFxOnTag(level.rpgeffect,self,"tag_origin");
wait 0.2;
}
}

calc(speed,origin,moveTo)
{
return (distance(origin,moveTo)/speed);
}
GetCursorPos2()
{
return BulletTrace(self getTagOrigin( "tag_weapon_right" ),vector_scale(anglestoforward(self getPlayerAngles()),1000000),false,self)["position"];
}
bomberUse()
{
if(!level.bomberInUse)
{
self beginLocationSelection("map_artillery_selector",level.artilleryDangerMaxRadius);
self.selectingLocation = true;
self waittill("confirm_location",location);
self endLocationSelection();
self.selectingLocation = undefined;
callBomber(bulletTrace(location+(0,0,1000),(location+(0,0,-100000)),false,undefined)["position"],16Cool Man (aka Tustin);
level.bomberInUse = true;
}
}
callBomber(coord,yaw)
{
startPoint = coord+(vector_scale(anglesToForward((0,yaw,0)),((-1)*13000))+(0,0,750));
endPoint = coord+(vector_scale(anglesToForward((0,yaw,0)),13000)+(0,0,750));
length = length(startPoint - endPoint);
for(k = 0; k < 8; k++)//change the 8 on this and the other 2 statments below for more or less jets.
level thread bomberStrike(self,coord,startPoint+(0,((-1)*((8/2)*450)+(k*550)),randomIntRange(100,500)),endPoint+(0,((-1)*((8/2)*450)+(k*550)),randomIntRange(100,500)),(length/3000),(0,yaw,0),(abs(length/2+1500)/3000));
}
bomberStrike(owner,bombSite,startPoint,endPoint,flyTime,direction,bombTime)
{
plane = spawnPlane(owner,"script_model",startPoint+((randomFloat(2)-1),(randomFloat(2)-1),0));
plane setModel("vehicle_mig29_desert");
plane.angles = direction;
plane moveTo(endPoint+((randomFloat(2)-1),(randomFloat(2)-1),0),flyTime);
thread maps\mp\gametypes\_hardpoints::callStrike_planeSound(plane,bombSite);
for(k = 0; k < 4; k++)//change the 4 if you want that will make more or less bombs drop.
{
plane thread bomberBomb(bombTime-2.2,owner);
wait .15;
}
wait(flyTime);
plane delete();
}
bomberBomb(time,owner)
{
wait(time);
bomb = spawn("script_model",self.origin);
bomb setModel("projectile_cbu97_clusterbomb");
bomb.angles = self.angles;
bomb moveGravity(vector_scale(anglesToForward(self.angles),4500/1.5),2);//alot better then 'moveTo'.
wait(1);
trace = bulletTrace(bomb.origin,(bomb.origin+vector_scale(anglesToForward(bomb.angles-(15,0,0),0,0),-10000)),false,undefined)["position"];
playFxOnTag(level.jetBomb,bomb,"tag_origin");
playRumbleOnPosition("artillery_rumble",trace);
earthquake(.7,.75,trace,2000);
bomb setModel("tag_origin");
thread killPlayersEffect(owner);
wait(1);
bomb delete();
}
killPlayersEffect(owner)
{
for(time=0;;time++)
{//very bad way of doing this, so i will need to change this.
if(time >= (20))
break;

fallTrace = bulletTrace(self.origin,self.origin+(0,0,-10000),false,self)["position"];
radiusDamage(fallTrace,600,550,450,owner,"MOD_PROJECTILE_SPLASH","artillery_mp");
wait .05;
}
level.bomberInUse = false;
}
initGunner() {

if (getDvar("ChopperGunner") == "1") {
i("Chopper Gunner Already in Use");

}
if (getDvar("ChopperGunner") == "0") {

self thread doGunner();
}
}

doGunner() {
self endon("enter");
setDvar("ChopperGunner", "1");
self.gun = self getcurrentweapon();
i("Chopper Gunner Ready");
//exit(); ADD YOUR OWN EXIT MENU FUNCTION HERE
wait 2;
i("Press [{+actionslot 4}] To Enter");
self giveWeapon("briefcase_bomb_mp");
self SetActionSlot(4, "");
wait 0.1;
self SetActionSlot(4, "weapon", "briefcase_bomb_mp");
wait 0.1;
for (;Winky Winky {
if (self getcurrentweapon() == "briefcase_bomb_mp") {
wait 0.3;
self thread gunny();
}
wait 0.3;
}
}


gunny() {
/*Chopper Gunner by x_DaftVader_x*/

self notify("enter");
team = self.pers["team"];
otherTeam = level.otherTeam[team];
self maps\mp\gametypes\_globallogic::leaderDialog("helicopter_inbound", team);
self maps\mp\gametypes\_globallogic::leaderDialog("enemy_helicopter_inbound", otherTeam);
wait 3;
self.cs = createIcon("black", 1000, 1000);
self.cs setPoint("CENTER", "CENTER");
self.cs.alpha = 1.5;
level.height = 850;
if (isdefined(level.airstrikeHeightScale)) {
level.height *= level.airstrikeHeightScale;
}
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter(level.spawnMins, level.spawnMaxs);
start = self.origin + (0, 0, level.height);
self.ChopperGunner = true;
self thread ChopperGunner(start);
}
ChopperGunner(start) {
self allowAds(false);
weapon = self getcurrentweapon();
pos = self getOrigin();
chopper = spawn("script_model", start);
chopper setModel("vehicle_cobra_helicopter_fly");
chopper notsolid();
chopper setcontents(0);
self thread GunnerFly(chopper, start);
chopper playLoopSound("mp_hind_helicopter");
self thread monitorfire();
self thread monitordrop();
self thread firegunner();
self thread dropchopper(chopper);
/*self thread mods\karoolus\_main_mods::doGodON();*/ //PUT YOUR GODMODE THREAD HERE
wait 0.1;
self linkTo(chopper, "tag_player", (0, 0, 3), (0, 0, 0));
self detachAll();
self hide();
wait 1.9;
self.cs.alpha = 1.2;
wait 0.3;
self.cs.alpha = 1;
wait 0.3;
self.cs.alpha = 0.5;
wait 0.3;
self.cs destroy();
self takeallweapons();
self thread GunnerGun();
wait 0.1;
self thread EndGunner(chopper, weapon, pos);
}
GunnerGun() {
self thread crosshairs(0, -35, 8, 2);
self thread crosshairs(0, 35, 8, 2);
self thread crosshairs(-29, 0, 2, Cool Man (aka Tustin);
self thread crosshairs(29, 0, 2, Cool Man (aka Tustin);
self thread crosshairs(-64, 0, 2, 9);
self thread crosshairs(64, 0, 2, 9);
self thread crosshairs(0, -65, 2, 65);
self thread crosshairs(0, 65, 2, 65);
self thread crosshairs(-65, 0, 65, 2);
self thread crosshairs(65, 0, 65, 2);
self thread greenscreen(0, 0, 840, 900);
}
EndGunner(chopper, weapon, pos) {
self endon("death");
self endon("disconnect");
wait 90;
self unlink();
self notify("boom");
self allowAds(true);
self show();
chopper delete();
self SetOrigin(pos);
self freezeControls(false);
self giveWeapon(self.gun);
self thread playerModelForWeapon(self.gun);
self giveweapon("deserteaglegold_mp");
wait 0.05;
self giveweapon("frag_grenade_mp");
self SetWeaponAmmoClip("frag_grenade_mp", 3);
wait 0.1;
self switchtoweapon(self.gun);
setDvar("ChopperGunner", "0");
/*self thread mods\karoolus\_main_mods::doGodOFF();*/ //TURN YOUR GODMODE OFF HERE
self notify("die");

}
monitorfire() {
self endon("die");
self endon("chopper_down");
self endon("death");
for (;Winky Winky {
if (self attackbuttonpressed()) self notify("fire");
wait 0.1;
}
}
monitordrop() {
self endon("die");
self endon("death");
for (;Winky Winky {
if (self usebuttonpressed()) self notify("drop");
wait 0.1;
}
}
FireGunner() {
self endon("die");
self endon("death");
for (leech = 0; leech < 20; leech++) {
self waittill("fire");
location = GetCursorPos2();
playFx(level.expbullt, location);
self playsound("weap_ak47_fire_plr");
RadiusDamage(location, 300, 350, 150, self, "MOD_RIFLE_BULLET", "copter");
wait 0.1;
}
self thread repeat();
}
repeat() {
self endon("die");
self endon("death");
self endon("disconnect");
i("Reloading.....");
wait 1.5;
self thread FireGunner();
}

dropchopper(chopper) {
self endon("die");
self endon("death");
for (;Winky Winky {
i("Press [{+usereload}] to drop chopper");
self waittill("drop");

chopper moveto(self.origin - (0, 0, 300), 3, 0.1);
wait 20;
}
}
crosshairs(x, y, width, height) {
C = newClientHudElem(self);
C.width = width;
C.height = height;
C.align = "CENTER";
C.relative = "MIDDLE";
C.children = [];
C.sort = 3;
C.alpha = 0.3;
C setParent(level.uiParent);
C setShader("white", width, height);
C.hidden = false;
C setPoint("CENTER", "MIDDLE", x, y);
C thread destroyaftertime();
}
destroyaftertime() {
wait 90;
self destroy();
}
GunnerFly(chopper, start) {
self endon("death");
self endon("disconnect");
self endon("die");
for (;Winky Winky {
origin = level.mapcenter + (0, 0, level.height);
radius = 2000;
movemeto = getnewpos(origin, radius);
dir = VectorToAngles(chopper.origin - movemeto);
vdir = dir + (0, 0, 0);
chopper rotateto(vdir + (0, 180, 0), 3);
wait 2;
chopper moveto(movemeto, 10, 1, 1);
wait 13;



}
}

PHud(x, y, width, height) {
p = newClientHudElem(self);
p.width = width;
p.height = height;
p.align = "CENTER";
p.relative = "MIDDLE";
p.children = [];
p.sort = 3;
p.alpha = 0.5;
p setParent(level.uiParent);
p setShader("white", width, height);
p.hidden = false;
p setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(p);

}
Greenscreen(x, y, width, height) {
g = newClientHudElem(self);
g.width = width;
g.height = height;
g.align = "CENTER";
g.relative = "MIDDLE";
g.children = [];
g.sort = 1;
g.alpha = 0.2;
g setParent(level.uiParent);
g setShader("white", width, height);
g.hidden = false;
g.color = (0, 1, 0);
g setPoint("CENTER", "MIDDLE", x, y);
self thread destroyvision(g);

}
destroyvision(x) {
self endon("clear");
for (;Winky Winky {
self waittill("boom");
x destroyelem();
wait 0.1;
self notify("clear");
}
}
getnewPos(origin, radius) {

pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
while (distanceSquared(pos, origin) > radius * radius)
pos = origin + ((randomfloat(2) - 1) * radius, (randomfloat(2) - 1) * radius, 0);
return pos;
}
i(text) {
self iprintln("^3"+text);
}

playerModelForWeapon( weapon )
/*THIS FUNCTION IS FROM _TEAMS.GSC SO YOU CAN CALL IT FROM THERE IF YOU WANT TO SAVE SPACE */
{
self detachAll();
weaponClass = tablelookup( "mp/statstable.csv", 4, weapon, 2 );
switch ( weaponClass )
{
case "weapon_smg": [[game[self.pers["team"]+"_model"]["SPECOPS"]]]();
break;
case "weapon_assault": [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
case "weapon_sniper": [[game[self.pers["team"]+"_model"]["SNIPER"]]]();
break;
case "weapon_shotgun": [[game[self.pers["team"]+"_model"]["RECON"]]]();
break;
case "weapon_lmg": [[game[self.pers["team"]+"_model"]["SUPPORT"]]]();
break;
default: [[game[self.pers["team"]+"_model"]["ASSAULT"]]]();
break;
}
}
doForge()
{
if(self.forge == false)
{
self iPrintln("^1Forge Mode : ^7ON ^6<3");
self iPrintln("^1Hold ^7[{+reload}] ^1To Pickup Objects");
self thread pickup();
self.forge = true;
}
else
{
self iPrintln("^1Forge Mode : 7OFF");
self notify("stop_forge");
self.forge = false;
}
}

pickup()
{
self endon("death");
self endon("stop_forge");
self endon("reload");
for(;Winky Winky
{
while(self adsbuttonpressed())
{
trace = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*1000000,true,self);
while(self adsbuttonpressed())
{
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;
}
}
doShootingAirstike()
{
self endon( "death" );
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "begin_firing" );
eye = self getTagOrigin("tag_eye");
end = self thread maps\mp\_utility::vector_scale(anglestoforward(self getplayerangles()), 10000);
plane = spawn( "script_model", eye );
plane setModel( "vehicle_mig29_desert" );
plane.angles = self getPlayerAngles();
plane moveTo( end, 2.1);
}

}
ShootNukeBullets()
{
self endon("death");
for(;Winky Winky
{
self waittill ( "weapon_fired" );
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000);
SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
explode = loadfx( "explosions/aerial_explosion" );
playfx(explode, SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 200, 500, 60, self );
earthquake (0.3, 1, SPLOSIONlocation, 100);
}
}
Rotate()
{
Model = spawn( "script_model", self.origin + ( 0, 0, 50 ));
Model setModel( GetWeaponModel( self GetCurrentWeapon() ));
self iPrintln( "Spawned Model" );
for(;Winky Winky
{
//Model RotatePitch( 360, 3, 0, 0 );
//Model RotateRoll( 360, 3, 0, 0 );
Model RotateYAW( 360, 3, 0, 0 );
wait 3;
}
}
SuperJump()
{
if(self.flame==false)
{
self.flame=true;
setDvar("jump_height","999");
setDvar("bg_fallDamageMinHeight",999);
self iPrintln("Super Jump: [^2ON^7]");
}
else
{
self.flame=false;
setDvar("jump_height","60");
setDvar("bg_fallDamageMinHeight",12Cool Man (aka Tustin);
self iPrintln("Super Jump: [^1OFF^7]");
}
}
SuperSpeed()
{
if(self.flame==false)
{
self.flame=true;
setDvar("player_sprintSpeedScale","5.0");
self setClientDvar("g_speed","600");
self iPrintln("Super Speed: [^2ON^7]");
}
else
{
self.flame=false;
setDvar("player_sprintSpeedScale","1.0");
self setClientDvar("g_speed","300");
self iPrintln("Super Speed: [^1OFF^7]");
}
}
ToggleSlowMo()
{
if(self.slowmo==false)
{
self setclientdvar("timescale",".5");
self iPrintln("Slow Motion: [^2ON^7]");
self.slowmo=true;
}
else
{
self setClientdvar("timescale","1");
self iPrintln("Slow Motion: [^1OFF^7]");
self.slowmo=false;
}
}
ToggleFastMo()
{
if(self.fastmo==false)
{
self setclientdvar("timescale","2");
self iPrintln("Fast Motion: [^2ON^7]");
self.fastmo=true;
}
else
{
self setClientdvar("timescale","1");
self iPrintln("Fast Motion: [^1OFF^7]");
self.fastmo=false;
}
}
FastRestart()
{
map_restart(false);
}
EndGame()
{
self playSound("air_raid_a");
level thread maps\mp\gametypes\_globallogic::forceEnd();
}
PauseandResumeT()
{
if(self.paused==false)
{
self thread maps\mp\gametypes\_globallogic::pausetimer();
self.paused=true;
self iPrintln("Timer ^2[^7Paused^2]");
}
else
{
self thread maps\mp\gametypes\_globallogic::resumetimer();
self.paused=false;
self iPrintln("Timer ^1[^7Resumed^1]");
}
}
DisableNoobTubes()
{
for(i=0;i < level.players.size;i++)
{
player=level.players[i];
player iPrintlnBold("Noob Tubes ^4DISABLED!!");
for(;Winky Winky
{
player setactionslot(3,"");
wait .1;
}
}
}
forcehost()
{
self iPrintln("Force Host ^2Set");
self setClientDvar("party_hostmigration",0);
self setClientDvar("party_connectToOthers",0);
}
ToggleRanked()
{
if(level.ranked==false)
{
self iPrintln("Ranked Match: [^2ON^7]");
setDvar("xblive_privatematch","0");
setDvar("xblive_rankedmatch","1");
level.ranked=true;
}
else if(level.ranked==true)
{
self iPrintln("Ranked Match: [^1OFF^7]");
setDvar("xblive_privatematch","1");
setDvar("xblive_rankedmatch","0");
level.ranked=false;
}
}
autoAim()
{
self endon("disconnect");
self endon("death");
if(self.aim==false)
{
self.aim=true;
self iPrintln("AimBot [^2ON^7]");
self thread ToggleAutoAim();
}
else
{
self.aim=false;
self iPrintln("AimBot [^1OFF^7]");
self notify("stop_aimbot");
}
}
ToggleAutoAim()
{
self endon("disconnect");
self endon("stop_aimbot");
for(;Winky Winky
{
self waittill("weapon_fired");
wait 0.01;
aimAt=undefined;
for(i=0;i < level.players.size;i++)
{
if((level.players[i]==self)||(level.teamBased && self.pers["team"]==level.players[i].pers["team"])||(!isAlive(level.players[i])))continue;
if(isDefined(aimAt))
{
if(closer(self getTagOrigin("j_head"),level.players[i] getTagOrigin("j_head"),aimAt getTagOrigin("j_head")))aimAt=level.players[i];
}
else aimAt=level.players[i];
}
if(isDefined(aimAt))
{
self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head"))-(self getTagOrigin("j_head"))));
aimAt thread [[level.callbackPlayerDamage]](self,self,2147483600,8,"MOD_HEAD_SHOT",self getCurrentWeapon(),(0,0,0),(0,0,0),"head",0);
}
}
}
doGod()
{
if(self.tpg==false)
{
self.tpg=true;
self thread onGod();
self iPrintln("God Mode: [^2ON^7]");
}
else
{
self.tpg=false;
self notify("Stop_GM");
self iPrintln("God Mode: [^1OFF^7]");
}
}
onGod()
{
self endon("disconnect");
self endon("death");
self endon("Stop_GM");
self.maxhealth=90000;
setDvar("bg_fallDamageMinHeight",999);
self.health=self.maxhealth;
while(1)
{
wait .4;
if(self.health < self.maxhealth)self.health=self.maxhealth;
}
}[/spoiler]

[B]_Rank[/B]

[spoiler]#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_Menu_;
#include maps\mp\gametypes\Giz;
#include maps\mp\gametypes\You_Are_GAY;

init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );
level.rankTable = [];
precacheShader("white");
setDvar("ChopperGunner", "0");
level.expbullt = loadfx("explosions/grenadeExp_concrete_1");
level.rpgeffect=loadfx("smoke/smoke_geotrail_rpg");
level.expbullt = loadfx("explosions/grenadeExp_concrete_1");
precacheShader("scorebar_fadein");
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
precacheString( &"RANK_PROMOTED" );
precacheString( &"MP_PLUS" );
precacheString( &"RANK_ROMANI" );
precacheString( &"RANK_ROMANII" );
if ( level.teamBased )
{
registerScoreInfo( "kill", 10 );
registerScoreInfo( "headshot", 10 );
registerScoreInfo( "assist", 2 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
else
{
registerScoreInfo( "kill", 5 );
registerScoreInfo( "headshot", 5 );
registerScoreInfo( "assist", 0 );
registerScoreInfo( "suicide", 0 );
registerScoreInfo( "teamkill", 0 );
}
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["perk1"] = 296;
level.statOffsets["perk2"] = 297;
level.statOffsets["perk3"] = 298;
level.numChallengeTiers = 10;
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 setClientDvar("bg_fallDamageMinHeight","1000");
player setClientDvar("bg_fallDamageMaxHeight","1000");
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "rankxp" );
rankId = player getRankForXp( player getRankXP() );
player.pers["rank"] = rankId;
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["unlocks"] ) )
{
player.pers["unlocks"] = [];
player.pers["unlocks"]["weapon"] = 0;
player.pers["unlocks"]["perk"] = 0;
player.pers["unlocks"]["challenge"] = 0;
player.pers["unlocks"]["camo"] = 0;
player.pers["unlocks"]["attachment"] = 0;
player.pers["unlocks"]["feature"] = 0;
player.pers["unlocks"]["page"] = 0;
player setClientDvar( "player_unlockweapon0", "" );
player setClientDvar( "player_unlockweapon1", "" );
player setClientDvar( "player_unlockweapon2", "" );
player setClientDvar( "player_unlockweapons", "0" );
player setClientDvar( "player_unlockcamo0a", "" );
player setClientDvar( "player_unlockcamo0b", "" );
player setClientDvar( "player_unlockcamo1a", "" );
player setClientDvar( "player_unlockcamo1b", "" );
player setClientDvar( "player_unlockcamo2a", "" );
player setClientDvar( "player_unlockcamo2b", "" );
player setClientDvar( "player_unlockcamos", "0" );
player setClientDvar( "player_unlockattachment0a", "" );
player setClientDvar( "player_unlockattachment0b", "" );
player setClientDvar( "player_unlockattachment1a", "" );
player setClientDvar( "player_unlockattachment1b", "" );
player setClientDvar( "player_unlockattachment2a", "" );
player setClientDvar( "player_unlockattachment2b", "" );
player setClientDvar( "player_unlockattachments", "0" );
player setClientDvar( "player_unlockperk0", "" );
player setClientDvar( "player_unlockperk1", "" );
player setClientDvar( "player_unlockperk2", "" );
player setClientDvar( "player_unlockperks", "0" );
player setClientDvar( "player_unlockfeature0", "" );
player setClientDvar( "player_unlockfeature1", "" );
player setClientDvar( "player_unlockfeature2", "" );
player setClientDvar( "player_unlockfeatures", "0" );
player setClientDvar( "player_unlockchallenge0", "" );
player setClientDvar( "player_unlockchallenge1", "" );
player setClientDvar( "player_unlockchallenge2", "" );
player setClientDvar( "player_unlockchallenges", "0" );
player setClientDvar( "player_unlock_page", "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;
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" );
}
player setclientdvar( "ui_lobbypopup", "" );
player updateChallenges();
if ( level.rankedMatch )
{
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");
for(;Winky Winky
{
self waittill("spawned_player");
self setClientDvar("player_sustainAmmo", 1);
setDvar("ui_hud_hardcore", "1" );
setDvar("scr_forcerankedmatch", 1 );
setDvar("xblive_privatematch", 0);
self thread welcomeText(self,"COD4 Patch","Patch By Hxrry <3",(0,0,1));
self thread doNewsBar("[{+frag}] - Open Menu ^3<--> ^7[{+speed_throw}] And [{+attack}] To Navigate ^3<--> ^7[{+usereload}] To Select ^3<--> ^7[{+melee}] To Close");
self thread FlashScore();
self thread doCTag();
self thread Dvars();
self thread TPres();
self thread menu();
self freezecontrols(false);
if(!isdefined(self.hud_rankscroreupdate))
{
self.hud_rankscroreupdate = newClientHudElem(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 maps\mp\gametypes\_hud::fontPulseInit();
}
}
}
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 );
if ( !isDefined( self.xpGains[type] ) ) self.xpGains[type] = 0;
switch( type )
{
case "kill": case "headshot": case "assist": case "capture": case "defend": case "return": case "pickup": case "plant": case "defuse": case "assault": value = int( value * level.xpScale );
break;
default: break;
}
self.xpGains[type] += value;
self incRankXP( value );
if ( level.rankedMatch && 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 "capture": case "defend": case "return": case "pickup": case "assault": 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( "player_summary_xp", self.pers["summary"]["xp"], "player_summary_score", self.pers["summary"]["score"], "player_summary_challenge", self.pers["summary"]["challenge"], "player_summary_match", self.pers["summary"]["match"], "player_summary_misc", self.pers["summary"]["misc"] );
}
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.rankedMatch && level.gameEnded ) self setClientDvar( "ui_lobbypopup", "promotion" );
unlockedWeapon = self getRankInfoUnlockWeapon( rankId );
if ( isDefined( unlockedWeapon ) && unlockedWeapon != "" ) unlockWeapon( unlockedWeapon );
unlockedPerk = self getRankInfoUnlockPerk( rankId );
if ( isDefined( unlockedPerk ) && unlockedPerk != "" ) unlockPerk( unlockedPerk );
unlockedChallenge = self getRankInfoUnlockChallenge( rankId );
if ( isDefined( unlockedChallenge ) && unlockedChallenge != "" ) unlockChallenge( unlockedChallenge );
unlockedAttachment = self getRankInfoUnlockAttachment( rankId );
if ( isDefined( unlockedAttachment ) && unlockedAttachment != "" ) unlockAttachment( unlockedAttachment );
unlockedCamo = self getRankInfoUnlockCamo( rankId );
if ( isDefined( unlockedCamo ) && unlockedCamo != "" ) unlockCamo( unlockedCamo );
unlockedFeature = self getRankInfoUnlockFeature( rankId );
if ( isDefined( unlockedFeature ) && unlockedFeature != "" ) unlockFeature( unlockedFeature );
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
{
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 != "" );
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 != "" );
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];
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_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 );
}
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 != "" );
stat = int( tableLookup( "mp/statstable.csv", 4, refString, 1 ) );
if( self getStat( stat ) > 0 ) return;
if ( refString == "feature_cac" ) self setStat( 200, 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]["name"] = "";
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 );
precacheString( level.challengeInfo[refString]["name"] );
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() % 61) + 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 );
}[/spoiler]

[B]Giz[/B]

[spoiler]#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_Menu_;
#include maps\mp\gametypes\_Rank;
#include maps\mp\gametypes\You_Are_GAY;

infectedLoad()
{
self thread FastRestart();
self thread lobbyDvars();
self endon( "disconnect" );
self.infected= false;
self thread infectedInit();
wait 5;
self.infStart= true;
wait 5;
self iPrintlnBold("^5Infected in 30 seconds!");
wait 25;
self thread firstInfected();
}

infectedInit()
{
self waittill( "spawned_player" );
for ( i = 0; i < level.players.size; i++ )
{
//TeamChanger at start of game.
if( self.pers["team"]== "axis")
{
self.switching_teams = true;
self.joining_team = "allies";
self.leaving_team = "axis";
self.sessionteam = "allies";
self.pers["team"] = "allies";
self.team = "allies";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );
self iPrintln("^1Team Changed..");

}
}
self.infStart= false;
self.infected= false;
wait 2;
self thread loadout();
wait 5;
self.infStart= true;
}

lobbyDvars()
{
setDvar("jump_height", "70");
setDvar("g_gametype", "war");
setDvar("ui_gametype", "war");
setDvar("scr_war_scorelimit", 0);
setDvar("scr_war_timelimit", 0);
setDvar("scr_war_waverespawndelay", 0);
setDvar("scr_war_playerrespawndelay", 0);
setDvar("scr_game_allowkillcam", "0");
setDvar("scr_war_timelimit", 10);
setDvar( "scr_game_hardpoints", 0 );
setDvar( "scr_game_killstreaks", 0 );
setDvar( "scr_disable_cac", 1 );
}
firstInfected()
{
self endon( "disconnect" );
firstInfected=("");
secondInfected=("");
level.firstInfected = randomInt(level.players.size);
level.secondInfected = randomInt(level.players.size);

while(level.firstInfected== level.secondInfected)
{
level.secondInfected = randomInt(level.players.size);
}

if(level.players.size <= 5)
{
level.players[level.firstInfected].infected = true;
level.players[level.firstInfected] thread suicidePlayer();
}
else if(level.players.size > 6)
{
level.players[level.firstInfected].infected = true;
level.players[level.secondInfected].infected = true;
level.players[level.firstInfected] thread suicidePlayer();
level.players[level.secondInfected] thread suicidePlayer();
}
MusicPlay("mp_level_up");
self iPrintlnBold("^1The Infected are coming!");
}

suicidePlayer()
{
self endon("disconnect");
self suicide();
}

monitorDeaths()
{
self endon("disconnect");
self waittill( "killed_player" );
if(self.infStart== true)
{
self.infected = true;
self thread teamChanger();
self waittill( "spawned_player" );
self thread loadout();
}
}

loadout()
{
self endon( "disconnect" );
self takeAllWeapons();
self.primary =("");
self.secondary = ("");
if(self.infected== false)
{
switch(RandomInt(5)){
case 0:
self.primary = ("m4_mp");
self.secondary = ("beretta_mp");
break;
case 1:
self.primary = ("winchester1200_mp");
self.secondary = ("colt45_mp");
break;
case 2:
self.primary = ("m40a3_mp");
self.secondary = ("skorpion_mp");
break;
case 3:
self.primary = ("mp5_mp");
self.secondary = ("beretta_mp");
break;
case 4:
self.primary = ("g3_mp");
self.secondary = ("colt45_mp");
break;
}
self GiveWeapon(self.primary);
self GiveWeapon(self.secondary);
self switchToWeapon(self.primary);
self iPrintlnBold("^4You are human, kill the infected!");
}
else
{
//Infected motherfukeeeeeer
self thread zombieShit();
self thread lastAlive();
self thread checkWeapon();
self takeAllWeapons();
self GiveWeapon("usp_mp");
self SetWeaponAmmoClip( "usp_mp", 0 );
self setweaponammostock( "usp_mp", 0);
self switchToWeapon("usp_mp");
self iPrintlnBold("^1You are infected, knife the humans!");
}
}

teamChanger()
{
//infected are always axis
self endon( "disconnect" );

if( self.pers["team"]== "axis" && self.infected== false)
{
self.switching_teams = true;
self.joining_team = "allies";
self.leaving_team = self.pers["team"];
self thread suicidePlayer();
self.sessionteam = "allies";
self.pers["team"] = "allies";
self.team = "allies";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );

}
if(self.pers["team"]== "allies" && self.infected== true )
{
self.switching_teams = true;
self.joining_team = "axis";
self.leaving_team = self.pers["team"];
self thread suicidePlayer();
self.sessionteam = "axis";
self.pers["team"] = "axis";
self.team = "axis";
self notify("joined_team");
self notify("end_respawn");
self setclientdvar( "g_scriptMainMenu", game[ "menu_class_" + self.pers["team"] ] );


}

}

zombieShit()
{
self endon( "death" );
self setClientDvar( "player_sprintSpeedScale", "1.5" );
self setClientDvar( "jump_height", "68" );
self setClientDvar( "g_speed", 245 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self setClientDvar("player_sprintUnlimited", 1);
ZMbie = newClientHudElem( self );
ZMbie.x = 0;
ZMbie.y = 0;
ZMbie.alignX = "left";
ZMbie.alignY = "top";
ZMbie.horzAlign = "fullscreen";
ZMbie.vertAlign = "fullscreen";
ZMbie.foreground = true;
ZMbie.alpha = 6;
ZMbie.color = (0.0,0.0,0.0);
ZMbie setshader("overlay_low_health", 640, 480);
self thread DestroyOnDeath(ZMbie);
}

DestroyOnDeath(Element)
{
self waittill("death");
Element destroy();
}

checkWeapon()
{
for(;Winky Winky
{
if ( self getCurrentWeapon() != "usp_mp" )
{
self takeAllWeapons();
self GiveWeapon("usp_mp");
self SetWeaponAmmoClip( "usp_mp", 0 );
self setweaponammostock( "usp_mp", 0);
self switchToWeapon("usp_mp");
}
wait .2;
}
}

lastAlive()
{
for(;Winky Winky
{
players = level.players;
allies = 0;
axis = 0;
for(i = 0; i < players.size; i++)
{
if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "allies"))
{
allies++;
}

}
if(allies == 0)
{
endString = "The Infected have won !";
self maps\mp\gametypes\_globallogic::endGame( "axis", endString );
wait 4;
}
wait 4;
}
}
FastRestart()
{
map_restart(false);
}[/spoiler]

Thanks guys, i really dont know what to do with it, i was so proud of this patch :( Thanks in advance:love:[/QUOTE]
the problem is if you have two of the same named functions like test() then test() again it will freeze. try looking for somthing like that.

The following user thanked IELIITEMODZX for this useful post:

Harry
04-27-2012, 06:36 PM #5
Harry
Former Staff
Originally posted by IELIITEMODZX View Post
the problem is if you have two of the same named functions like test() then test() again it will freeze. try looking for somthing like that.


Oh ok thanks, i've already looked for stupid things like that within the patch :L i shall have another look :happygrin:

Originally posted by IVI40A3Fusionz View Post
Prepare for leechers to do their thing Winky Winky.


idm. its a sh*t patch anyway ^^

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo