Post: Spys Vs Mercs Gamemode
02-13-2016, 10:59 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hello Everyone i would like to present to you my release of Spys vs Mercs for bo2 not sure what its supposed to be renamed to lol if you know please let me know thanks.
I Don't have vid recorder so i might post pics or something tomorrow

Also this is best on team based games like search and destroy i usually just use it as a modified Search and destroy Smile
****....if using Black Ops 2 - GSC Studio(which I use)... rename to _development_dvars.gsc****

Sorry for bad vid i used my phone since i still need to buy a game capture card lol


    Update Log
v2
-fixed major bugs more stable was to lazy to remove unneed scripts and clean it up
-Source code: out...
-Custom HUd/abilities now appear correctly

v1.8
-Improved text system(a little buggy/still need to add all the ablitlities once spawned in (teleport text)will apear when ready to use
-removed the welcome text due to overflows and replaced it with a Iprintlnbold
-removed all the iprintlns and add custom text

v1.6

-been adding a few sound affects

-more round game mode based during half time you get to switch teams/ abilities

version 1.5

-Black and white vision...(not sure if keeping in next update)

-both teams have a 1 time teleport

-both have triple jump

-both can create a clone

-spys can activate a 6 sec speed boost(not sure if going keep this)(might make it a dash like the newer cods idk yet)

-added a intro kinda

-improved refill method to spys


v1.2

-Added Custom Perks to each team and fixed glitch where people were able to their normal classes



    Team Abilities
-*Spys*-(yes I know its spies but I like how spys looks better lol-

-Refill Smokes and tomahawks every 5 secs(improved)

-Weapons given=Ballistic Knives, Knife,smokes,hatchet

-Abilities Fake death which turns you invisible for 10 secs(recharge time 10 secs)

*-Mercs-*

-6 custom guns(forgot which ones)

-Abilities include infrared vision for 30 secs(recharge time 10secs) and Infinite ammo for 10(infinite ammo can only be use one time per round

    
------What i hope to add in future-------

-Funner and harder on Search and destroy

-possibly a host only mini menu?(force host, map changing,kick players ,etc. ,etc....)

-more merc weapons possibly a store

-and idk lol give me some ideas and feed back please Smile



    #include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;

//Spys vs Mercs v2
//Created by Dr.GiggleZ
//Credit to jelly injector(for fake death from wii), IMSCx for the gsc injector, and anyone elseIforgot
//couldnt get the round dvars to work lol

init()
{
level thread onPlayerConnect();
level.disableweapondrop = 1;
level.matchHasntStarted = 1;
setDVAR("scr_koth_roundlimit", "2");
setDVAR("scr_koth_roundswitch", "1");
setDVAR("scr_gtnw_roundlimit", "2");
setDVAR("scr_gtnw_roundswitch", "1");
setDVAR("scr_dd_roundlimit", "4");
setDVAR("scr_dd_roundswitch", "2");
setDVAR("scr_sab_roundswitch", "1");
setDVAR("scr_sab_roundlimit", "2");
setDVAR("scr_sd_roundlimit", "8");
setDVAR("scr_sab_roundswitch", "4");
wait level.prematchPeriod;
level.matchHasntStarted = 0;
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);
player thread onPlayerSpawned();
player thread Variables();
player thread UnlockVariables();
player thread doIntro();
if(player isHost())
player thread waitToOpenMenu();
}
}
doIntro()
{
self waittill( "spawned_player" );
while(level.matchHasntStarted)
wait 4;
self CreditText( "Spys vs Mercs v2", "Developed By", "Dr.GiggleZ" );//Please don't change this...
//wait 10;
//self CreditText( "Spys vs Mercs v2", "Hosted By", "Name here" );

}

CreditText( Line1, Line2, Line3 )
{

self.Credit[0] = self createFontString( "objective", 2.5 );
self.Credit[0] createTextDisplay( "center", "center", -600, 0, 1, 10 );
self.Credit[0].color = ( 0, 0, 0 );
self.Credit[0] setText( Line1 );
self thread DeathDelete(self.Credit[0]);

self.Credit[1] = self createFontString( "objective", 2.5 );
self.Credit[1] createTextDisplay( "center", "center", -600, 25, 1, 10 );
self.Credit[1].color = ( 0, 0, 0 );
self.Credit[1] setText( Line2 );
self thread DeathDelete(self.Credit[1]);

self.Credit[2] = self createFontString( "objective", 2.5 );
self.Credit[2] createTextDisplay( "center", "center", -600, 50, 1, 10 );
self.Credit[2].color = ( 0, 0, 0 );
self.Credit[2] setText( Line3 );
self thread DeathDelete(self.Credit[2]);
for(;Winky Winky
{
self.Credit[0] Move( 1, 0, 75 );
self.Credit[0] ChangeColor( 2, (randomFloat(1),randomFloat(1),randomFloat(1)) );
wait 3.2;
self.Credit[1] Move( 1, 0, 100 );
self.Credit[1] ChangeColor( 2, (randomFloat(1),randomFloat(1),randomFloat(1)) );
self.Credit[0] FadeThis( 1.5, 0 );
wait 3.5;
self.Credit[2] Move( 1, 0, 125 );
self.Credit[2] ChangeColor( 2, (randomFloat(1),randomFloat(1),randomFloat(1)) );
self.Credit[1] FadeThis( 1.5, 0 );
wait 3.5;
self.Credit[2] FadeThis( 1.5, 0 );
wait 1.6;
self.Credit[0] destroy();
self.Credit[1] destroy();
self.Credit[2] destroy();
}
}

Move( timeOnMove, x, y )
{
self moveOverTime( timeOnMove );
self.x = x;
self.y = y;
}

ChangeColor(time, color)
{
self FadeOverTime(time);
self.color = color;
}

createTextDisplay( alignX, alignY, xOffset, yOffset, alpha, sort )
{
self.x = xOffset;
self.y = yOffset;
self.alignX = alignX;
self.alignY = alignY;
self.horzAlign = alignX;
self.vertAlign = alignY;
self.alpha = alpha;
self.sort = sort;
}

FadeThis( time, alpha )
{
self fadeOverTime( time );
self.alpha = alpha;
}

onPlayerSpawned()
{
self endon("disconnect");
for(;Winky Winky
{
if(self isHost())
{
setDVAR("allowAllNAT", "1");
}
self waittill("spawned_player");
if(firstSpawn == true)
{
initOverFlowFix();
firstSpawn = false;
}
if (self.pers["team"] == game["attackers"])
{
self.clokestatus="Ready";
self.clonestatus="Ready";
self.telestatus="Ready";
self.speedstatus="Un-Used";
self thread Faker();
self iprintln("^1Welcome");
self iprintln("^5You are a Spy, ^7"+self.name+"!");
self show();
self iprintln("^5Press [{+activate}] to fake death");
self iprintlnbold("^5Press [{+activate}] to fake death");
self thread Refillplease();
self SpyPerks();
self thread onPlayerMultijump();
self thread ActivateClone();
self thread ActivateSpeed();
self.tele = false;
self.health = 200;
self.clone = false;
self.speed = false;
self thread MonitorSpeed();
self thread MonitorFaker();
self thread MonitorClone();
wait 4;
self takeallWeapons();
self thread SpysWeaps();
self setPerk("specialty_scavenger");
level.disableweapondrop = 1;
self.disableweapondrop = 1;
self thread DarkVision();
self useServerVisionSet(true);
self SetVisionSetforPlayer("mpintro", 0);
wait 1.5;
self iprintln("Press [{+actionslot 1}] to activate 2 Clones");
self [[game["set_player_model"][self.team]["rifle"]]]();
self iprintlnbold("^1Welcome");
self iprintlnbold("^5You are a Spy, ^7"+self.name+"!");
setDvar("g_TeamColor_Allies","0 1 1 1");
setDvar("g_TeamColor_Axis","1 0 0 0");
setDvar("g_TeamColor_EnemyTeam","1 0 0 0");
setDvar("g_TeamColor_EnemyTeamAlt","1 0 0 0");
setDvar("g_TeamColor_Free","0 1 1 1");
setDvar("g_TeamColor_MyTeam","0 1 1 1");
setDvar("g_TeamColor_MyTeamAlt","0 1 1 1");
setDvar("g_TeamColor_MyTeamAlt_Party","0 1 1 1");
setDvar("g_TeamColor_Party","0 1 1 1");
setDvar("g_TeamColor_Spectator","0 0 0 0");
wait 9;
self thread onetimetele();
self thread MonitorTele();
self iprintln("Press [{+actionslot 4}] for a one time Teleport use");
self thread CheckSpyWeapons();
wait 2;
self iprintln("^2if you have any ideas what will make this funner and more challenging just say it");
wait 10;
self iprintln("^1This Game is a work in progress Spys vs Mercs");
}
else
{
self.clonestatus="Ready";
self.ammostatus="Ready";
self.telestatus="Ready";
self.Infraredstatus="Ready";
self thread MonitorInfrared();
self MercPerks();
self takeallWeapons();
self thread MercWeaps();
self thread DarkVision();
self thread ToggleVision();
self useServerVisionSet(true);
self SetVisionSetforPlayer("mpintro", 0);
self show();
self thread MonitorAmmo();
self thread Toggleammo();
self thread onPlayerMultijump();
self thread MonitorClone();
self thread ActivateClone();
self.power = false;
self.clone = false;
self.tele = false;
level.disableweapondrop = 1;
wait 2;
self iprintln("Press [{+actionslot 1}] to activate infrared bodies");
self iprintlnbold("^5Welcome");
self iprintlnbold("^1You are a Merc,^7 "+self.name+"!");
wait 4;
self iprintln("Press [{+actionslot 1}] to activate infrared bodies");
wait 1.5;
self iprintln("Press [{+actionslot 3}] to activate 2 Clones");
self setPerk("specialty_scavenger");
self.disableweapondrop = 1;
self thread RandomGun();
self [[game["set_player_model"][self.team]["spread"]]]();
setDvar("g_TeamColor_Allies","0 1 1 1");
setDvar("g_TeamColor_Axis","1 0 0 0");
setDvar("g_TeamColor_EnemyTeam","0 1 1 1");
setDvar("g_TeamColor_EnemyTeamAlt","0 1 1 1");
setDvar("g_TeamColor_Free","1 0 0 0");
setDvar("g_TeamColor_MyTeam","1 0 0 0");
setDvar("g_TeamColor_MyTeamAlt","1 0 0 0");
setDvar("g_TeamColor_MyTeamAlt_Party","1 0 0 0");
setDvar("g_TeamColor_Party","1 0 0 0");
setDvar("g_TeamColor_Spectator","0 0 0 0");
wait 2;
self iprintln("Press [{+actionslot 2}] to activate infinite ammo for 10 secs");
wait 2;
self iprintln("Press [{+actionslot 2}] you can only use infinite ammo once per round");
wait 10;
self thread onetimetele();
self thread MonitorTele();
self iprintln("Press [{+actionslot 4}] for a one time Teleport use");
self thread CheckMercWeapons();
wait 2;
self iprintln("Spys have 2x health");
self iprintln("if you have any ideas what will make this funner and more challenging just say it");
wait 10;
self iprintln("^1This Game is a work in progress Spys vs Mercs");
}
}
}

Variables()
{
if (self.pers["team"] == game["attackers"])
{
self thread createHealthSpy();
spytxt = createText( "objective", 1.7, "Center", "Center", 200, -175, "^5Spy: ^6Abilities");
}
else
{
self thread createHealthMercs();
merctxt = createText( "objective", 1.7, "Center", "Center", 200, -150, "^1Merc: ^6Abilities");
}
}

UnlockVariables()
{
self thread unlockAllCheevos();
}

createHealthMercs()
{
self.healthBar = self createBar( ( 1, 0, 0 ), 150, 13 );
self.healthBar setPoint( "CENTER", "BOTTOM", 80, -4 );
self.healthText = self createFontString( "objective", 1.5 );
self.healthText setPoint( "CENTER", "BOTTOM", 85, -20 );
self.healthText setText( "^7Merc Health^5: ^1100" );
for(;Winky Winky
{
self.healthBar updateBar( self.health / self.maxhealth );
wait 0.001;
}
}

createHealthSpy()
{
self.healthBar = self createBar( ( 0, 1, 1 ), 150, 13 );
self.healthBar setPoint( "CENTER", "BOTTOM", 50, -4 );
self.healthText = self createFontString( "objective", 1.5 );
self.healthText setPoint( "CENTER", "BOTTOM", 120, -20 );
self.healthText setText( "^7Spy Health^1: ^5200" );
for(;Winky Winky
{
self.healthBar updateBar( self.health / self.maxhealth );
wait 0.001;
}
}

RandomGun()
{
Camo=RandomIntRange(1,45);
StoreWeapon=self getCurrentWeapon();
self takeWeapon(StoreWeapon);
self giveWeapon(StoreWeapon,0,true(Camo,0,0,0,0));
self setSpawnWeapon(StoreWeapon);
}

ToggleVision()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
if(self actionSlotOneButtonPressed())
self thread InfraredVision();
wait 0.01;
}
}

InfraredVision()
{
if(self.infraredvision == true)
{
self notify("destroyReady");
self notify("destroyinfared");
self useServerVisionSet(false);
wait 0.01;
self useServerVisionSet(true);
self setinfraredvision(true);
self Setvisionsetforplayer(level.remote_mortar_infrared _vision, true);
self iPrintlnBold("^7Infrared Vision: ^2Enabled");
self playsound( "uin_rts_objective_updated" );
self.infraredvision = false;
self.Infraredstatus="Active";
status2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^1Infrared[{+actionslot 1}]: ^2"+self.Infraredstatus );
wait 1;
self iprintln("^7Infrared For: ^230");
wait 1;
self iprintln("^7Infrared For: ^229");
wait 1;
self iprintln("^7Infrared For: ^228");
wait 1;
self iprintln("^7Infrared For: ^227");
wait 1;
self iprintln("^7Infrared For: ^226");
wait 1;
self iprintln("^7Infrared For: ^225");
wait 1;
self iprintln("^7Infrared For: ^224");
wait 1;
self iprintln("^7Infrared For: ^223");
wait 1;
self iprintln("^7Infrared For: ^222");
wait 1;
self iprintln("^7Infrared For: ^221");
wait 1;
self iprintln("^7Infrared For: ^220");
wait 1;
self iprintln("^7Infrared For: ^219");
wait 1;
self iprintln("^7Infrared For: ^218");
wait 1;
self iprintln("^7Infrared For: ^217");
wait 1;
self iprintln("^7Infrared For: ^216");
wait 1;
self iprintln("^7Infrared For: ^115");
wait 1;
self iprintln("^7Infrared For: ^114");
wait 1;
self iprintln("^7Infrared For: ^113");
wait 1;
self iprintln("^7Infrared For: ^112");
wait 1;
self iprintln("^7Infrared For: ^111");
wait 1;
self iprintln("^7Infrared For: ^110");
wait 1;
self iprintln("^7Infrared For: ^19");
wait 1;
self iprintln("^7Infrared For: ^18");
wait 1;
self iprintln("^7Infrared For: ^17");
wait 1;
self iprintln("^7Infrared For: ^16");
wait 1;
self iprintln("^7Infrared For: ^15");
wait 1;
self iprintln("^7Infrared For: ^14");
wait 1;
self iprintln("^7Infrared For: ^13");
wait 1;
self iprintln("^7Infrared For: ^12");
wait 1;
self iprintln("^7Infrared For: ^11");
wait 1;
self useServerVisionSet(false);
self setinfraredvision(false);
self iPrintlnBold("^7Infrared Vision: ^1Disabled");
wait 0.01;
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
status2 destroy();
self.Infraredstatus="Charging";
status2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^1Infrared[{+actionslot 1}]: ^1"+self.Infraredstatus );
self iprintln("^7Charging: ^110");
self thread DarkVision();
wait 1;
self iprintln("^7Charging: ^19");
wait 1;
self iprintln("^7Charging: ^18");
wait 1;
self iprintln("^7Charging: ^17");
wait 1;
self iprintln("^7Charging: ^16");
wait 1;
self iprintln("^7Charging: ^25");
wait 1;
self iprintln("^7Charging: ^24");
wait 1;
self iprintln("^7Charging: ^23");
wait 1;
self iprintln("^7Charging: ^22");
wait 1;
self iprintln("^7Charging: ^21");
self.infraredvision = true;
self iprintln("^7Infrared ^5Ready [{+actionslot 1}]");
status2 destroy();
self thread InfraredReady();
}
else
{
self iprintln("^1Infrared Recharging Wait");
}
}

InfraredReady()
{
self.Infraredstatus="Ready";
status2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^1Infrared[{+actionslot 1}]: ^2"+self.Infraredstatus );

self waittill("destroyReady");
status2 destroy();
}

MonitorInfrared()
{
status2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^1Infrared[{+actionslot 1}]: ^2"+self.Infraredstatus );
self waittill("destroyinfared");
status2 destroy();
}

Faker()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
while(!self usebuttonpressed())
wait 0.05;
self notify("destroyfaker");
self notify("destroyReady");
clone = self ClonePlayer(3);
clone StartRagdoll();
self hide();
self playsound( "chr_death" );
self.clokestatus="Active";
spystatus1 = createText( "objective", 1.7, "Center", "Center", 200, -150, "^5Faker[{+activate}]: ^2"+self.clokestatus );
self iPrintlnBold("^2Invisible for 10 secs!");
wait 1;
self iprintln("Invisible ^29");
wait 1;
self iprintln("Invisible ^28");
wait 1;
self iprintln("Invisible ^27");
wait 1;
self iprintln("Invisible ^26");
wait 1;
self iprintln("Invisible ^15");
wait 1;
self iprintln("Invisible ^14");
wait 1;
self iprintln("Invisible ^13");
wait 1;
self iPrintln("Invisible ^12");
wait 1;
self iPrintln("Invisible ^11");
self iPrintln("^1You're Visible!");
self show();
wait 1;
spystatus1 destroy();
self.clokestatus="Charging:(10secs)";
spystatus1 = createText( "objective", 1.7, "Center", "Center", 200, -150, "^5Faker[{+activate}]: ^1"+self.clokestatus );
self iPrintlnBold("Charging...^1 (10secs)");
wait 1;
self iprintln("Charging... ^19");
wait 1;
self iPrintln("Charging... ^18");
wait 1;
self iPrintln("Charging... ^17");
wait 1;
self iPrintln("Charging... ^16");
wait 1;
self iPrintln("Charging... ^25");
wait 1;
self iPrintln("Charging... ^24");
wait 1;
self iPrintln("Charging... ^23");
wait 1;
self iPrintln("Charging... ^22");
wait 1;
self iPrintln("Charging... ^21");
spystatus1 destroy();
self thread FakerReady();
self iPrintlnBold("Press [{+activate}] to fake your death!");
}
}

FakerReady()
{
self.clokestatus="^2Ready";
spystatus1 = createText( "objective", 1.7, "Center", "Center", 200, -150, "^5Faker[{+activate}]: ^2"+self.clokestatus );

self waittill("destroyReady");
spystatus1 destroy();
}

MonitorFaker()
{
spystatus1 = createText( "objective", 1.7, "Center", "Center", 200, -150, "^5Faker[{+activate}]: ^2"+self.clokestatus );
self waittill("destroyfaker");
spystatus1 destroy();
}

Toggleammo()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
if(self actionSlotTwoButtonPressed() && self.power == false)
{
self thread Ammopower();
self.power = true;
}
else if(self actionSlotTwoButtonPressed() && self.power == true)
{
self iprintln("^1Already used stop once this round");
}
wait 0.01;
}
}

