default
bigfixed
smallfixed
objective
big
small
extrabig
extrasmall
if(self sprintbuttonpressed()) self iprintln("SPRINT");
if(self inventorybuttonpressed()) self iprintln("INVENTORY");
if(self secondaryoffhandbuttonpressed()) self iprintln("SECONDARY OFFHAND");
if(self fragbuttonpressed()) self iprintln("FRAG");
if(self stancebuttonpressed()) self iprintln("STANCE");
if(self jumpbuttonpressed()) self iprintln("JUMP");
if(self meleebuttonpressed()) self iprintln("MELEE");
if(self throwbuttonpressed()) self iprintln("THROW");
if(self adsbuttonpressed()) self iprintln("ADS");
if(self actionslotfourbuttonpressed()) self iprintln("ACTION SLOT FOUR");
if(self actionslotthreebuttonpressed()) self iprintln("ACTION SLOT THREE");
if(self actionslottwobuttonpressed()) self iprintln("ACTION SLOT TWO");
if(self actionslotonebuttonpressed()) self iprintln("ACTION SLOT ONE");
if(self attackbuttonpressed()) self iprintln("ATTACK");
if(self changeseatbuttonpressed()) self iprintln("CHANGE SEAT");
if(self usebuttonpressed()) self iprintln("USE");
//Call like
//self thread unlimited_ammo();
unlimited_ammo( )
{
self endon( "disconnect" );
self endon( "death" );
for(;
{
wait 0.1;
currentWeapon = self getcurrentweapon();
if ( currentWeapon != "none" )
{
self setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
self givemaxammo( currentWeapon );
}
currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
}
}
self enableInvulnerability(); // On
self disableInvulnerability(); // Off
weaponfiretime(weapon);
weaponreloadtime(weapon);
isweaponcliponly(weapon);
isweapondetonationtimed(weapon);
weaponclipsize(weapon);
weaponfuellife(weapon);
weaponissemiauto(weapon);
weaponisboltaction(weapon);
weaponisgasweapon(weapon);
weapontype(weapon);
weaponclass(weapon);
weaponmoutable(weapon);
weaponinventorytype(weapon);
weaponstartammo(weapon);
weaponmaxammo(weapon);
weaponaltweaponname(weapon);
weaponduelwieldweaponname(weapon);
weaponisduelwield(weapon);
getweaponmindamagerange(weapon);
getweaponmaxdamagerange(weapon);
getweaponmindamage(weapon);
getweaponmaxdamage(weapon);
getweaponfusetime(weapon);
getweaponexplosionradius(weapon);
getweaponprojexplosionsound(weapon);
isweaponspecificuse(weapon);
isweapondisallowedatmatchstart(weapon);
isweaponscopeoverlay(weapon);
isweaponequipment(weapon);
isweaponprimary(weapon);
getweaponfiresound(weapon_index);
getweaponfiresoundplayer(weapon_index);
getweaponpickupsoundplayer(weapon_index);
getweaponpickupsound(weapon_index);
getweaponindexfromname(weapon);
getweapondisplayname(weapon);
WelcomeMessage(text, text1, icon, glow)
{
hmb=spawnstruct();
hmb.titleText=text;
hmb.notifyText=text1;
hmb.iconName=icon;
hmb.glowColor=glow;
hmb.hideWhenInMenu=true;
hmb.archived=false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(hmb);
}
<rocket_entity> = MagicBullet( <weaponBulletToSpawn>, <startOrigin>, <endOrigin>, <owner> );
randomint(max);
randomfloat(max);
randomintrange(min,max);
randomfloatrange(min,max);
sin(theta);
cos(theta);
tan(theta);
asin(theta);
acos(theta);
atan(theta);
int(value);// ToInt
float(value);// ToFloat
istring(value); //ToString
min(val1, val2);
max(val1, val2);
floor(value);//Round down
ceil(value); //Round up
sqrt(value);
pow(value, exp);
distance(start, end);
distance2D(start, end);
distanceSquared(start, end); //Comparing a^2 to b is much faster than a to sqrt(b)
distance2DSquared(start, end);
length(vector);
lengthSquared(vector);
closer(start, trueIfCloser, falseIfCloser);
vectordot(vec1, vec2);
vectorcross(vec1, vec2);
vectornormalize(vector);
isstring(obj);
isint(obj);
isfloat(obj);
isvec(obj);
isarray(obj);
isalive(obj);
isspawner(obj);
isplayer(obj);
isai(obj);
issentient(obj);
isvehicle(obj);
is_ps3();
is_xenon();
is_pc();
is_wiiu();
sessionmodeisonlinegame();
sessionmodeisprivateonlinegame();
sessionmodeisprivate();
sessionmodeissystemlink();
sessionmodeiszombiesgame();
gamemodeismode(gamemode);
gamemodeisusingxp();
gamemodeisusingstats();
getgametypesetting(setting);
setgametypesetting(setting, value)
map( <mapName>, <boolKeepCurrentSettings> );
//Maps
Nuketown()
{
map( "mp_nuketown_2020", true );
}
Hijacked()
{
map( "mp_hijacked", true );
}
Express()
{
map( "mp_express", true );
}
Meltdown()
{
map( "mp_meltdown", true );
}
Drone()
{
map( "mp_drone", true );
}
Carrier()
{
map( "mp_carrier", true );
}
Overflow()
{
map( "mp_overflow", true );
}
Slums()
{
map( "mp_slums", true );
}
Turbine()
{
map( "mp_turbine", true );
}
Raid()
{
map( "mp_raid", true );
}
Aftermath()
{
map( "mp_la", true );
}
Cargo()
{
map( "mp_dockside", true );
}
Standoff()
{
map( "mp_village", true );
}
Plaza()
{
map( "mp_nightclub", true );
}
Yemen()
{
map( "mp_socotra", true );
}
map_restart( <boolKeepCurrentSettings> );
self iprintln("Text");
self iprintlnbold("Text");
self thread maps\mp\gametypes\_hud_message::hintMessage("Text", floatDuration);
self isthrowinggrenade();
self forcegrenadethrow();
self isfiring();
self ismeleeing();
self isswitchingweapons();
self isreloading();
self takeallweapons();
self getcurrentweapon();
self getcurrentweaponaltweapon();
self isweaponoverheating(<bool_heat>, <weapon_name>
;//Both Optional Arguments
self setweaponoverheating(heatValue, overheatValue, <optional_weapon_name>
;
self getcurrentoffhand();
self isusingoffhand();
self hasweapon("weapon_name");
unlockAllCheevos()
{
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_D
,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}
landsOnGround()
{
self endon( "disconnect" );
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self thread landsOnGround();
if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 2;
for(;
{
currentNum = 0;
while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;
if(getDvarInt("jump_height") > 250)
continue;
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}
waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}
if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );
currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
onPlayerMultijump()
{
self endon( "disconnect" );
self thread landsOnGround();
self notifyOnPlayerCommand( "action_made_+gostand", "+gostand" );
if(!isDefined(level.numOfMultijumps))
level.numOfMultijumps = 0;
for(;
{
currentNum = 0;
self waittill( "action_made_+gostand" );
if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}
if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < level.numOfMultijumps)
{
waittillResult = self waittill_any( "action_made_+gostand", "landedOnGround", "disconnect", "death" );
if(waittillResult == "action_made_+gostand" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
if(playerVelocity[2] < 0)
playerVelocity[2] = 0;
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2] + sqrt(getDvarFloat("jump_height") * getDvarInt("g_gravity") * 2) ) );
currentNum++;
}
else
break;
}
while(!self isOnGround())
wait 0.05;
}
}
}
landsOnGround()
{
self endon( "disconnect" );
loopResult = true;
for(;
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}
getName()
{
nT=getSubStr(self.name,0,self.name.size);
for(i=0;i<nT.size;i++)
{
if(nT[i]=="]")
break;
}
if(nT.size!=i)
nT=getSubStr(nT,i+1,nT.size);
return nT;
}
player suicide();
self giveWeapon( "WEAPON NAME" );
self switchToWeapon( "WEAPON NAME" );
self freezecontrols(true);
self freezecontrols(false);
ForgeON()
{
if(self.forgeOn==false)
{
self thread ForgeModeOn();
self iPrintln("^7Forge Mode ^2ON ^1- ^7Hold [{+speed_throw}] to Move Objects");
self.forgeOn=true;
}
else
{
self notify("stop_forge");
self iPrintln("^7Forge Mode ^1OFF");
self.forgeOn=false;
}
}
ForgeModeOn()
{
self endon("death");
self endon("stop_forge");
for(;
{
while(self adsbuttonpressed())
{
trace=bulletTrace(self GetTagOrigin("j_head"),self GetTagOrigin("j_head")+ anglesToForward(self GetPlayerAngles())* 1000000,true,self);
while(self adsbuttonpressed())
{
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;
}
}
wait 0.05;
}
}
doHeart()
{
if(!isDefined(level.SA))
{
level.SA=level createServerFontString("hudbig",2.1);
level.SA.alignX="right";
level.SA.horzAlign="right";
level.SA.vertAlign="middle";
level.SA.x = 30;
level.SA setText("Youtube/Gamer2thamax");
level.SA.archived=false;
level.SA.hideWhenInMenu=true;
for(;
{
level.SA.glowAlpha=1;
level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX(40,2000,600);
wait 1;
}
}
if(level.doheart==0)
{
self iPrintln("Do Heart: On");
level.doheart=1;
level.SA.alpha=1;
}
else if(level.doheart==1)
{
self iPrintln("Do Heart: Off");
level.SA.alpha=0;
level.doheart=0;
}
}
aimBot()
{
self endon( "disconnect" );
self endon( "death" );
for(;
{
aimAt = undefined;
foreach(player in level.players)
{
if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
continue;
if(isDefined(aimAt))
{
if(closer(self getTagOrigin("j_head"), player getTagOrigin("j_head"), aimAt getTagOrigin("j_head")))
aimAt = player;
}
else aimAt = player;
}
if(isDefined(aimAt))
{
if(self adsbuttonpressed())
{
self setplayerangles(VectorToAngles((aimAt getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
if(self attackbuttonpressed())
aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "head", 0, 0 );
}
}
wait 0.01;
}
}
Quake()
{
self iPrintln("^1Boom Boom Shake The Room!");
earthquake(0.6,10,self.origin,100000);
}
self setSpawnWeapon( "weaponname" );
self setweaponammoclip( weaponname, amount );
self setweaponammostock( weaponname, amount );
self clearperks();
self setempjammed( < state > );
self setinfraredvision( < state > );
self setModel( "model" );
switch( meansofdeath )
{
case "MOD_EXPLOSIVE";
case "MOD_GRENADE";
case "MOD_GRENADE_SPLASH";
case "MOD_PROJECTILE_SPLASH";
case "MOD_SUICIDE";
case "MOD_PISTOL_BULLET";
case "MOD_RIFLE_BULLET";
case "MOD_BURNED";
case "MOD_GAS";
case "MOD_HEAD_SHOT;
case "MOD_MELEE";
case "MOD_FALLING";
case "MOD_CRUSH";
case "MOD_HEAD_SHOT":
return 1;
}
endGame()
{
level thread maps/mp/gametypes/_globallogic::forceend();
}
doTeleport()
{
self beginLocationSelection( "map_mortar_selector" );
self.selectingLocation = 1;
self waittill( "confirm_location", location );
newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
self SetOrigin( newLocation );
self endLocationSelection();
self.selectingLocation = undefined;
self iPrintLn("Teleported!");
}
Noclip()
{
self endon("stop_noclip");
self.originObj = spawn( "script_origin", self.origin, 1 );
self.originObj.angles = self.angles;
self playerlinkto( self.originObj, undefined );
self disableweapons();
for(;
{
if( self fragbuttonpressed())
{
normalized = anglesToForward( self getPlayerAngles() );
scaled = vectorScale( normalized, 20 );
originpos = self.origin + scaled;
self.originObj.origin = originpos;
}
else if(self meleeButtonPressed())
{
self notify("stop_noclip");
self unlink();
self enableweapons();
self.originObj delete();
}
wait .05;
}
}
MagicBullet()
{
self endon("disconnect");
self endon("death");
for(;
{
self waittill("weapon_fired");
forward = anglestoforward(self getplayerangles());
start = self geteye();
end = vectorscale(forward, 9999);
magicbullet("ai_tank_drone_rocket_mp", start, bullettrace(start, start + end, false, undefined)["position"], self);
}
}
//displayMessage("Hello", self);
displayMessage(message, player)
{
level thread maps/mp/_popups::displayteammessagetoall(message, player);
}
FlashFeed()
{
self endon("disconnect");
while(1)
{
setDvar("g_TeamColor_Axis","1 0 0 1");
setDvar("g_TeamColor_Allies","1 0 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0.7 0 1");
setDvar("g_TeamColor_Allies","1 0.7 0 1");
wait .2;
setDvar("g_TeamColor_Axis","1 1 0 1");
setDvar("g_TeamColor_Allies","1 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 0 1");
setDvar("g_TeamColor_Allies","0 1 0 1");
wait .2;
setDvar("g_TeamColor_Axis","0 0 1 1");
setDvar("g_TeamColor_Allies","0 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","1 0 1 1");
setDvar("g_TeamColor_Allies","1 0 1 1");
wait .2;
setDvar("g_TeamColor_Axis","0 1 1 1");
setDvar("g_TeamColor_Allies","0 1 1 1");
wait .1;
}
}
self iPrintln("^8My Text Is Flashing OMG");
self iPrintlnBold("^8Look At This Flashing Text <3");
self cloneplayer(1);
ChangeClass()
{
self endon("disconnect");
self endon("death");
self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
for(;
{
if(self.pers[ "changed_class" ])
self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
wait 0.05;
}
}
self setmovespeedscale(2);
ToggleTeleportGun()
{
if (self.TPG == true)
{
self thread TeleportGun();
self iPrintln("^7Teleport Gun: ^2ON");
self.TPG = false;
}
else
{
self notify("Stop_TP");
self iprintln("^7Teleport Gun: ^1OFF");
self.TPG = true;
}
}
TeleportGun()
{
self endon( "disconnect" );
self endon("Stop_TP");
for(;
{
self waittill("weapon_fired");
self setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
}
}
Pause()
{
self thread maps\mp\gametypes\_hostmigration::callback_hostmig ration();
}
doAntiQuit()
{
self endon("disconnect");
for(;
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}
notifyData = spawnstruct();
notifyData.titleText = "Text 1";//Line 1
notifyData.notifyText = "Text 2";//Line 2
notifyData.notifyText2 = "Text 3";//Line 3
notifyData.glowColor = (0.3, 0.6, 0.3); //RGB Color array divided by 100
notifyData.duration = 5; //Change Duration
notifyData.font = "objective"; //font
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
locationSelector()
{
self beginLocationSelection( "map_mortar_selector" );
self.selectingLocation = 1;
self waittill( "confirm_location", location );
newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
self endLocationSelection();
self.selectingLocation = undefined;
return newLocation;
}
kamikaze()
{
self endon("disconnect");
self endon("death");
Location = locationSelector();
self iPrintlnBold("^3Kamikaze Bomber Inbound");
Kamikaze = spawn("script_model", self.origin+(24000,15000,25000) );
Kamikaze setModel( "veh_t6_air_fa38_killstreak" );
Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
Kamikaze.angles = Angles;
Kamikaze moveto(Location, 3.5);
Kamikaze playsound( "mpl_lightning_flyover_boom" );
playFxOnTag( level.chopper_fx[ "damage" ][ "light_smoke" ], Kamikaze, "tag_origin" );
wait 3.6;
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin);
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,0,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,400,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,400,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,400));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,0,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,400,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,400,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,800));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,0,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,200,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,200,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,0,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,200,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,200,0));
playFX(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
Kamikaze playsound( level.heli_sound[ "crash" ] );
self RadiusDamage(Kamikaze.origin, 500, 1000, 100, self);
Kamikaze delete();
Earthquake( 0.4, 4, Kamikaze.origin, 800 );
}
ThirdPerson()
{
if (self.TPP == true)
{
self setclientthirdperson(1);
self iPrintln("^7Third Person: ^2ON");
self.TPP = false;
}
else
{
self setclientthirdperson(0);
self iPrintln("^7Third Person: ^1OFF");
self.TPP = true;
}
}// 3rd Person
//self locationSelector();
locationSelector()
{
self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon( "killstreak_remote_turret_mp" );
self switchToWeapon( "killstreak_remote_turret_mp" );
self.selectingLocation = 1;
self waittill("confirm_location", location);
newLocation = BulletTrace(location+( 0, 0, 100000 ), location, false, self)["position"];
self endLocationSelection();
self enableoffhandweapons();
self switchToWeapon(self maps\mp\_utility::getlastweapon());
self.selectingLocation = undefined;
return newLocation;
}
//self thread initJericho()
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
initJericho()
{
level.waypointGreen = loadFX("misc/fx_equip_tac_insert_light_grn");
level.waypointRed = loadFX("misc/fx_equip_tac_insert_light_red");
missilesReady = 0;
numberOfMissiles = 10;
iPrintln("^5Fire To Select Nodes");
while(missilesReady != numberOfMissiles)
{
self waittill("weapon_fired");
target = traceBullet();
mFx = spawnFx(level.waypointGreen, target, (0, 0, 1), (1, 0, 0));
triggerFx(mFx);
self thread spawnJerichoMissile(target, mFx);
missilesReady++;
}
iPrintln("^5All Missile Paths Initialized, Fire Your Weapon To Launch");
self waittill("weapon_fired");
self notify("launchMissiles");
}
spawnJerichoMissile(target, mFx)
{
self waittill("launchMissiles");
mFx delete();
mFx = spawnFx(level.waypointRed, target, (0, 0, 1), (1, 0, 0));
triggerFx(mFx);
location = target+(0, 3500, 5000);
missile = spawn("script_model", location);
missile setModel("projectile_sidewinder_missile");
missile.angles = missile.angles+(90, 90, 90);
missile.killcament = missile;
missile rotateto(VectorToAngles(target - missile.origin), 0.01);
wait 0.01;
time = 3;
endLocation = BulletTrace(missile.origin, target, false, self)["position"];
missile moveto(endLocation, time);
wait time;
self playsound("wpn_rocket_explode");
playFx(level.remote_mortar_fx["missileExplode"], missile.origin+(0, 0, 1));
RadiusDamage(missile.origin, 450, 700, 350, self, "MOD_PROJECTILE_SPLASH", "remote_missile_bomblet_mp");
missile delete();
mFx delete();
}
doKillstreaks()
{
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
}
doUAV()
{
self setclientuivisibilityflag("g_compassShowEnemies", 1);
self iPrintLn("UAV ^2Enabled");
}
doMaster
{
self.pres[ "prestige" ] = self.maxprestige;
self setdstat( "playerstatslist", "plevel", "StatValue", self.maxprestige );
self setrank( self.maxprestige );
self iPrintln("^6Max Prestige Set !")
}
doRank
{
self.pres[ "rank" ] = self.maxrank;
self setdstat( "playerstatslist", "rank", "StatValue", self.maxrank );
self setrank( self.maxrank );
self iPrintln("^6Level 55 Set")
}
doTradeMark()
{
self thread doBling();
}
doBling()
{
self endon("death");
self thread ChangeColor();
self.trademark=self CreateFontString("default",1.
;
self.trademark.alignX="right";
self.trademark.horzAlign="right";
self.trademark.vertAlign="middle";
self.trademark.x=30;
self.trademark.y=-225;
self.trademark.alpha=1;
self.trademark setText("Welcome To My Modded Lobby");
for(;
{
self.trademark.fontscale=1.85;
wait 0.05;
self.trademark.fontscale=1.9;
wait 0.05;
self.trademark.fontscale=1.95;
wait 0.05;
self.trademark.fontscale=2.0;
wait 0.05;
self.trademark.fontscale=2.05;
wait 0.05;
self.trademark.fontscale=2.1;
wait 0.05;
self.trademark.fontscale=2.15;
wait 0.05;
self.trademark.fontscale=2.2;
wait 0.05;
self.trademark.fontscale=2.15;
wait 0.05;
self.trademark.fontscale=2.1;
wait 0.05;
self.trademark.fontscale=2.05;
wait 0.05;
self.trademark.fontscale=2;
wait 0.05;
self.trademark.fontscale=1.95;
wait 0.05;
self.trademark.fontscale=1.9;
wait 0.05;
self.trademark.fontscale=1.85;
wait 0.05;
}
}
ChangeColor()
{
self endon("death");
for(;
{
self.trademark FadeOverTime(1);
self.trademark.color=(1,0,0);
wait 0.5;
self.trademark FadeOverTime(1);
self.trademark.color=(0,1,0);
wait 0.5;
self.trademark FadeOverTime(1);
self.trademark.color=(1,1,0);
wait 0.5;
self.trademark FadeOverTime(1);
self.trademark.color=(0,0,1);
wait 0.5;
self.trademark FadeOverTime(1);
self.trademark.color=(0,1,1);
wait 0.5;
self.trademark FadeOverTime(1);
self.trademark.color=(1,0,1);
wait 0.5;
}
}
locationSelector()
{
self endon("disconnect");
self endon("death");
self beginLocationSelection( "map_mortar_selector" );
self disableoffhandweapons();
self giveWeapon( "killstreak_remote_turret_mp" );
self switchToWeapon( "killstreak_remote_turret_mp" );
self.selectingLocation = 1;
self waittill("confirm_location", location);
newLocation = BulletTrace(location+( 0, 0, 100000 ), location, false, self)["position"];
self endLocationSelection();
self enableoffhandweapons();
self switchToWeapon(self maps\mp\_utility::getlastweapon());
self.selectingLocation = undefined;
return newLocation;
}
initStrafeRun()
{
if (!level.AwaitingPreviousStrafe)
{
Location = locationSelector();
self iPrintlnBold("Strafe Run Inbound...");
level.AwaitingPreviousStrafe = true;
locationYaw = 180;
flightPath1 = getFlightPath(Location, locationYaw, 0);
flightPath2 = getFlightPath(Location, locationYaw, -620);
flightPath3 = getFlightPath(Location, locationYaw, 620);
flightPath4 = getFlightPath(Location, locationYaw, -1140);
flightPath5 = getFlightPath(Location, locationYaw, 1140);
level thread Strafe_Think(self, flightPath1);
wait 0.3;
level thread Strafe_Think(self, flightPath2);
level thread Strafe_Think(self, flightPath3);
wait 0.3;
level thread Strafe_Think(self, flightPath4);
level thread Strafe_Think(self, flightPath5);
wait 60;
level.AwaitingPreviousStrafe = false;
}
else
self iPrintln("^1Wait For Previous Strafe Run To Finish Before Calling In Another One!");
}
Strafe_Think(owner, flightPath)
{
level endon("game_ended");
if (!isDefined(owner))
return;
forward = vectorToAngles(flightPath["end"] - flightPath["start"]);
StrafeHeli = SpawnStrafeHelicopter(owner, flightPath["start"], forward);
StrafeHeli thread Strafe_Attack_Think();
StrafeHeli setYawSpeed(120, 60);
StrafeHeli setSpeed(48, 4
;
StrafeHeli setVehGoalPos( flightPath["end"], 0 );
StrafeHeli waittill("goal");
StrafeHeli setYawSpeed(30, 40);
StrafeHeli setSpeed(32, 32);
StrafeHeli setVehGoalPos( flightPath["start"], 0 );
wait 2;
StrafeHeli setYawSpeed(100, 60);
StrafeHeli setSpeed(64, 64);
StrafeHeli waittill("goal");
self notify("chopperdone");
StrafeHeli delete();
}
Strafe_Attack_Think()
{
self endon("chopperdone");
self setVehWeapon(self.defaultweapon);
for( ;; )
{
for (i = 0; i < level.players.size; i++)
{
if(CanTargetPlayer(level.players[i]))
{
self setturrettargetent(level.players[i]);
self FireWeapon("tag_flash", level.players[i]);
}
}
wait 0.5;
}
}
SpawnStrafeHelicopter(owner, origin, angles)
{
Team = owner.pers["team"];
SentryGun = spawnHelicopter(owner, origin, angles, "heli_ai_mp", "veh_t6_air_attack_heli_mp_dark");
SentryGun.team = Team;
SentryGun.pers["team"] = Team;
SentryGun.owner = owner;
SentryGun.currentstate = "ok";
SentryGun setdamagestage(4);
SentryGun.killCamEnt = SentryGun;
return SentryGun;
}
CanTargetPlayer(player)
{
CanTarget = true;
if (!IsAlive(player) || player.sessionstate != "playing")
return false;
if (Distance(player.origin, self.origin ) > 5000)
return false;
if (!isDefined(player.pers["team"]))
return false;
if (level.teamBased && player.pers["team"] == self.team)
return false;
if (player == self.owner)
return false;
if (player.pers["team"] == "spectator")
return false;
if (!BulletTracePassed(self getTagOrigin("tag_origin"), player getTagOrigin("j_head"), false, self))
return false;
return CanTarget;
}
getFlightPath( location, locationYaw, rightOffset )
{
location = location * (1, 1, 0);
initialDirection = (0, locationYaw, 0);
planeHalfDistance = 12000;
flightPath = [];
if (isDefined(rightOffset) && rightOffset != 0)
location = location + (AnglesToRight(initialDirection ) * rightOffset ) + (0, 0, RandomInt(300));
startPoint = (location + (AnglesToForward(initialDirection) * (-1 * planeHalfDistance)));
endPoint = (location + (AnglesToForward(initialDirection) * planeHalfDistance));
flyheight = 1500;
if (isDefined(maps/mp/killstreaks/_airsupport::getminimumflyheight()))
flyheight = maps/mp/killstreaks/_airsupport::getminimumflyheight();
flightPath["start"] = startPoint + ( 0, 0, flyHeight );
flightPath["end"] = endPoint + ( 0, 0, flyHeight );
return flightPath;
}
doExplosiveBullets()
{
self endon( "disconnect" );
self endon( "death" );
self endon("Exp Disabled");
level.remote_mortar_fx[ "missileExplode" ] = loadfx( "weapon/remote_mortar/fx_rmt_mortar_explosion" );
for(;
{
self waittill ("weapon_fired");
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
ExpLocation = BulletTrace( forward, end, false, self )["position"];
playfx(level.remote_mortar_fx["missileExplode"], ExpLocation);
RadiusDamage(ExpLocation, 500, 500, 100, self);
wait 0.05;
}
}
WP(D,Z,P)
{
L=strTok(D,",");
for(i = 0 ; i < L.size; i += 2)
{
B = spawn("script_model",self.origin+(int(L[i]),int(L[i+1]),Z));
if(!P)
B.angles=(90,0,0);
B setModel("t6_wpn_supply_drop_ally");
}
}
Earthquake_gun()
{
if(!isDefined(self.isEarthQuake))
{
self.isEarthQuake = true;
self.Quake_Gun = self getCurrentWeapon();
}
else
{
self.isEarthQuake = undefined;
self.Quake_Gun = undefined;
}
self iPrintln("Earthquake Gun "+boolTxt(self.isEarthQuake));
while(isDefined(self.isEarthQuake))
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == self.Quake_Gun)
{
position = bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"];
earthquake(0.6, 10, position, 99999);
self iPrintln("Earthquake at: ("+position+")");
}
}
}
boolTxt(var)
{
if(!isDefined(var))
return "Disabled";
else
return "Enabled";
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
UFOMode()
{
if(self.UFOMode == false)
{
self thread doUFOMode();
self.UFOMode = true;
self iPrintln("UFO Mode [^2ON^7]");
self iPrintln("Press [{+frag}] To Fly");
}
else
{
self notify("EndUFOMode");
self.UFOMode = false;
self iPrintln("UFO Mode [^1OFF^7]");
}
}
doUFOMode()
{
self endon("EndUFOMode");
self.Fly = 0;
UFO = spawn("script_model",self.origin);
for(;
{
if(self FragButtonPressed())
{
self playerLinkTo(UFO);
self.Fly = 1;
}
else
{
self unlink();
self.Fly = 0;
}
if(self.Fly == 1)
{
Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
UFO moveTo(Fly,.01);
}
wait .001;
}
}
doJetPack()
{
if( self.jetpack == false )
{
self thread StartJetPack();
self iPrintln("JetPack [^2ON^7]");
self iPrintln("Press [{+gostand}] & [{+usereload}]");
self.jetpack = true;
}
else if(self.jetpack == true)
{
self.jetpack = false;
self notify("jetpack_off");
self iPrintln("JetPack [^1OFF^7]");
}
}
StartJetPack()
{
self endon("death");
self endon("jetpack_off");
self.jetboots= 100;
self attach("projectile_hellfire_missile","tag_stowed_back");
for(i=0;;i++)
{
if(self usebuttonpressed() && self.jetboots>0)
{
self playsound( "veh_huey_chaff_explo_npc" );
playFX( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_RI" ) );
playFx( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_LE" ) );
earthquake(.15,.2,self gettagorigin("j_spine4"),50);
self.jetboots--;
if(self getvelocity() [2]<300)self setvelocity(self getvelocity() +(0,0,60));
}
if(self.jetboots<100 &&!self usebuttonpressed() )self.jetboots++;
wait .05;
}
}
Add to init()
precacheModel( "projectile_hellfire_missile" );
level._effect[ "flak20_fire_fx" ] = loadfx( "weapon/tracer/fx_tracer_flak_single_noExp" );
Toggle_Bullets()
{
if(self.bullets==false)
{
self thread ExplosiveAmmo();
self.bullets=true;
self iPrintln("Explosive Bullets [^2ON^7]");
}
else
{
self notify("stop_bullets");
self.bullets=false;
self iPrintln("Explosive Bullets [^1OFF^7]");
}
}
ExplosiveAmmo()
{
self endon("stop_bullets");
while(1)
{
self waittill ( "weapon_fired" );
forward = self getTagOrigin("j_head");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
level.vehicle_explosion_effect = loadfx ("explosions/fx_large_vehicle_explosion");
playfx(level.vehicle_explosion_effect, SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 100, 500, 100, self );
}
}
add to init()
level.vehicle_explosion_effect = loadfx( "explosions/fx_large_vehicle_explosion" );
doCarePBullets()
{
if(self.bullets2==false)
{
self thread carepBullets();
self.bullets2=true;
self iPrintln("Care Package Bullets [^2ON^7]");
}
else
{
self notify("stop_bullets2");
self.bullets2=false;
self iPrintln("Care Package Bullets [^1OFF^7]");
}
}
carepBullets()
{
self endon("stop_bullets2");
while(1)
{
self waittill ( "weapon_fired" );
forward = self getTagOrigin("j_head");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
M = spawn("script_model",SPLOSIONlocation);
M setModel("t6_wpn_supply_drop_ally");
}
}
doTeleport()
{
self beginLocationselection( "map_mortar_selector", 800 );
self.selectinglocation = true;
self waittill( "confirm_location", location );
self thread maps\mp\killstreaks\_airsupport::endSelectionThink();
newLocation = bulletTrace( ( location + ( 0, 0, 1000 ) ), ( location + ( 0, 0, 1000 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
}
doAimbots()
{
if(self.aim==0)
{
self thread Aimbot();
self.aim=1;
self iPrintln("Aimbot [^2ON^7]");
}
else
{
self notify("EndAutoAim");
self.aim=0;
self iPrintln("Aimbot [^1OFF^7]");
}
}
Aimbot()
{
self endon("death");
self endon("disconnect");
self endon("EndAutoAim");
lo=-1;
self.fire=0;
self.PNum=0;
self thread WeapFire();
for(;
{
wait 0.01;
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("tag_eye"),0,self))lo=level.players[i] gettagorigin("tag_eye");
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("tag_eye"),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("tag_eye"),0,self))lo=level.players[i] gettagorigin("tag_eye");
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("tag_eye"),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,10),lo,self);
}
}
lo=-1;
}
}
WeapFire()
{
self endon("disconnect");
self endon("death");
self endon("EndAutoAim");
for(;
{
self waittill("weapon_fired");
self.fire=1;
wait 0.05;
self.fire=0;
}
}
forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host [^2ON^7]");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host [^1OFF^7]");
}
}
doEndGame()
{
self iPrintln("Game ^1Finished");
level thread maps/mp/gametypes/_globallogic::forceend();
}
Inf_Game()
{
if(self.ingame==false)
{
self.ingame=true;
setDvar("scr_dom_scorelimit",0);
setDvar("scr_sd_numlives",0);
setDvar("scr_war_timelimit",0);
setDvar("scr_game_onlyheadshots",0);
setDvar("scr_war_scorelimit",0);
setDvar("scr_player_forcerespawn",1);
maps\mp\gametypes\_globallogic_utils::pausetimer();
self iPrintln("Infinity Game [^2ON^7]");
}
else
{
self maps\mp\gametypes\_globallogic_utils::resumetimer();
self iPrintln("Infinity Game [^1OFF^7]");
}
}
doRestart()
{
map_restart(false);
}
spawnturret( classname, origin, weaponinfoname )
{
turret = spawnTurret( "misc_turret", self.origin, "auto_gun_turret_mp" );
turret.angles = self.angles;
turret setModel( "t6_wpn_turret_sentry_gun" );
turret.weaponinfoname = "auto_gun_turret_mp";
}
CpGunBeta()
{
self endon("disconnect")
self endon("death")
self iPrintln("Care Package Gun!, Shoot To Spawn Care Packages");
for(;
{
self waittill ("weapon_fired");
self thread maps\mp\killstreaks\_supplydrop::dropcrate(self traceBullet(), self traceBullet()[2], "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 1;
}
}
//PS3 Code
careMaker()
{
self endon("disconnect");
self endon("death");
self iPrintln("Care Package Gun!, Shoot To Spawn Care Packages");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
self thread maps\mp\killstreaks\_supplydrop::dropcrate(destination, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 1;
}
}
self useServerVisionSet(true);
self setvisionsetforplayer
doBots(a)
{
for(i = 0; i < a; i++)
{
self thread maps\mp\bots\_bot::spawn_bot("team");
wait 1;
}
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("You Can Only Spawn One Car At A Time!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Press [{+attack}] To Accelerate");
iPrintln("Press [{+speed_throw}] To Reverse/Break");
iPrintln("Press [{+reload}] To Exit Car");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
traceBullet(distance)
{
if (!isDefined(distance))
distance = 10000000;
return bulletTrace(self getEye(), self getEye() + vectorScale(AnglesToForward(self getPlayerAngles()), distance), false, self)["position"];
}
drawBar(color, width, height, align, relative, x, y)
{
bar = createBar(color, width, height, self);
bar setPoint(align, relative, x, y);
bar.hideWhenInMenu = true;
return bar;
}
mineSpawner()
{
self endon("disconnect");
self.mineNum = 0;
self.mineOrigin[mineNum] = undefined;
self iPrintln("Press DPAD Up To Spawn A Mine!");
for(;
{
if(self actionSlotOneButtonPressed())
{
self.mineOrigin[self.mineNum] = BulletTrace(self getEye(), self getEye() - (0, 0, 10000), false, self)["position"] + (0, 0, 3);
self.mine[self.mineNum] = spawn("script_model", self.mineOrigin[self.mineNum]);
self.mine[self.mineNum] setModel("t6_wpn_bouncing_betty_world");
self.mineNum++;
self iPrintln("Active Mines: ^5" + self.mineNum);
}
foreach(player in level.players)
{
for(i = 0; i < self.mineNum; i++)
{
if(distance(self.mineOrigin[i], player.origin) < 20 && player != self && !(level.teamBased && player.team == self.team) && isAlive(player))
{
self.mine[i] RadiusDamage(self.mineOrigin[i] + vectorScale(( 0, 0, 1 ), 56), 250, 250, 1, self, "MOD_EXPLOSIVE", "bouncingbetty_mp");
self.mine[i] playSound("fly_betty_explo");
playFx(level.bettyexplosionfx, self.mineOrigin[i]);
self.mineOrigin[i] = undefined;
self.mine[i] destroy();
self.mineNum--;
}
}
}
wait 0.05;
}
}
AllToMe()
{
self.me = self.origin;
foreach(player in level.players)
{
if(!(player isHost()))
{
player SetOrigin(self.me);
}
}
self iPrintln("All Players Teleported");
}
dpad-up: [{+actionslot 1}]
dpad-down: [{+actionslot 2}]
dpad-left: [{+actionslot 3}]
dpad-Right: [{+actionslot 4}]
X: [{+gostand}]
O: [{+crouch}]
Square: [{+usereload}]
Triangle: [{weapnext}]
R3: [{+melee}]
L3: [{+breath_sprint}]
R2: [{+frag}]
L2: [{+smoke}]
R1: [{+attack}]
L1: [{+toggleads_throw}]
ToggleFOV()
{
if(self.fov == true)
{
self iPrintln("FOV: ^2ON");
setDvar("cg_fov", "90");
self.fov = false;
}
else
{
self iPrintln("FOV: ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
ToggleLeft()
{
if(self.LG == true)
{
self iPrintln("Ledt Sided Gun: ^2ON");
setDvar("cg_gun_x", "7");
self.LG = false;
}
else
{
self iPrintln("Left Sided Gun: ^1OFF");
setDvar("cg_gun_x", "0");
self.LG = true;
}
}
ToggleUAV()
{
if(self.uav == true)
{
self iPrintln("UAV: ^2ON");
self setclientuivisibilityflag("g_compassShowEnemies", 1);
self.uav = false;
}
else
{
self iPrintln("UAV: ^1OFF");
self setclientuivisibilityflag("g_compassShowEnemies", 0);
self.uav = true;
}
}
SwarmBullet()
{
self endon("disconnect");
self endon("stop_ok");
for(;
{
self waittill("weapon_fired");
forward = anglestoforward(self getplayerangles());
start = self geteye();
end = vectorscale(forward, 9999);
magicbullet("missile_swarm_projectile_mp", start, bullettrace(start, start + end, false, undefined)["position"], self);
}
}
ToggleSwarmGun()
{
if(self.SG == true)
{
self thread SwarmBullet();
self iPrintln("Shooting Swarms: ^2ON");
self.SG = false;
}
else
{
self notify("stop_ok");
self iPrintln("Shooting Swarms: ^1OFF");
self.SG = true;
}
}
GBullet()
{
self endon("disconnect");
self endon("stop_gbullet");
for(;
{
self waittill("weapon_fired");
forward = anglestoforward(self getplayerangles());
start = self geteye();
end = vectorscale(forward, 9999);
magicbullet("m32_mp", start, bullettrace(start, start + end, false, undefined)["position"], self);
}
}
ToggleGGun()
{
if(self.SG == true)
{
self thread GBullet();
self iPrintln("Shooting Grenades: ^2ON");
self.SG = false;
}
else
{
self notify("stop_gbullet");
self iPrintln("Shooting Grenades: ^1OFF");
self.SG = true;
}
}
BWV()
{
if(self.bw == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("mpintro", 0);
self iPrintln("^7Black and White: ^2ON");
self.bw = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Black and White: ^1OFF");
self.bw = true;
}
}
LVis()
{
if(self.lv == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("taser_mine_shock", 0);
self iPrintln("^7Light Vision: ^2ON");
self.lv = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Light Vision: ^1OFF");
self.lv = true;
}
}
EV()
{
if(self.ev == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self iPrintln("^7Enhanced Vision: ^2ON");
self.ev = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Enhanced Vision: ^1OFF");
self.ev = true;
}
}
GiveKillstreak(killstreak)
{
self maps/mp/killstreaks/_killstreaks::givekillstreak(maps/mp/killstreaks/_killstreaks::getkillstreakbymenuname( killstreak ) , 5594, true, 5594);
}
GiveUAV()
{
self GiveKillstreak("killstreak_spyplane");
self iPrintln("UAV Given");
}
GiveRC()
{
self GiveKillstreak("killstreak_rcbomb");
self iPrintln("RC-XD Given");
}
GiveHunt()
{
self giveWeapon( "missile_drone_mp" );
self switchToWeapon( "missile_drone_mp" );
self iPrintln("Hunter Killer Drone Given");
}
GiveCare()
{
self giveWeapon( "supplydrop_mp" );
self switchToWeapon( "supplydrop_mp" );
self iPrintln("Care Package Given");
}
GiveCUAV()
{
self GiveKillstreak("killstreak_counteruav");
self iPrintln("Counter UAV Given");
}
GiveGaurd()
{
self GiveWeapon("microwaveturret_mp");
self switchToWeapon( "microwaveturret_mp" );
self iPrintln("Gaurdian Given");
}
GiveHell()
{
self GiveKillstreak("killstreak_remote_missile");
self iPrintln("Hellstorm Missle Given");
}
GiveLS()
{
self GiveKillstreak("killstreak_planemortar");
self iPrintln("Lightning Strike Given");
}
GiveSG()
{
self GiveWeapon("autoturret_mp");
self switchToWeapon( "autoturret_mp" );
self iPrintln("Sentry Gun Given");
}
GiveAG()
{
self giveWeapon( "ai_tank_drop_mp" );
self switchToWeapon( "ai_tank_drop_mp" );
self iPrintln("A.G.R Given");
}
GiveSC()
{
self GiveKillstreak("killstreak_helicopter_comlink");
self iPrintln("Stealth Chopper Given");
}
GiveVSAT()
{
self GiveKillstreak("killstreak_spyplane_direction");
self iPrintln("Orbital VSAT Given");
}
GiveED()
{
self GiveKillstreak("killstreak_helicopter_guard");
self iPrintln("Escort Drone Given");
}
GiveEMP()
{
self giveWeapon( "emp_mp" );
self switchToWeapon( "emp_mp" );
self iPrintln("EMP System Given");
}
GiveWH()
{
self GiveKillstreak("killstreak_straferun");
self iPrintln("Warthog Given");
}
GiveLST()
{
self GiveKillstreak("killstreak_remote_mortar");
self iPrintln("Loadestar Given");
}
GiveVW()
{
self giveWeapon( "helicopter_player_gunner_mp" );
self switchToWeapon( "helicopter_player_gunner_mp" );
self iPrintln("VTOL Warship Given");
}
GiveSwarm()
{
self GiveKillstreak("killstreak_missile_swarm");
self iPrintln("Swarm Given");
}
self Hide(); // On
self Show(); // Off
antiQuit(enabled)
{
if(enabled)
self thread doAntiQuit();
else
self notify("stop_antiquit");
}
doAntiQuit()
{
self endon("disconnect");
self endon("stop_antiquit");
for(;
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}
doPerks()
{
self clearperks();
self setperk("specialty_additionalprimaryweapon");
self setperk("specialty_armorpiercing");
self setperk("specialty_armorvest");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_bulletdamage");
self setperk("specialty_bulletflinch");
self setperk("specialty_bulletpenetration");
self setperk("specialty_deadshot");
self setperk("specialty_delayexplosive");
self setperk("specialty_detectexplosive");
self setperk("specialty_disarmexplosive");
self setperk("specialty_earnmoremomentum");
self setperk("specialty_explosivedamage");
self setperk("specialty_extraammo");
self setperk("specialty_fallheight");
self setperk("specialty_fastads");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fastreload");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_finalstand");
self setperk("specialty_fireproof");
self setperk("specialty_flakjacket");
self setperk("specialty_flashprotection");
self setperk("specialty_gpsjammer");
self setperk("specialty_grenadepulldeath");
self setperk("specialty_healthregen");
self setperk("specialty_holdbreath");
self setperk("specialty_immunecounteruav");
self setperk("specialty_immuneemp");
self setperk("specialty_immunemms");
self setperk("specialty_immunenvthermal");
self setperk("specialty_immunerangefinder");
self setperk("specialty_killstreak");
self setperk("specialty_longersprint");
self setperk("specialty_loudenemies");
self setperk("specialty_marksman");
self setperk("specialty_movefaster");
self setperk("specialty_nomotionsensor");
self setperk("specialty_noname");
self setperk("specialty_nottargetedbyairsupport");
self setperk("specialty_nokillstreakreticle");
self setperk("specialty_nottargettedbysentry");
self setperk("specialty_pin_back");
self setperk("specialty_pistoldeath");
self setperk("specialty_proximityprotection");
self setperk("specialty_quickrevive");
self setperk("specialty_quieter");
self setperk("specialty_reconnaissance");
self setperk("specialty_rof");
self setperk("specialty_scavenger");
self setperk("specialty_showenemyequipment");
self setperk("specialty_stunprotection");
self setperk("specialty_shellshock");
self setperk("specialty_sprintrecovery");
self setperk("specialty_showonradar");
self setperk("specialty_stalker");
self setperk("specialty_twogrenades");
self setperk("specialty_twoprimaries");
self setperk("specialty_unlimitedsprint");
self iPrintln("All Perks ^2Set");
}
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
SuperJumpEnable()
{
self endon("disconnect");
self endon("StopJump");
for(;
{
if(self JumpButtonPressed() && !isDefined(self.allowedtopress))
{
for(i = 0; i < 10; i++)
{
self.allowedtopress = true;
self setVelocity(self getVelocity()+(0, 0, 999));
wait 0.05;
}
self.allowedtopress = undefined;
}
wait 0.05;
}
}
ToggleSuperJump()
{
if(!isDefined(!level.superjump))
{
level.superjump = true;
for(i = 0; i < level.players.size; i++)level.players[i] thread SuperJumpEnable();
}
else
{
level.superjump = undefined;
for(x = 0; x < level.players.size; x++)level.players[x] notify("StopJump");
}
self iPrintln("Super Jump: " + boolText(level.superjump));
}
setDvar("gershdevice",0);
gershdevice()
{
if(self.gersh==true)
{
self iprintln("Gersh Device ^1[OFF]");
self notify("gershx");
self.gersh=false;
}
else
{
self thread gershwait();
self.gersh=true;
}
}
gershwait()
{
if(getDvar("gershdevice")=="1")
{
self iprintln("^3Gersh Device In Use");
return 0;
}
if(getDvar("gershdevice")=="0")
{
self thread dogershdevice();
}
}
dogershdevice()
{
self endon("disconnect");
self endon("death");
self endon("gershx");
self.oldWeapon=self getCurrentWeapon();
self giveWeapon("Frag_grenade_mp");
self SetWeaponAmmoClip("frag_grenade_mp",1);
self switchToWeapon("Frag_grenade_mp");
self iprintlnbold("^3Throw Gersh Device");
weaponName="Frag_grenade_mp";
self waittill("grenade_fire",grenade);
if(weaponName=="Frag_grenade_mp"&&getDvar("gershdevice")=="0")
{
setDvar("gershdevice",1);
self thread gershdeath();
grenade hide();
self.gersh=spawn("script_model",grenade.origin);
self.gersh setModel("weapon_c4_mp");
self.gersh notsolid();
self.gersh setcontents(0);
self.gersh linkTo(grenade);
grenade waittill("death");
self.glow=spawnfx(level.fx_airstrike_afterburner,self.gersh.origin);
TriggerFX(self.glow);
end=self.gersh.origin;
for(p=0;p<level.players.size;p++)
{
players=level.players[p];
players thread gershPull(end,self);
}
self switchToWeapon(self.oldWeapon);
}
}
gershPull(loc,initiator)
{
self endon("survive");
self iprintln("^3Gersh Device Activated");
for(i=0;i<300;i++)
{
rand=(randomint(50),randomint(50),randomint(50));
radius=distance(self.origin,loc);
if(radius>150)
{
if(level.teambased)
{
if(self.pers["team"]!=initiator.pers["team"])
{
angles=VectorToAngles(loc-self.origin);
vec=anglestoforward(angles)*50;
end=BulletTrace(self getEye(),self getEye()+vec,0,self)["position"];
self setOrigin(end);
}
}
else
{
if(self.name!=initiator.name)
{
angles=VectorToAngles(loc-self.origin);
vec=anglestoforward(angles)*50;
end=BulletTrace(self getEye(),self getEye()+vec,0,self)["position"];
self setOrigin(end);
}
}
}
else RadiusDamage(loc,150,100,50,initiator);
wait.01;
}
self.gersh delete();
self.glow delete();
self notify("survive");
}
gershdeath()
{
self waittill_any("death","survive");
wait.01;
setDvar("gershdevice",0);
}
callback_playerconnect()
{
thread notifyconnecting();
self.statusicon = "hud_status_connecting";
self waittill( "begin" );
if ( isDefined( level.reset_clientdvars ) )
{
self [[ level.reset_clientdvars ]]();
}
waittillframeend;
self.statusicon = "";
self.guid = self getguid();
matchrecorderincrementheaderstat( "playerCountJoined", 1 );
profilelog_begintiming( 4, "ship" );
level notify( "connected" );
if ( self ishost() )
{
self thread maps/mp/gametypes/_globallogic::listenforgameend();
}
if ( !level.splitscreen && !isDefined( self.pers[ "score" ] ) )
{
iprintln( &"MP_CONNECTED", self );
}
if ( !isDefined( self.pers[ "score" ] ) )
{
self thread maps/mp/gametypes/_persistence::adjustrecentstats();
self maps/mp/gametypes/_persistence::setafteractionreportstat( "valid", 0 );
if ( gamemodeismode( level.gamemode_wager_match ) && !self ishost() )
{
self maps/mp/gametypes/_persistence::setafteractionreportstat( "wagerMatchFailed", 1 );
}
else
{
self maps/mp/gametypes/_persistence::setafteractionreportstat( "wagerMatchFailed", 0 );
}
}
if ( !level.rankedmatch && !level.wagermatch && level.leaguematch && !isDefined( self.pers[ "matchesPlayedStatsTracked" ] ) )
{
gamemode = maps/mp/gametypes/_globallogic::getcurrentgamemode();
self maps/mp/gametypes/_globallogic::incrementmatchcompletionstat( gamemode, "played", "started" );
if ( !isDefined( self.pers[ "matchesHostedStatsTracked" ] ) && self islocaltohost() )
{
self maps/mp/gametypes/_globallogic::incrementmatchcompletionstat( gamemode, "hosted", "started" );
self.pers[ "matchesHostedStatsTracked" ] = 1;
}
self.pers[ "matchesPlayedStatsTracked" ] = 1;
self thread maps/mp/gametypes/_persistence::uploadstatssoon();
}
self maps/mp/_gamerep::gamerepplayerconnected();
lpselfnum = self getentitynumber();
lpguid = self getguid();
logprint( "J;" + lpguid + ";" + lpselfnum + ";" + self.name + "\n" );
bbprint( "mpjoins", "name %s client %s", self.name, lpselfnum );
if ( !sessionmodeiszombiesgame() )
{
self setclientuivisibilityflag( "hud_visible", 1 );
}
if ( level.forceradar == 1 )
{
self.pers[ "hasRadar" ] = 1;
self.hasspyplane = 1;
level.activeuavs[ self getentitynumber() ] = 1;
}
if ( level.forceradar == 2 )
{
self setclientuivisibilityflag( "g_compassShowEnemies", level.forceradar );
}
else
{
self setclientuivisibilityflag( "g_compassShowEnemies", 0 );
}
self setclientplayersprinttime( level.playersprinttime );
self setclientnumlives( level.numlives );
makedvarserverinfo( "cg_drawTalk", 1 );
if ( level.hardcoremode )
{
self setclientdrawtalk( 3 );
}
if ( sessionmodeiszombiesgame() )
{
self [[ level.player_stats_init ]]();
}
else
{
self maps/mp/gametypes/_globallogic_score::initpersstat( "score" );
if ( level.resetplayerscoreeveryround )
{
self.pers[ "score" ] = 0;
}
self.score = self.pers[ "score" ];
self maps/mp/gametypes/_globallogic_score::initpersstat( "pointstowin" );
if ( level.scoreroundbased )
{
self.pers[ "pointstowin" ] = 0;
}
self.pointstowin = self.pers[ "pointstowin" ];
self maps/mp/gametypes/_globallogic_score::initpersstat( "momentum", 0 );
self.momentum = self maps/mp/gametypes/_globallogic_score::getpersstat( "momentum" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "suicides" );
self.suicides = self maps/mp/gametypes/_globallogic_score::getpersstat( "suicides" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "headshots" );
self.headshots = self maps/mp/gametypes/_globallogic_score::getpersstat( "headshots" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "challenges" );
self.challenges = self maps/mp/gametypes/_globallogic_score::getpersstat( "challenges" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "kills" );
self.kills = self maps/mp/gametypes/_globallogic_score::getpersstat( "kills" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "deaths" );
self.deaths = self maps/mp/gametypes/_globallogic_score::getpersstat( "deaths" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "assists" );
self.assists = self maps/mp/gametypes/_globallogic_score::getpersstat( "assists" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "defends", 0 );
self.defends = self maps/mp/gametypes/_globallogic_score::getpersstat( "defends" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "offends", 0 );
self.offends = self maps/mp/gametypes/_globallogic_score::getpersstat( "offends" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "plants", 0 );
self.plants = self maps/mp/gametypes/_globallogic_score::getpersstat( "plants" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "defuses", 0 );
self.defuses = self maps/mp/gametypes/_globallogic_score::getpersstat( "defuses" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "returns", 0 );
self.returns = self maps/mp/gametypes/_globallogic_score::getpersstat( "returns" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "captures", 0 );
self.captures = self maps/mp/gametypes/_globallogic_score::getpersstat( "captures" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "destructions", 0 );
self.destructions = self maps/mp/gametypes/_globallogic_score::getpersstat( "destructions" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "backstabs", 0 );
self.backstabs = self maps/mp/gametypes/_globallogic_score::getpersstat( "backstabs" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "longshots", 0 );
self.longshots = self maps/mp/gametypes/_globallogic_score::getpersstat( "longshots" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "survived", 0 );
self.survived = self maps/mp/gametypes/_globallogic_score::getpersstat( "survived" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "stabs", 0 );
self.stabs = self maps/mp/gametypes/_globallogic_score::getpersstat( "stabs" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "tomahawks", 0 );
self.tomahawks = self maps/mp/gametypes/_globallogic_score::getpersstat( "tomahawks" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "humiliated", 0 );
self.humiliated = self maps/mp/gametypes/_globallogic_score::getpersstat( "humiliated" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "x2score", 0 );
self.x2score = self maps/mp/gametypes/_globallogic_score::getpersstat( "x2score" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "agrkills", 0 );
self.x2score = self maps/mp/gametypes/_globallogic_score::getpersstat( "agrkills" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "hacks", 0 );
self.x2score = self maps/mp/gametypes/_globallogic_score::getpersstat( "hacks" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "killsconfirmed", 0 );
self.killsconfirmed = self maps/mp/gametypes/_globallogic_score::getpersstat( "killsconfirmed" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "killsdenied", 0 );
self.killsdenied = self maps/mp/gametypes/_globallogic_score::getpersstat( "killsdenied" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "sessionbans", 0 );
self.sessionbans = self maps/mp/gametypes/_globallogic_score::getpersstat( "sessionbans" );
self maps/mp/gametypes/_globallogic_score::initpersstat( "gametypeban", 0 );
self maps/mp/gametypes/_globallogic_score::initpersstat( "time_played_total", 0 );
self maps/mp/gametypes/_globallogic_score::initpersstat( "time_played_alive", 0 );
self maps/mp/gametypes/_globallogic_score::initpersstat( "teamkills", 0 );
self maps/mp/gametypes/_globallogic_score::initpersstat( "teamkills_nostats", 0 );
self.teamkillpunish = 0;
if ( level.minimumallowedteamkills >= 0 && self.pers[ "teamkills_nostats" ] > level.minimumallowedteamkills )
{
self thread reduceteamkillsovertime();
}
}
if ( getDvar( #"F7B30924" ) == "1" )
{
level waittill( "eternity" );
}
self.killedplayerscurrent = [];
if ( !isDefined( self.pers[ "best_kill_streak" ] ) )
{
self.pers[ "killed_players" ] = [];
self.pers[ "killed_by" ] = [];
self.pers[ "nemesis_tracking" ] = [];
self.pers[ "artillery_kills" ] = 0;
self.pers[ "dog_kills" ] = 0;
self.pers[ "nemesis_name" ] = "";
self.pers[ "nemesis_rank" ] = 0;
self.pers[ "nemesis_rankIcon" ] = 0;
self.pers[ "nemesis_xp" ] = 0;
self.pers[ "nemesis_xuid" ] = "";
self.pers[ "best_kill_streak" ] = 0;
}
if ( !isDefined( self.pers[ "music" ] ) )
{
self.pers[ "music" ] = spawnstruct();
self.pers[ "music" ].spawn = 0;
self.pers[ "music" ].inque = 0;
self.pers[ "music" ].currentstate = "SILENT";
self.pers[ "music" ].previousstate = "SILENT";
self.pers[ "music" ].nextstate = "UNDERSCORE";
self.pers[ "music" ].returnstate = "UNDERSCORE";
}
self.leaderdialogqueue = [];
self.leaderdialogactive = 0;
self.leaderdialoggroups = [];
self.currentleaderdialoggroup = "";
self.currentleaderdialog = "";
self.currentleaderdialogtime = 0;
if ( !isDefined( self.pers[ "cur_kill_streak" ] ) )
{
self.pers[ "cur_kill_streak" ] = 0;
}
if ( !isDefined( self.pers[ "cur_total_kill_streak" ] ) )
{
self.pers[ "cur_total_kill_streak" ] = 0;
self setplayercurrentstreak( 0 );
}
if ( !isDefined( self.pers[ "totalKillstreakCount" ] ) )
{
self.pers[ "totalKillstreakCount" ] = 0;
}
if ( !isDefined( self.pers[ "killstreaksEarnedThisKillstreak" ] ) )
{
self.pers[ "killstreaksEarnedThisKillstreak" ] = 0;
}
if ( isDefined( level.usingscorestreaks ) && level.usingscorestreaks && !isDefined( self.pers[ "killstreak_quantity" ] ) )
{
self.pers[ "killstreak_quantity" ] = [];
}
if ( isDefined( level.usingscorestreaks ) && level.usingscorestreaks && !isDefined( self.pers[ "held_killstreak_ammo_count" ] ) )
{
self.pers[ "held_killstreak_ammo_count" ] = [];
}
if ( isDefined( level.usingscorestreaks ) && level.usingscorestreaks && !isDefined( self.pers[ "held_killstreak_clip_count" ] ) )
{
self.pers[ "held_killstreak_clip_count" ] = [];
}
if ( !isDefined( self.pers[ "changed_class" ] ) )
{
self.pers[ "changed_class" ] = 0;
}
self.lastkilltime = 0;
self.cur_death_streak = 0;
self disabledeathstreak();
self.death_streak = 0;
self.kill_streak = 0;
self.gametype_kill_streak = 0;
self.spawnqueueindex = -1;
self.deathtime = 0;
if ( level.onlinegame )
{
self.death_streak = self getdstat( "HighestStats", "death_streak" );
self.kill_streak = self getdstat( "HighestStats", "kill_streak" );
self.gametype_kill_streak = self maps/mp/gametypes/_persistence::statgetwithgametype( "kill_streak" );
}
self.lastgrenadesuicidetime = -1;
self.teamkillsthisround = 0;
if ( isDefined( level.livesdonotreset ) || !level.livesdonotreset && !isDefined( self.pers[ "lives" ] ) )
{
self.pers[ "lives" ] = level.numlives;
}
if ( !level.teambased )
{
}
self.hasspawned = 0;
self.waitingtospawn = 0;
self.wantsafespawn = 0;
self.deathcount = 0;
self.wasaliveatmatchstart = 0;
self thread maps/mp/_flashgrenades::monitorflash();
level.players[ level.players.size ] = self;
if ( level.splitscreen )
{
setdvar( "splitscreen_playerNum", level.players.size );
}
if ( game[ "state" ] == "postgame" )
{
self.pers[ "needteam" ] = 1;
self.pers[ "team" ] = "spectator";
self.team = "spectator";
self setclientuivisibilityflag( "hud_visible", 0 );
self [[ level.spawnintermission ]]();
self closemenu();
self closeingamemenu();
profilelog_endtiming( 4, "gs=" + game[ "state" ] + " zom=" + sessionmodeiszombiesgame() );
return;
}
if ( !level.rankedmatch && !level.wagermatch && level.leaguematch && !isDefined( self.pers[ "lossAlreadyReported" ] ) )
{
if ( level.leaguematch )
{
self recordleaguepreloser();
}
maps/mp/gametypes/_globallogic_score::updatelossstats( self );
self.pers[ "lossAlreadyReported" ] = 1;
}
if ( !isDefined( self.pers[ "winstreakAlreadyCleared" ] ) )
{
self maps/mp/gametypes/_globallogic_score::backupandclearwinstreaks();
self.pers[ "winstreakAlreadyCleared" ] = 1;
}
if ( self istestclient() )
{
self.pers[ "isBot" ] = 1;
}
if ( level.rankedmatch || level.leaguematch )
{
self maps/mp/gametypes/_persistence::setafteractionreportstat( "demoFileID", "0" );
}
level endon( "game_ended" );
if ( isDefined( level.hostmigrationtimer ) )
{
self thread maps/mp/gametypes/_hostmigration::hostmigrationtimerthink();
}
if ( level.oldschool )
{
self.class = self.pers[ "class" ];
}
if ( isDefined( self.pers[ "team" ] ) )
{
self.team = self.pers[ "team" ];
}
if ( isDefined( self.pers[ "class" ] ) )
{
self.class = self.pers[ "class" ];
}
if ( !isDefined( self.pers[ "team" ] ) || isDefined( self.pers[ "needteam" ] ) )
{
self.pers[ "team" ] = "spectator";
self.team = "spectator";
self.sessionstate = "dead";
self maps/mp/gametypes/_globallogic_ui::updateobjectivetext();
[[ level.spawnspectator ]]();
[[ level.autoassign ]]( 0 );
if ( level.rankedmatch || level.leaguematch )
{
self thread maps/mp/gametypes/_globallogic_spawn::kickifdontspawn();
}
if ( self.pers[ "team" ] == "spectator" )
{
self.sessionteam = "spectator";
if ( !level.teambased )
{
self.ffateam = "spectator";
}
self thread spectate_player_watcher();
}
if ( level.teambased )
{
self.sessionteam = self.pers[ "team" ];
if ( !isalive( self ) )
{
self.statusicon = "hud_status_dead";
}
self thread maps/mp/gametypes/_spectating::setspectatepermissions();
}
}
else
{
if ( self.pers[ "team" ] == "spectator" )
{
self setclientscriptmainmenu( game[ "menu_class" ] );
[[ level.spawnspectator ]]();
self.sessionteam = "spectator";
self.sessionstate = "spectator";
if ( !level.teambased )
{
self.ffateam = "spectator";
}
self thread spectate_player_watcher();
}
else
{
self.sessionteam = self.pers[ "team" ];
self.sessionstate = "dead";
if ( !level.teambased )
{
self.ffateam = self.pers[ "team" ];
}
self maps/mp/gametypes/_globallogic_ui::updateobjectivetext();
[[ level.spawnspectator ]]();
if ( maps/mp/gametypes/_globallogic_utils::isvalidclass( self.pers[ "class" ] ) )
{
self thread [[ level.spawnclient ]]();
}
else
{
self maps/mp/gametypes/_globallogic_ui::showmainmenuforteam();
}
self thread maps/mp/gametypes/_spectating::setspectatepermissions();
}
}
if ( self.sessionteam != "spectator" )
{
self thread maps/mp/gametypes/_spawning:
nspawnplayer_unified( 1 );
}
profilelog_endtiming( 4, "gs=" + game[ "state" ] + " zom=" + sessionmodeiszombiesgame() );
if ( isDefined( self.pers[ "isBot" ] ) )
{
return;
}
}

Copyright © 2026, NextGenUpdate.
All Rights Reserved.