#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
menu()
{
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self thread notifyAllCommands();
self thread listen(::iniMenu, "dpad_up" );
self thread death();
}
notifyAllCommands()
{
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
self notifyOnPlayerCommand( "dpad_left", "+actionslot 3" );
self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
self notifyOnPlayerCommand( "button_ltrig", "+toggleads_throw" );
self notifyOnPlayerCommand( "button_rtrig", "attack" );
self notifyOnPlayerCommand( "dpad_right", "+frag");
self notifyOnPlayerCommand( "dpad_left", "+smoke");
self notifyOnPlayerCommand( "button_rstick", "+melee");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_a", "+gostand" );
self notifyOnPlayerCommand( "button_b", "+stance" );
self notifyOnPlayerCommand( "button_x", "+reload" );
self notifyOnPlayerCommand( "button_y", "weapnext" );
self notifyOnPlayerCommand( "button_back", "togglescores" );
}
death()
{
self waittill("death");
self.menuIsOpen=false;
}
iniMenu()
{
if( self.MenuIsOpen == false )
{
_openMenu();
self thread drawMenu( self.cycle, self.scroll);
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitMenu, "button_x" );
level thread listenMenuEvent( ::updateMenu, "connected" );
}
}
select()
{
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight()
{
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
cycleLeft()
{
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll);
}
scrollUp()
{
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
scrollDown()
{
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}
exitMenu()
{
self.MenuIsOpen = false;
self.menu=0;
self freezeControls(false);
self VisionSetNakedForPlayer(getDvar("mapname"),0.5);
self setBlurForPlayer(0,0.5);
}
updateMenu()
{
drawMenu( self.cycle, self.scroll );
}
_openMenu()
{
self.MenuIsOpen = true;
self.menu=1;
self freezeControls(true);
self setBlurForPlayer(10.3,0.1);
self VisionSetNakedForPlayer("ac130_inverted",0.01);
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0; i < self.numMenus; i++)
self.menuSize[i] = menu[i].name.size;
}
checkCycle()
{
if(self.cycle > self.numMenus - 1)
{
self.cycle = self.cycle - self.numMenus;
}
else
if(self.cycle < 0)
{
self.cycle = self.cycle + self.numMenus;
}
}
checkScroll()
{
if(self.scroll < 1)
{
self.scroll = self.menuSize[self.cycle] -1;
}
else
if(self.scroll > self.menuSize[self.cycle] - 1)
{
self.scroll = 1;
}
}
drawMenu( cycle, scroll )
{
menu = [[self.getMenu]]();
display = [];
//display other menu options left/right
if( menu.size > 2 )
{
leftTitle = createFontString("hudbig",0.8);
leftTitle setPoint( "CENTER", "TOP", -240, 17 );
if( cycle-1 < 0 )
leftTitle setText( menu[menu.size - 1].name[0] );
else
leftTitle setText( menu[cycle - 1].name[0] );
self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "button_x", "death" );
rightTitle = self createFontString("hudbig",0.8);
rightTitle setPoint( "CENTER", "TOP", 240, 17 );
if( cycle > menu.size - 2 )
rightTitle setText( menu[0].name[0] );
else
rightTitle setText( menu[cycle + 1].name[0] );
self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left", "dpad_up", "dpad_down", "button_x", "death" );
}
//draw column
//draw column
for( i = 0; i < menu[cycle].name.size; i++ )
{
if(i < 1)
display[i] = self createFontString( "hudbig", 1 );//The menu title
else
display[i] = self createFontString( "hudbig", .8 );
display[i] setPoint( "CENTER", "TOP", 0, i+20 + i*20 );
if(i == scroll)
{
r=randomint(255);
g=randomint(255);
b=randomint(255);
display[i] ChangeFontScaleOverTime(0.1);
display[i] FadeOverTime(0.1);
display[i].fontScale=1.2;
display[i] setText(menu[cycle].name[i]);
self playLocalSound("mouse_over");
display[i].alpha = 1;
display[i].glow = 1;
display[i].glowColor = ((r/255),(g/255),(b/255));
display[i].glowAlpha = 1;
display[i].color = ((r/255),(g/255),(b/255));
display[i] setText(menu[cycle].name[i]);
}
else
display[i] setText(menu[cycle].name[i] );
self thread destroyOnAny( display[i], "dpad_right", "dpad_left",
"dpad_up", "dpad_down", "button_x", "death" );
level thread destroyOn( display[i], "connected" );
}
}
listen( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
for(;
{
self waittill( event );
self thread [[function]]();
}
}
listenMenuEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "button_x" );
for(;
{
self waittill( event );
self thread [[function]]();
}
}
runOnEvent( function, event )
{
self endon ( "disconnect" );
self endon ( "death" );
self waittill( event );
self thread [[function]]();
}
destroyOn( element, event )
{
self waittill( event );
element destroy();
}
destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )
{
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}
openSubMenu()
{
//close the old menu out and prevent from reopening.
self notify( "button_x" );
wait .01;
oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getSubMenu_Menu;
_openMenu();
self thread drawMenu( self.cycle, self.scroll );
self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitSubMenu, "button_x" );
}
exitSubMenu()
{
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_up" );
}
Host()
{
menu = [];
menu[0] = Host1();
return menu;
}
Host1()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Player";
menu.name[1] = "^1Kick Player";
menu.function[1] = ::kickPlayer;
menu.input[1] = self.input;
menu.name[2] = "^1Rank to Level 70";
menu.function[2] = :
lRankUp;
menu.input[2] = self.input;
menu.name[3] = "^1Unlock All";
menu.function[3] = :
lUnlockAll;
menu.input[3] = self.input;
menu.name[4] = "^1Teleport To Me";
menu.function[4] = :
lTeleportToMe;
menu.input[4] = self.input;
menu.name[5] = "^1Teleport To Player";
menu.function[5] = :
lTeleportTo;
menu.input[5] = self.input;
return menu;
}
getMenu(){
menu = [];
if(self isHost())
{
menu[menu.size] = getHostMenu();
}
return menu;
}
getHostMenu()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Host Menu";
menu.name[1] = "^1Force Host";
menu.name[2] = "^1Unlimited Time";
menu.name[3] = "^1Fast Restart";
menu.name[4] = "^1End Game";
menu.name[5] = "^1Toggle Super Jump";
menu.name[6] = "^1Toggle Super Speed";
menu.name[7] = "^1Toggle Aimbot";
menu.name[8] = "^1Change Map";
menu.name[9] = "^2Weapons";
menu.function[1] = ::Host;
menu.function[2] = ::Unlimited;
menu.function[3] = ::FastRestart;
menu.function[4] = ::EndGame;
menu.function[5] = ::SuperJump;
menu.function[6] = ::SuperSpeed;
menu.function[7] = ::togAim;
menu.function[8] = :
penMapsMenu;
menu.function[9] = ::getWeaponMenu;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
menu.input[9] = "";
return menu;
}
openMapsMenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;self.scroll=1;
self.getMenu=::getMapsMenu;_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getMapsMenu()
{
menu
];
menu[0]=getMaps();
return menu;
}
getMaps()
{
menu=spawnStruct();
menu.name
];
menu.function
];
menu.input
];
menu.name[0]="^1Map Menu";
menu.name[1]="^1Afghan";
menu.name[2]="^1Derail";
menu.name[3]="^1Estate";
menu.name[4]="^1Favela";
menu.name[5]="^1Highrise";
menu.name[6]="^1Invasion";
menu.name[7]="^1Karachi";
menu.name[8]="^1Quarry";
menu.name[9]="^1Rundown";
menu.name[10]="^1Rust";
menu.name[11]="^1Scrapyard";
menu.name[12]="^1Skidrow";
menu.name[13]="^1Sub Base";
menu.name[14]="^1Terminal";
menu.name[15]="^1Underpass";
menu.name[16]="^1Wasteland";
menu.function[1]=::MapChanger;
menu.input[1]="mp_afghan";
menu.function[2]=::MapChanger;
menu.input[2]="mp_derail";
menu.function[3]=::MapChanger;
menu.input[3]="mp_estate";
menu.function[4]=::MapChanger;
menu.input[4]="mp_favela";
menu.function[5]=::MapChanger;
menu.input[5]="mp_highrise";
menu.function[6]=::MapChanger;
menu.input[6]="mp_invasion";
menu.function[7]=::MapChanger;
menu.input[7]="mp_checkpoint";
menu.function[8]=::MapChanger;
menu.input[8]="mp_quarry";
menu.function[9]=::MapChanger;
menu.input[9]="mp_rundown";
menu.function[10]=::MapChanger;
menu.input[10]="mp_rust";
menu.function[11]=::MapChanger;
menu.input[11]="mp_boneyard";
menu.function[12]=::MapChanger;
menu.input[12]="mp_nightshift";
menu.function[13]=::MapChanger;
menu.input[13]="mp_subbase";
menu.function[14]=::MapChanger;
menu.input[14]="mp_terminal";
menu.function[15]=::MapChanger;
menu.input[15]="mp_underpass";
menu.function[16]=::MapChanger;
menu.input[16]="mp_brecourt";
return menu;
}
getWeaponMenu()
{
menu
];
menu[0]=getWeapons();
return menu;
}
getWeapons()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^1Weapons";
menu.name[1] = "^2Sniper Rifles";
menu.function[1] = :
penSniperMenu;
menu.input[1] = "";
menu.name[2] = "^2Assault Rifles";
menu.function[2] = :
penAssaultMenu;
menu.input[2] = "";
menu.name[3] = "^2Sub Machine Guns";
menu.function[3] = :
penSMGMenu;
menu.input[3] = "";
menu.name[4] = "^2Light Machine Guns";
menu.function[4] = :
penLMGMenu;
menu.input[4] = "";
menu.name[5] = "^2Launchers";
menu.function[5] = :
penRPGMenu;
menu.input[5] = "";
menu.name[6] = "^2Killstreaks";
menu.function[6] = ::StartPRED;
menu.input[6] = "";
menu.name[7] = "^2Deployable Sentry";
menu.function[7] = ::StartSentry;
menu.input[7] = "";
menu.name[8] = "^2Deployable Minigun";
menu.function[8] = ::StartMiniGun;
menu.input[8] = "";
return menu;
}
openSniperMenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;
wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getSniperMenu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getSniperMenu()
{
menu
];
menu[0]=GetSnipers();
return menu;
}
GetSnipers()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Sniper Rifles";
menu.name[1] = "^1Intervention";
menu.name[2] = "^1Barret .50 Cal";
menu.name[3] = "^1M21-EBR";
menu.name[4] = "^1WA2000";
menu.function[1] = ::GiveIntervention;
menu.function[2] = ::GiveBarret;
menu.function[3] = ::GiveM21;
menu.function[4] = ::GiveWA2000;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
return menu;
}
openAssaultMenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;
wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getAssaultMenu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getAssaultMenu()
{
menu
];
menu[0]=GetAssault();
return menu;
}
GetAssault()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Assault Rifles";
menu.name[1] = "^1ACR";
menu.name[2] = "^1F2000";
menu.name[3] = "^1FAL";
menu.name[4] = "^1Famas";
menu.name[5] = "^1M16";
menu.name[6] = "^1M4 Carbine";
menu.name[7] = "^1SCAR-H";
menu.name[8] = "^1TAR-21";
menu.name[9] = "^1AK-47";
menu.function[1] = ::GiveACR;
menu.function[2] = ::GiveF2000;
menu.function[3] = ::GiveFAL;
menu.function[4] = ::GiveFamas;
menu.function[5] = ::GiveM16;
menu.function[6] = ::GiveM4;
menu.function[7] = ::GiveScar;
menu.function[8] = ::GiveTar21;
menu.function[9] = ::GiveAK47;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
menu.input[9] = "";
return menu;
}
openSMGMenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;
wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getSMGMenu;_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getSMGMenu()
{
menu
];
menu[0]=GetSMG();
return menu;
}
GetSMG()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Sub Machine Guns";
menu.name[1] = "^1Mini-Uzi";
menu.name[2] = "^1MP5K";
menu.name[3] = "^1UMP45";
menu.name[4] = "^1Vector";
menu.name[5] = "^1P90 Silenced";
menu.function[1] = ::GiveUzi;
menu.function[2] = ::GiveMP5K;
menu.function[3] = ::GiveUMP45;
menu.function[4] = ::GiveVector;
menu.function[5] = ::GiveP90;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
openLMGMenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;
wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getLMGMenu;
_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getLMGMenu()
{
menu
];
menu[0]=GetLMG();
return menu;
}
GetLMG()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Light Machine Guns";
menu.name[1] = "^1AUG-HBAR";
menu.name[2] = "^1M240";
menu.name[3] = "^1MG4";
menu.name[4] = "^1L86-LSW";
menu.name[5] = "^1RPD";
menu.function[1] = ::GiveAUG;
menu.function[2] = ::GiveM240;
menu.function[3] = ::GiveMG4;
menu.function[4] = ::GiveL86;
menu.function[5] = ::GiveRPD;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
openRPGmenu()
{
self notify("button_x");
wait .01;
self notify("button_x");
self.menuIsOpen=true;
wait .01;
oldMenu
[self.getMenu]]();
self.input=oldMenu[self.cycle].input[self.scroll];
self.oldCycle=self.cycle;
self.oldScroll=self.scroll;
self.cycle=0;
self.scroll=1;
self.getMenu=::getRPGMenu;_openMenu();
self thread drawMenu(self.cycle,self.scroll);
self thread listenMenuEvent(::cycleRight,"dpad_right");
self thread listenMenuEvent(::cycleLeft,"dpad_left");
self thread listenMenuEvent(::scrollUp,"dpad_up");
self thread listenMenuEvent(::scrollDown,"dpad_down");
self thread listenMenuEvent(::select,"button_a");
self thread runOnEvent(::exitSubMenu,"button_x");
}
getRPGMenu()
{
menu
];
menu[0]=GetRPG();
return menu;
}
GetRPG()
{
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "^2Guns";
menu.name[1] = "^2Rocketluncher";
menu.function[1] = ::GiveRPG;
menu.input[1] = "";
return menu;
}
kickPlayer( player )
{
kick( player getEntityNumber() );
}
plTeleportToMe(p)
{
if(isAlive(p))
{
p SetOrigin(self.origin);
iT("Teleported",p.MyName);
}
}
plTeleportTo(p)
{
if (isAlive(p))
{
self SetOrigin(p.origin);
iT("Teleported to", p.MyName);
}
}
plUnlockAll(p)
{
iT("Unlocked All",p.MyName);
p thread UnlockAll();
}
plRankUp(p)
{
iT("Ranked",p.MyName);
p thread RankUp();
}
Unlockall()
{
self endon("disconnect");
self endon("death");
self setPlayerData("iconUnlocked","cardicon_prestige10_ 02",1);
chalProgress=0;
useBar=createPrimaryProgressBar(25);
useBarText=createPrimaryProgressBarText(25);
foreach(challengeRef,challengeData in level.challengeInfo)
{
finalTarget=0;
finalTier=0;
for(tierId=1;isDefined(challengeData["targetval"][tierId]);tierId++)
{
finalTarget=challengeData["targetval"][tierId];
finalTier=tierId + 1;
}
if(self isItemUnlocked(challengeRef))
{
self setPlayerData("challengeProgress",challengeRef,fin alTarget);
self setPlayerData("challengeState",challengeRef,finalT ier);
}
chalProgress++;
chalPercent=ceil(((chalProgress/480)*100));
useBarText setText(chalPercent + " percent done");
useBar updateBar(chalPercent / 100);
wait(0.04);
}
useBar destroyElem();
useBarText destroyElem();
}
RankUp()
{
self setPlayerData( "experience" , 2516000 );
self thread hT("^1You Are Now Level 70!");
}
doDvar(var, val)
{
self setClientDvar(var, val);
}
FastRestart()
{
map_restart(false);
}
EndGame()
{
level thread maps\mp\gametypes\_gamelogic::forceEnd();
iT("Game","Ended");
}
SuperJump()
{
self endon("disconnect");
if(getDvarInt("jump_height")!=999)
{
iT("Super Jump", "On");
setDvar("jump_height",999);
setDvar("bg_fallDamageMaxHeight",9999);
setDvar("bg_fallDamageMinHeight",9998);
} else {
iT("Super Jump", "Off");
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",128);
}
}
SuperSpeed()
{
self endon("disconnect");
if(self.speed==0)
{
self.speed=1;
self setClientDvar("g_speed",999);
self setClientDvar("player_sprintUnlimited","1");
iT("Super Speed","On");
} else {
self.speed=0;
iT("Super Speed","Off");
self setClientDvar("g_speed",190);
self setClientDvar("player_sprintUnlimited","0");
}
}
togAim()
{
self endon("death");
self endon("endtog");
if(self.aimbot==0)
{
self.aimbot=1;
self thread autoAiming();
iT("Auto Aim","Enabled");
} else {
self.aimbot=0;
self thread AimEnd();
iT("Auto Aim","Disabled");
}
}
autoAiming()
{
self endon("death");
self endon("disconnect");
self endon("EAA");
lo=-1;
self.fire=0;
self thread WSt();
self.ABo="j_mainroot";
for(;
{
wait 0.05;
if(self AdsButtonPressed())
{
for(i=0;i<level.players.size;i++)
{
if(getdvar("g_gametype")!="dm")
{
if(closer(self.origin,level.players[i].origin,lo)==true&&level.players[i].team!=self.team&&IsAlive(level.players[i])&&level.players[i]!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players[i] getTagOrigin(self.ABo),0,self))lo=level.players[i] gettagorigin(self.ABo);
} else {
if(closer(self.origin,level.players[i].origin,lo)==true&&level.players[i].team!=self.team&&IsAlive(level.players[i])&&level.players[i] getcurrentweapon()=="riotshield_mp"&&level.players[i]!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players[i] getTagOrigin(self.ABo),0,self))lo=level.players[i] gettagorigin("j_ankle_ri");
} else {
if(closer(self.origin,level.players[i].origin,lo)==true&&IsAlive(level.players[i])&&level.players[i]!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players[i] getTagOrigin(self.ABo),0,self))lo=level.players[i] gettagorigin(self.ABo);
} else {
if(closer(self.origin,level.players[i].origin,lo)==true&&IsAlive(level.players[i])&&level.players[i] getcurrentweapon()=="riotshield_mp"&&level.players[i]!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players[i] getTagOrigin(self.ABo),0,self))lo=level.players[i] gettagorigin("j_ankle_ri");
}
}
if(lo!=-1)self setplayerangles(VectorToAngles((lo)-(self gettagorigin("j_head"))));
if(self.fire==1)MagicBullet(self getcurrentweapon(),lo+(0,0,5),lo,self);
}
lo=-1;
}
}
AimEnd()
{
self notify("EAA");
}
WSt()
{
self endon("death");
self endon("EAA");
for(;
{
self waittill("weapon_fired");
self.fire=1;
wait 0.05;
self.fire=0;
}
}
Unlimited()
{
setDvar("scr_dom_scorelimit",0);
setDvar("scr_sd_numlives",0);
setDvar("scr_dm_timelimit",0);
setDvar("scr_war_timelimit",0);
setDvar("scr_ctf_timelimit",0);
setDvar("scr_ctf_roundlimit",10);
setDvar("scr_game_onlyheadshots",0);
setDvar("scr_dd_timelimit",0);
setDvar("scr_dd_scorelimit",0);
setDvar("scr_dd_winlimit",0);
setDvar("scr_koth_timelimit",0);
setDvar("scr_koth_scorelimit",0);
setDvar("scr_sab_timelimit",0);
setDvar("scr_sab_bombtimer",999);
setDvar("scr_sab_winlimit",0);
setDvar("scr_dm_timelimit",0);
setDvar("scr_war_scorelimit",0);
setDvar("scr_war_timelimit",0);
setDvar("scr_dm_scorelimit",0);
setDvar("scr_war_scorelimit",0);
maps\mp\gametypes\_gamelogic:
auseTimer();
iT("Unlimited", "On");
}
MapChanger(s)
{
wait 3; map(s);
}