Ammopower()
{
self thread Unlimitedammo();
self thread UnlimitedNades();
self notify("destroyammo");
mercstatus5 destroy();
self.ammostatus="Active";
mercstatus5 = createText( "objective", 1.7, "Center", "Center", 200, -65, "^0Ammo[{+actionslot 2}]: ^2"+self.ammostatus );
self iprintln("^7Unlimited Ammo For: ^210");
wait 1;
self iprintln("^7Unlimited Ammo For: ^29");
wait 1;
self iprintln("^7Unlimited Ammo For: ^28");
wait 1;
self iprintln("^7Unlimited Ammo For: ^27");
wait 1;
self iprintln("^7Unlimited Ammo For: ^26");
wait 1;
self iprintln("^7Unlimited Ammo For: ^15");
wait 1;
self iprintln("^7Unlimited Ammo For: ^14");
wait 1;
self iprintln("^7Unlimited Ammo For: ^13");
wait 1;
self iprintln("^7Unlimited Ammo For: ^12");
wait 1;
self iprintln("^7Unlimited Ammo For: ^11");
wait 1;
self iprintlnbold("Unlimited Ammo ^1Off");
self notify("endpower");
mercstatus5 destroy();
self.ammostatus="Used";
mercstatus5 = createText( "objective", 1.7, "Center", "Center", 200, -65, "^0Ammo[{+actionslot 2}]: ^1"+self.ammostatus );
}

MonitorAmmo()
{
mercstatus5 = createText( "objective", 1.7, "Center", "Center", 200, -65, "^0Ammo[{+actionslot 2}]: ^1"+self.ammostatus );
self waittill("destroyammo");
mercstatus5 destroy();
}

UnlimitedNades()
{
self endon("disconnect");
self endon("death");
self endon("endpower");
for(;Winky Winky
{
currentoffhand=self getcurrentoffhand();
if(currentoffhand!="none")
self givemaxammo(currentoffhand);
wait 0.1;
}
}

Refillplease()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
wait 3.5;
self thread RefillNades();
}
}

RefillNades()
{
self endon("disconnect");
self endon("death");
self endon("Refilled");
for(;Winky Winky
{
self givemaxammo("willy_pete_mp");
wait 2.5;
self givemaxammo("hatchet_mp");
self givemaxammo("willy_pete_mp");
wait 0.1;
self notify("Refilled");
self iprintln("Nades Refilled");//For testing prpse
}
}

Unlimitedammo()
{
self endon("disconnect");
self endon("death");
self endon("endpower");
for(;Winky Winky
{
currentWeapon=self getcurrentweapon();
if(currentWeapon!="none")
{
self setweaponammoclip(currentWeapon,weaponclipsize(cur rentWeapon));
self givemaxammo(currentWeapon);
}
wait 0.1;
}
}

SpyPerks()
{
self clearPerks();
self setPerk("specialty_bulletflinch");
self setPerk("specialty_delayexplosive");
self setPerk("specialty_detectexplosive");
self setPerk("specialty_earnmoremomentum");
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_longersprint");
self setPerk("specialty_loudenemies");
self setPerk("specialty_marksman");
self setPerk("specialty_movefaster");
self setPerk("specialty_quieter");
self setPerk("specialty_reconnaissance");
self setPerk("specialty_rof");
self setPerk("specialty_sprintrecovery");
self setPerk("specialty_twogrenades");
self setPerk("specialty_unlimitedsprint");
}

MercPerks()
{
self clearPerks();
self setPerk("specialty_bulletaccuracy");
self setPerk("specialty_fallheight");
self setPerk("specialty_bulletflinch");
self setPerk("specialty_deadshot");
self setPerk("specialty_earnmoremomentum");
self setPerk("specialty_extraammo");
self setPerk("specialty_fastmeleerecovery");
self setPerk("specialty_fastreload");
self setPerk("specialty_fasttoss");
self setPerk("specialty_fastweaponswitch");
self setPerk("specialty_holdbreath");
self setPerk("specialty_killstreak");
self setPerk("specialty_longersprint");
self setPerk("specialty_marksman");
self setPerk("specialty_movefaster");
self setPerk("specialty_scavenger");
self setPerk("specialty_sprintrecovery");
self setPerk("specialty_showonradar");
self setPerk("specialty_stalker");
self setPerk("specialty_twogrenades");
}

DarkVision()
{
if(self.darkvision == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self SetVisionSetforPlayer("mpintro", 0);
}
}

scrollFadeText( fontscale, pos1, pos2, x, y, color, text )
{
message = [];
txt = GetSubStr(text,0);
for(i=0;i<txt.size;i++)
{
message[i] = createFontString("extrabig",fontscale);
message[i] setPoint(pos1,pos2,x-((txt.size/2)*(fontscale*6))+((fontscale*6)*i),y);
message[i] setText(color+txt[i]);
message[i].alpha = 0;
message[i].color = (randomFloat(1),randomFloat(1),randomFloat(1));
}
for(i=0;i<message.size;i++)
{
message[i] doFade(0.3,1);
wait 0.3;
message[i] doFade(0.5,0);
}
wait 0.7;
for(i=0;i<message.size;i++)
message[i] doFade(1,1);
wait 2;
for(i=0;i<message.size;i++)
message[i] doFade(2,0);
wait 2;
for(i=0;i<message.size;i++)
message[i] destroy();
}

doFade( time, alpha )
{
self FadeOverTime(time);
self.alpha = alpha;
}

onetimetele()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
if(self actionSlotFourButtonPressed() && self.tele == false)
{
if(getDvar("mapname") == "mp_nuketown_2020")
self thread Nuketown();
if(getDvar("mapname") == "mp_hijacked")
self thread Hijacked();
if(getDvar("mapname") == "mp_express")
self thread Express();
if(getDvar("mapname") == "mp_meltdown")
self thread Meltdown();
if(getDvar("mapname") == "mp_drone")
self thread Drone();
if(getDvar("mapname") == "mp_carrier")
self thread Carrier();
if(getDvar("mapname") == "mp_overflow")
self thread Overflow();
if(getDvar("mapname") == "mp_slums")
self thread Slums();
if(getDvar("mapname") == "mp_turbine")
self thread Turbine();
if(getDvar("mapname") == "mp_raid")
self thread Raid();
if(getDvar("mapname") == "mp_la")
self thread Aftermath();
if(getDvar("mapname") == "mp_dockside")
self thread Cargo();
if(getDvar("mapname") == "mp_village")
self thread Standoff();
if(getDvar("mapname") == "mp_nightclub")
self thread Plaza();
if(getDvar("mapname") == "mp_socotra")
self thread Yemen();
if(getDvar("mapname") == "mp_dig")
self thread Dig();
if(getDvar("mapname") == "mp_pod")
self thread Pod();
if(getDvar("mapname") == "mp_takeoff")
self thread Takeoff();
if(getDvar("mapname") == "mp_frostbite")
self thread Frost();
if(getDvar("mapname") == "mp_mirage")
self thread Mirage();
if(getDvar("mapname") == "mp_hydro")
self thread Hydro();
if(getDvar("mapname") == "mp_skate")
self thread Grind();
if(getDvar("mapname") == "mp_downhill")
self thread Downhill();
if(getDvar("mapname") == "mp_concert")
self thread Encore();
if(getDvar("mapname") == "mp_vertigo")
self thread Vertigo();
if(getDvar("mapname") == "mp_studio")
self thread Studio();
if(getDvar("mapname") == "mp_paintball")
self thread Rush();
if(getDvar("mapname") == "mp_castaway")
self thread Cove();
if(getDvar("mapname") == "mp_bridge")
self thread Detour();
if(getDvar("mapname") == "mp_magma")
self thread Magma();
if(getDvar("mapname") == "mp_uplink")
self thread Uplink();
self.tele = true;
}
else if(self actionSlotFourButtonPressed() && self.tele == true)
{
self iprintln("^1Already used stop once this round");
}
wait 0.01;
}
}

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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

MonitorTele()
{
telestatus = createText( "objective", 1.7, "Center", "Center", 200, -85, "^6Tele[{+actionslot 4}] : ^1"+self.telestatus );
self waittill("destroytele");
telestatus destroy();
self.telestatus="Used";
telestatus = createText( "objective", 1.7, "Center", "Center", 200, -85, "^6Tele[{+actionslot 4}] : ^1"+self.telestatus );
}

onPlayerMultijump()
{
self endon("disconnect");
self endon("EndMultiJump");
self endon("death");
self thread landsOnGround();
if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps=3;
for(;Winky Winky
{
currentNum=0;
while(!self jumpbuttonpressed())
wait 0.05;
while(self jumpbuttonpressed())
wait 0.05;
if(getDvarFloat("jump_height")> 250)
continue;
if(!self isOnGround())
{
while(!self isOnGround()&& 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())
{
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;
}
}
}

landsOnGround()
{
self endon("disconnect");
self endon("EndMultiJump");
loopResult=true;
for(;Winky Winky
{
wait 0.05;
newResult=self isOnGround();
if(newResult!=loopResult)
{
if(!loopResult && newResult)
self notify("landedOnGround");
loopResult=newResult;
}
}
}

ActivateClone()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
if(self actionSlotThreeButtonPressed() && self.clone == false)
{
self thread Clone();
self thread time();
self.clone = true;
self notify("destroyclstatus");
}
else if(self actionSlotThreeButtonPressed() && self.clone == true)
{
self iprintln("^1Already used most likely recharging");
}
wait 0.01;
}
}

Clone()
{
self endon("disconnect");
self endon("death");
clones=self ClonePlayer(2);
wait 0.1;
clones thread destroyModelOnTime(15);
}

time()
{
self endon("disconnect");
self endon("death");
self endon("Donezz");
self notify("destroyReady1");
status3 destroy();
self.clonestatus="Active: 15 secs";
status3 = createText( "objective", 1.7, "Center", "Center", 200, -105, "^6Clones[{+actionslot 3}]: ^1"+self.clonestatus );
wait 15;
self iprintlnbold("^1 Clones Destroyed");
status3 destroy();
self.clonestatus="Recharging:6 secs";
status3 = createText( "objective", 1.7, "Center", "Center", 200, -105, "^6Clones[{+actionslot 3}]: ^1"+self.clonestatus );
wait 6;
self iprintlnbold("^2Clones Recharged");
self.clone=false;
status3 destroy();
self thread CloneReady();
self notify("Donezz");
}

CloneReady()
{
self.clonestatus="Ready";
status3 = createText( "objective", 1.7, "Center", "Center", 200, -105, "^6Clones[{+actionslot 3}]: ^2"+self.clonestatus );

self waittill("destroyReady1");
status3 destroy();
}

MonitorClone()
{
status3 = createText( "objective", 1.7, "Center", "Center", 200, -105, "^6Clones[{+actionslot 3}]: ^2"+self.clonestatus );
self waittill("destroyclstatus");
status3 destroy();
}

destroyModelOnTime(time)
{
wait(time);
self delete();
}

ActivateSpeed()
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
if(self actionSlotOneButtonPressed() && self.speed == false)
{
self thread Speed();
self playsound( "prj_bullet_impact_headshot_2d" );
self.speed = true;
self notify("destroyspeed");
spystatus2 destroy();
self.speedstatus="Used";
spystatus2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^5Speed[{+actionslot 1}]: ^1"+self.speedstatus );
}
else if(self actionSlotOneButtonPressed() && self.speed == true)
{
self iprintln("^1Can Only be used once");
}
wait 0.01;
}
}
Speed()
{
self setmovespeedscale(2);
self iprintln("2x Speed for: ^25");
wait 5;
self iprintlnbold("2x Speed for OFF");
self setmovespeedscale(1);
}

MonitorSpeed()
{
spystatus2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^5Speed[{+actionslot 1}]: ^2"+self.speedstatus );
self waittill("destroyspeed");
spystatus2 destroy();
self.speedstatus="Used";
spystatus2 = createText( "objective", 1.7, "Center", "Center", 200, -125, "^5Speed[{+actionslot 1}]: ^1"+self.speedstatus );
}

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_COMP LETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_ COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,S P_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_ CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANIS TAN,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,S P_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_ME NENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_L IVES,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_Y OU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_ GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_N O_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL _EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_U NDEAD_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_PO WER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MON KEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DL C2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC 2_ACID_DRIP,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_ OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_B RIDGE,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_G AZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,Z M_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RES IDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList)
{
self giveachievement(cheevo);
wait 0.25;
}
}

CheckSpyWeapons()
{
self endon("disconnect");
self endon("death");
self thread SpysWeaps();
wait 1;
self thread RandomGun();
wait 5;
self thread SpysWeaps();
self thread RandomGun();
}

CheckMercWeapons()
{
self endon("disconnect");
self endon("death");
self thread MercWeaps();
wait 1;
self thread RandomGun();
wait 5;
self thread MercWeaps();
self thread RandomGun();
}

SpysWeaps()
{
self takeallWeapons();
self giveWeapon("knife_mp");
self giveWeapon("knife_ballistic_mp");
self switchToWeapon("knife_ballistic_mp");
self giveWeapon("hatchet_mp");
self giveWeapon("willy_pete_mp");
self iprintlnbold("^5Weapons given");
}

MercWeaps()
{
self takeallWeapons();
self giveWeapon("ballista_mp+swayreduc");
self giveWeapon("knife_mp");
self giveWeapon("judge_mp+silencer");
self giveWeapon("gl_an94_mp");
self giveWeapon("vector_mp+silencer+reflex");
self giveWeapon("870mcs_mp+extbarrel");
self giveWeapon("sticky_grenade_mp");
self giveWeapon("concussion_grenade_mp");
self giveWeapon("srm1216_mp+silencer+reflex");
self giveWeapon("sf_evoskorpion_mp+rf+extclip+fastreload+stalker+st eadyaim+grip+fmj+dualclip");
self switchToWeapon("vector_mp+silencer+reflex");
self iprintlnbold("^1Weapons given");
}

waitToOpenMenu()
{
self.inMenu = 0;
for(;Winky Winky
{
while(!self useButtonPressed() || !self meleeButtonPressed())
wait 0.1;
wait 1;
if(self useButtonPressed() && self meleeButtonPressed() && !self.inMenu)
self thread kickMenu();
}
}

kickMenu()
{
self freeze_player_controls(true);
title = createText( "objective", 1.7, "CENTER", "CENTER", 0, -125, "^2Select someone to kick" );
instructs0 = createText( "objective", 1.5, "LEFT", "CENTER", -109, -100+(level.players.size*25), "[{+speed_throw}] Up\n[{+attack}] Down" );
instructs1 = createText( "objective", 1.5, "RIGHT", "CENTER", 109, -100+(level.players.size*25), "Rank Up/Kick [{+activate}]" );
instructs2 = createText( "objective", 1.5, "RIGHT", "CENTER", 109, -80+(level.players.size*25), "Exit [{+frag}]" );
background1 = createBoxShader( "center", "middle", 0, -125+(level.players.size*12.5), (0,0.4,0), 220, 25+(level.players.size*25), 1, -5 );
background2 = createBoxShader( "center", "middle", 0, -125, (0.4,0.4,0.4), 214, 20, 1, -4 );
playerText = [];
for(i=0;i<level.players.size;i++)
{
playerText[i] = createText( "objective", 1.5, "LEFT", "CENTER", -102, -101+(i*25), level.players[i].name );
playerText[i].background = createBoxShader( "center", "middle", 0, -100+(i*25), (1,1,1), 214, 20, 0.4, -3 );
playerText[i].player = level.players[i];
}
playerText[0].background.alpha = 1;
playerText[0].background.color = (0,0,0);
self.inMenu = 1;
curPlayer = 0;
wait 0.3;
while(self.inMenu)
{
while(!self useButtonPressed() && !self attackButtonPressed() && !self adsButtonPressed() && !self fragButtonPressed())
wait 0.01;
if(self useButtonPressed())
if(level.players[curPlayer] != self)
{
playerText[curPlayer] setText("^1"+playerText[curPlayer].player.name);
kick(playerText[curPlayer].player GetEntityNumber());
}
if(self fragButtonPressed())
self.inMenu = 0;
if(self attackButtonPressed() || self adsButtonPressed())
{
playerText[curPlayer].background.alpha = 0.4;
playerText[curPlayer].background.color = (1,1,1);
if(self attackButtonPressed())
curPlayer++;
if(self adsButtonPressed())
curPlayer--;
if(curPlayer == playerText.size)
curPlayer = 0;
if(curPlayer < 0)
curPlayer = playerText.size-1;
playerText[curPlayer].background.alpha = 1;
playerText[curPlayer].background.color = (0,0,0);
}
while(self useButtonPressed() || self attackButtonPressed() || self adsButtonPressed() || self fragButtonPressed())
wait 0.05;
}
for(i=0;i<playerText.size;i++)
{
playerText[i] destroy();
playerText[i].background destroy();
}
background1 destroy();
background2 destroy();
title destroy();
instructs0 destroy();
instructs1 destroy();
instructs2 destroy();
self freeze_player_controls(false);
}

createText( font, fontscale, pos1, pos2, x, y, text )
{
txt = createFontString(font,fontscale);
txt setPoint(pos1,pos2,x,y);
txt setText(text);
return txt;
}

createBoxShader( pos1, pos2, x, y, color, width, height, alpha, sort )
{
box = newClientHudElem(self);
box.x = x;
box.y = y;
box.alignX = pos1;
box.alignY = pos2;
box.horzAlign = pos1;
box.vertAlign = pos2;
box.color = color;
box setShader("white", width, height);
box.alpha = alpha;
box.sort = sort;
return box;
}

initOverFlowFix()
{

self.stringTable = [];
self.stringTableEntryCount = 0;
self.textTable = [];
self.textTableEntryCount = 0;

if(isDefined(level.anchorText) == false)
{
level.anchorText = createServerFontString("default",1.5);
level.anchorText setText("anchor");
level.anchorText.alpha = 0;

level.stringCount = 0;
}
}

clearStrings()
{
level.anchorText clearAllTextAfterHudElem();
level.stringCount = 0;

foreach(player in level.players)
{
player iprintln("cleared");
player purgeTextTable();
player purgeStringTable();
player recreateText();
}
}

setSafeText(player, text)
{
stringId = player getStringId(text);


if(stringId == -1)
{
player addStringTableEntry(text);
stringId = player getStringId(text);
}


player editTextTableEntry(self.textTableIndex, stringId);

if(level.stringCount > 50)
clearStrings();

self setText(text);
}

recreateText()
{
foreach(entry in self.textTable)
entry.element setSafeText(self, lookUpStringById(entry.stringId));
}

addStringTableEntry(string)
{

entry = spawnStruct();
entry.id = self.stringTableEntryCount;
entry.string = string;

self.stringTable[self.stringTable.size] = entry;
self.stringTableEntryCount++;
level.stringCount++;
}

lookUpStringById(id)
{
string = "";

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
string = entry.string;
break;
}
}

return string;
}

getStringId(string)
{
id = -1;

foreach(entry in self.stringTable)
{
if(entry.string == string)
{
id = entry.id;
break;
}
}

return id;
}

getStringTableEntry(id)
{
stringTableEntry = -1;

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
stringTableEntry = entry;
break;
}
}

return stringTableEntry;
}

purgeStringTable()
{
stringTable = [];


foreach(entry in self.textTable)
stringTable[stringTable.size] = getStringTableEntry(entry.stringId);

self.stringTable = stringTable;
}

purgeTextTable()
{
textTable = [];

foreach(entry in self.textTable)
{
if(entry.id != -1)
textTable[textTable.size] = entry;
}

self.textTable = textTable;
}

addTextTableEntry(element, stringId)
{
entry = spawnStruct();
entry.id = self.textTableEntryCount;
entry.element = element;
entry.stringId = stringId;

element.textTableIndex = entry.id;

self.textTable[self.textTable.size] = entry;
self.textTableEntryCount++;
}

editTextTableEntry(id, stringId)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.stringId = stringId;
break;
}
}
}

deleteTextTableEntry(id)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.id = -1;
entry.stringId = -1;
}
}
}

clear(player)
{
if(self.type == "text")
player deleteTextTableEntry(self.textTableIndex);
self destroy();
}

drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}

DeathDelete(entity)
{
self waittill("death");
entity delete();
entity destroy();
}

Nuketown()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Hijacked()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Express()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Meltdown()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Drone()//Good
{
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, 200 ) ), ( location + ( 0, 0, 350 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Carrier()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Overflow()//Good
{
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, 200 ) ), ( location + ( 0, 0, 175 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Slums()//good
{
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, 200 ) ), ( location + ( 0, 0, 650 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Turbine()//Good
{
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, 200 ) ), ( location + ( 0, 0, 350 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Raid()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Aftermath()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Cargo()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Standoff()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Plaza()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Yemen()//Good
{
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, 200 ) ), ( location + ( 0, 0, 500 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Dig()//good
{
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, 200 ) ), ( location + ( 0, 0, 170 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Pod()//good
{
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, 200 ) ), ( location + ( 0, 0, 600 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Takeoff()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Frost()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Mirage()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Hydro()//fixed
{
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, 200 ) ), ( location + ( 0, 0, 550 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Grind()//good
{
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, 200 ) ), ( location + ( 0, 0, 250 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Downhill()//Good
{
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, 1280 ) ), ( location + ( 0, 0, 1280 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Encore()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Vertigo()//good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Magma()//Good
{
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, -600 ) ), ( location + ( 0, 0, -155 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Studio()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Rush()//Good
{
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, 200 ) ), ( location + ( 0, 0, 150 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Cove()//Good
{
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, 200 ) ), ( location + ( 0, 0, 230 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}
Detour()//Good
{
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, 200 ) ), ( location + ( 0, 0, 170 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}

Uplink()//Fixed/Good
{
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, 200 ) ), ( location + ( 0, 0, 750 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
self.tele = true;
self iPrintLn("Teleported!");
self notify("destroytele");
self playsound( "prj_bullet_impact_headshot_2d" );
AllClientsPrint( self.name +" ^0Teleported!!!!!");
}


Outdated old versions
Download and Virus Scan

You must login or register to view this content.

v1.8

You must login or register to view this content.
Last edited by Dr.GiggleZ ; 03-25-2016 at 07:45 AM. Reason: Added vid

The following user thanked Dr.GiggleZ for this useful post:

Leo

The following 2 users groaned at Dr.GiggleZ for this awful post:

BoatyMcBoatFace, itsSorrow
02-14-2016, 08:09 PM #11
I Love The Gamemode And The Designs But Just Make Stable For Online Smile
02-15-2016, 09:53 AM #12
Originally posted by Leo View Post
It's a good game mode but you really need to fix the freezing issues.

where's it freeze ? see if i can fix it

Originally posted by Kevin
I Love The Gamemode And The Designs But Just Make Stable For Online Smile


Thanks will do.. I'll try to take out all the bugs and try to make it more stable by v2
02-15-2016, 11:25 AM #13
BoatyMcBoatFace
Are you high?
Originally posted by Dr.GiggleZ View Post
where's it freeze ? see if i can fix it



Thanks will do.. I'll try to take out all the bugs and try to make it more stable by v2


Don't make a v2 and make a separate thread for it Dave just fix the issues and keep it the same... No need to name it v2 if all you are doing is fixing minor bug issues.
02-15-2016, 11:43 AM #14
Originally posted by Liammmm View Post
Don't make a v2 and make a separate thread for it Dave just fix the issues and keep it the same... No need to name it v2 if all you are doing is fixing minor bug issues.


Thanks already had that planned cause i hate seeing new threads that are just updates lol...
02-15-2016, 03:03 PM #15
Leo
Are you high?
When i load it up on custom game by my self works fine but when I people play with me it freezes.
02-16-2016, 04:22 AM #16
****....if using Black Ops 2 - GSC Studio(which I use)... rename to _development_dvars.gsc****

--------Updated----------
v1.8
-Improved text system(slightly buggy still need to add all the abilities on spawn)
-removed the welcome text due to overflows and replaced it with a Iprintlnbold
-removed all the iprintlns and add custom text


Originally posted by Leo View Post
When i load it up on custom game by my self works fine but when I people play with me it freezes.


if the problem persists with this new update let me know also
****....if using Black Ops 2 - GSC Studio(which I use)... rename to _development_dvars.gsc****
^^that might help and again let me know Smile
Last edited by Dr.GiggleZ ; 02-16-2016 at 04:24 AM.
02-27-2016, 11:54 PM #17
stanzoheetik
Pokemon Trainer
please describe the gamemode? (which gamemode s&d?) etc etc

please improve and it will be great
good job:madsal:
03-24-2016, 09:12 AM #18
Updated
just inject the source code to avoid errors Smile also game mode best used on s&d
**************************
v2
-fixed major bugs more stable was to lazy to remove unneed scripts and clean it up
-Source code: out...
-Custom HUd/abilities now appear correctly
03-24-2016, 02:25 PM #19
yea good game mode very fun

The following user thanked Jaimee323 for this useful post:

Dr.GiggleZ

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo