
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "kills", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "suicides", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "downs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "revives", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "perks_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "headshots", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "head_gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "right_arm_gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "left_arm_gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "right_leg_gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "left_leg_gibs", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "melee_kills", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "grenade_kills", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "doors_purchased", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "distance_traveled", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "total_shots", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "hits", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "deaths", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "boards", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "wins", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "losses", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "failed_revives", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sacrifices", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "failed_sacrifices", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "drops", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "nuke_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "insta_kill_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "full_ammo_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "double_points_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "meat_stink_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "carpenter_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "fire_sale_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "use_magicbox", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "grabbed_from_magicbox", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "use_pap", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pap_weapon_grabbed", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pap_weapon_not_grabbed", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_armorvest_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_quickrevive_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_rof_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_fastreload_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_flakjacket_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_additionalprimaryweapon_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_longersprint_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_deadshot_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_scavenger_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_finalstand_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_grenadepulldeath_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "specialty_nomotionsensor" + "_drank", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "claymores_planted", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "claymores_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "ballistic_knives_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "wallbuy_weapons_purchased", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "ammo_purchased", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "upgraded_ammo_purchased", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "power_turnedon", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "power_turnedoff", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "planted_buildables_pickedup", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "buildables_built", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "time_played_total", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "weighted_rounds_played", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "contaminations_received", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "contaminations_given", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zdogs_killed", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zdog_rounds_finished", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zdog_rounds_lost", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "killed_by_zdog", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "screecher_minigames_won", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "screecher_minigames_lost", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "screechers_killed", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "screecher_teleporters_used", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "avogadro_defeated", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "killed_by_avogadro", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "cheat_too_many_weapons", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "cheat_out_of_playable", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "cheat_too_friendly", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "cheat_total", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_boarding", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_revivenoperk", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_multikill_headshots", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_cash_back_bought", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_cash_back_prone", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_insta_kill", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_insta_kill_stabs", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_jugg", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_jugg_downgrade_count", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_carpenter", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "pers_carpenter_downgrade_count", 0, 1 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "score", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zteam", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_started", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "navcard_held_zm_transit", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "navcard_held_zm_highrise", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "navcard_held_zm_buried", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "navcard_applied_zm_buried", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_maxis_reset", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_rich_reset", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_rich_complete", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_maxis_complete", 0 );
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "sq_buried_last_completed", 0 );
NovaGas()
{
self endon("disconnect");
self endon("death");
cur=self getCurrentWeapon();
wait 0.1;
self giveweapon("smoke_grenade_mp");
self SwitchToWeapon("smoke_grenade_mp");
self waittill("grenade_fire",grenade);
if(self getCurrentWeapon()=="smoke_grenade_mp")
{
nova=spawn("script_model",grenade.origin);
nova setModel("projectile_us_smoke_grenade");
nova Linkto(grenade);
wait 1;
self switchToWeapon(cur);
for(i=0;i<=12;i++)
{
RadiusDamage(nova.origin,300,100,50,self);
wait 1;
}
nova delete();
}
}
doHeart()
{
if(!isDefined(level.SA))
{
level.iamtext = self.name;
level.SA=level createServerFontString("hudbig",2.1);
level.SA setPoint( "TOPLEFT","TOPLEFT",0,30 + 100 );
level.SA setText( level.iamtext+" <3" );
level.SA.archived=false;
level.SA.hideWhenInMenu=true;
for(;
{
level.SA ChangeFontScaleOverTime( 0.4 );
level.SA.fontScale = 2.0;
level.SA FadeOverTime( 0.3 );
level.SA.glowAlpha=1;
level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX(40,2000,600);
wait 0.4;
level.SA ChangeFontScaleOverTime( 0.4 );
level.SA.fontScale = 2.3;
level.SA FadeOverTime( 0.3 );
level.SA.glowAlpha=1;
level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX(40,2000,600);
wait 0.4;
}
}
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;
}
}
Centipede()
{
self endon("stop_centipede");
self endon("disconnect");
self endon("death");
while(1)
{
ent=self ClonePlayer(9999999);
wait 0.1;
ent thread destroyModelOnTime(2);
}
}
destroyModelOnTime(time)
{
wait(time);
self delete();
}
walkingLoadestar()
{
self endon("death");
self GiveKillstreak("killstreak_remote_mortar");
self iprintln("^1Walking Lodestar Given... Enjoy");
self.Fly = 0;
UFO = spawn("script_model",self.origin);
for(;
{
if(self.Fly == 1)
{
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;
}
}
ThunGun()
{
self endon("disconnect");
self endon ("death");
level.bettydestroyedfx = loadfx( "weapon/bouncing_betty/fx_betty_destroyed" );
namezy = self;
self giveWeapon("ksg_mp", 7, false);
self switchToWeapon("ksg_mp");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self iPrintlnBold("^2ForceBlast Ready! ^48^7:Shots Remaining");
for(j = 8; j > 0; j--)
{
self waittill ( "weapon_fired" );
if( self getCurrentWeapon() == "ksg_mp" )
{
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
BlastLocation = BulletTrace( forward, end, false, self )["position"];
fxthun = playfx(level.bettydestroyedfx, self getTagOrigin("tag_weapon_right"));
fxthun.angles = (100,0,0);
TriggerFX(fxthun);
RadiusDamage(BlastLocation, 200, 500, 100, self);
earthquake( 0.9, 0.9, self.origin, 600 );
PlayRumbleOnPosition( "grenade_rumble", self.origin );
foreach(player in level.players)
{
if(player.team != self.team)
{
if(Distance(self.origin, player.origin) < 600)
{
player thread ThunDamage();
}
}
}
self switchToWeapon("ksg_mp");
wait 0.8;
wait .5;
bulletz = (j - 1);
self iPrintlnBold("^2ForceBlast Ready. ^4" + bulletz + "^7:Shots Remaining");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self switchToWeapon("ksg_mp");
}
else
{
j++;
}
}
self takeWeapon( "ksg_mp" );
wait 2;
self notify ("THUNGONE");
}
ThunDamage()
{
self endon("disconnect");
for(m = 4; m > 0; m--)
{
self setvelocity(self getvelocity()+(250,250,250));
wait .1;
}
self setvelocity(0,0,0);
wait 7;
}
careMaker()
{
self endon("disconnect");
self endon("death");
self iPrintln("^3Shoot To Spawn Solid Care Packages");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
B = spawn("script_model",destination,1);
B.angles = self.angles;
B.team = self.team;
B.owner = self.owner;
B setModel("t6_wpn_supply_drop_ally");
B setteam( self.team );
B setowner( self.owner );
B.script_noteworthy = "care_package";
}
}
deathBarrier()
{
ents = getEntArray();
for ( index = 0; index < ents.size; index++ )
{
if(isSubStr(ents[index].classname, "trigger_hurt"))
ents[index].origin = (0, 0, 9999999);
}
}
AutoDropshot()
{
if(self.Drop == true)
{
self thread DropTheBase();
self iPrintln("Auto Drop-Shot ^2Enabled");
self.Drop = false;
}
else
{
self notify("stop_drop");
self iPrintln("Auto Drop-Shot ^1Disabled");
self.Drop = true;
}
}
DropTheBase()
{
self endon("disconnect");
self endon("stop_drop");
for(;
{
self waittill ("weapon_fired");
self setStance("prone");
}
}
Tbag()
{
if(self.TB == true)
{
self thread Tbxg();
self.TB = false;
}
else
{
self notify("stop_tbag");
self iPrintln("Tbag ^1Off");
self.TB = true;
}
}
Tbxg()
{
self endon("disconnect");
self endon("death");
self endon("stop_tbag");
self iPrintln("T-Bag!, By: xSaberModz");
for(;
{
self setStance("crouch");
wait .5;
self setStance("stand");
wait .5;
}
}
ban(player getentitynumber());
kick(player getentitynumber());
teleToCrosshairs()
{
foreach(player in level.players)
{
if(player isHost())
{
// dont do shit
}
else
{
player setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
}
}
}
Matrixx()
{
self endon("disconnect");
self endon("death");
self endon ("MrToxicBooty");
self iPrintLn("Press [{+speed_throw}] To Enable");
for(;
{
if(self AdsButtonPressed())
{
self thread pushdowntscale();self setblur(0.7,0.3);
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
}
else
{
self useServerVisionSet(false);
setDvar("timescale",1);self setblur(0,0.5);
}
wait 0.01;
}
}
pushdowntscale()
{for( mtb = 1; mtb > 0.3; mtb-=0.5 ){setDvar("timescale",mtb);wait 0.001;}}
binladen()
{
self endon("disconnect");
self endon("death");
self iprintlnBold("Kill The Bell Ends!");
self takeAllWeapons();
wait 0.05;
self giveWeapon("satchel_charge_mp");
self switchToWeapon("satchel_charge_mp");
wait 0.5;
self setclientdvar("cg_thirdperson", 1);
self attach("aircraft_bomb", "tag_stowed_back", false);
self thread onbd();
self thread onBoom();
for(;
{
if(self attackbuttonpressed())
self notify("Boom");
wait 0.1;
}
wait 0.05;
}
onBoom()
{
self waittill("Boom");
self thread BOOM();
}
BOOM()
{
self playSound("mp_ingame_summary");
playFx(level._effect[ "cloud" ],self.origin);
K1=self.origin;
f(K1,0,0,0);
f(K1,400,0,0);
f(K1,0,400,0);
self playSound("vehicle_explo");
wait 0.01;
f(K1,400,400,0);
f(K1,0,0,400);
f(K1,400,0,0);
wait 0.01;
f(K1,0,400,0);
f(K1,400,400,0);
wait 0.01;
self playSound("vehicle_explo");
f(K1,0,0,800);
f(K1,200,0,0);
f(K1,0,200,0);
wait 0.01;
Earthquake(0.4,4,K1,800);
wait 0.2;
RadiusDamage(K1,2500,800,500,self);
}
discosun()
{
self endon("stop_sun");
self setClientDvar("r_lightTweakSunLight", "4");
self.random = [];
for(;
{
for(c = 0; c < 4; c++)
{
tempnr = randomInt( 100 );
self.random[c] = tempnr/100;
}
self.suncolor = "" + self.random[0] + " " + self.random[1] + " " + self.random[2] + " " + self.random[3] + "";
self setClientDvar( "r_lightTweakSunColor", self.suncolor );
wait .3;
}
}
SpinText()
{
self endon("disconnect");
self endon("stop_spinText");
self thread ChangeSpinTextColor();
self.ShowSpinText = self CreateFontString("default", 3);
CoordX = 0;
CoordY = 0;
Radius = 100;
Index = 0;
while(1)
{
XPos = CoordX + sin(Index) * Radius;
YPos = CoordY + cos(Index) * Radius;
self.ShowSpinText setPoint("CENTER", "CENTER", Xpos, YPos);
self.ShowSpinText setText("Your Text");
self.ShowSpinText.color = (0.26, 0.60, 0.87);
self.ShowSpinText.glowColor = (0.12, 0.90, 0.44);
wait .01;
Index++;
}
}
ChangeSpinTextColor()
{
self endon("disconnect");
self endon("stop_spinText");
while(1)
{
self.ShowSpinText FadeOverTime(1);
self.ShowSpinText.color = (1, 0, 0);
self.ShowSpinText FadeOverTime(1);
self.ShowSpinText.GlowAlpha = 1;
self.ShowSpinText.glowcolor = (1,0,0);
wait 1;
self.ShowSpinText FadeOverTime(1);
self.ShowSpinText.color = (0, 1, 0);
self.ShowSpinText FadeOverTime(1);
self.ShowSpinText.GlowAlpha = 1;
self.ShowSpinText.glowcolor = (0, 1, 0);
wait 1;
}
}
SpinTextInit()
{
foreach(player in level.players)
{
player thread SpinText();
}
}
InitSpinText()
{
if(!isDefined(self.IsSpinning))
{
self.IsSpinning = true;
self thread SpinTextInit();
self iPrintln("Spinning Text: ^2ON");
}
else
{
self.IsSpinning = undefined;
self notify("stop_spinText");
self.ShowSpinText destroy();
self iPrintln("Spinning Text: ^1OFF");
}
}
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);
}
ackopunch()
{
self setOrigin((300,100,40.5));
level.NGU = spawn( "script_model", (0,0,40.5) );
level.NGU.angles = (0,10,0);
level.NGU setModel( "t6_wpn_supply_drop_ally" );
for(;
{
self.packit destroy();
if(distance(self.origin, level.NGU.origin) <150)
{
self.packit = self createFontString( "hudbig", 4.0 );
self.packit setPoint( "TOP", "TOP", 0, 20 );
self.packit setText("^5Press ^6SQUARE ^5For Pack-O-Punch");
if(self usebuttonpressed())
{
weap = self getCurrentWeapon();
if( self.upw[weap] != 1 )
{
self takeWeapon(self getCurrentWeapon());
self freezeControls(true);
self iPrintlnBold("^5Packing That Shit Hold Up");
wait 4;
self iPrintlnBold("^5Done! Now Fuck Shit Up");
self.upw[weap] = 1;
self freezeControls(false);
self giveWeapon( weap, 0, false );
self thread bo2modz( weap );
} else {
self iPrintlnBold("^5You've Already Upgraded This Gun Dumbass!");
wait 1;
}
}
}
wait 0.05;
}
}
bo2modz( gun )
{
for(;
{
self waittill ( "weapon_fired" );
weap = self getCurrentWeapon();
if( weap == gun )
{
forward = self getTagOrigin("j_head");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
level._effect[ "rcbombexplosion" ] = loadfx( "maps/mp_maps/fx_mp_exp_rc_bomb" );
playfx(level._effect[ "rcbombexplosion" ], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 300, 200, 100, self );
}
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
ToggleRocketRain()
{
if(!self.RocketRain)
{
self notify("LickMyLovleyCock");
self.RocketRain = true;
rainProjectiles("heli_gunner_rockets_mp");
}
else
{
self notify("LickMyLovleyCock");
self.RocketRain = false;
}
}
rainProjectiles(bullet)
{
self endon("disconnect");
self endon("LickMyLovleyCock");
for(;
{
x = randomIntRange(-10000,10000);
y = randomIntRange(-10000,10000);
z = randomIntRange(8000,10000);
MagicBullet( bullet, (x,y,z), (x,y,0), self );
wait 0.05;
}
wait 0.05;
}
[URL="https://www.nextgenupdate.com/forums/call-duty-black-ops-2-gsc-mods-scripts/767873-release-gsc-script-remove-death-barrier-zombie-mode.html"]Thanks to ZeiiKeN[/URL]
Sky 1 - setdvar("r_skyColorTemp", "1234");
Sky 2 - setdvar("r_skyColorTemp", "2345");
Sky 3 - setdvar("r_skyColorTemp", "3456");
Sky 4 - setdvar("r_skyColorTemp", "4567");
Sky 5 - setdvar("r_skyColorTemp", "5678");
Sky 6 - setdvar("r_skyColorTemp", "9101112");
Sky 7 - setdvar("r_skyColorTemp", "1011213");
Water Effects
ON : setdvar("r_waterSheetingFX_enable", "1");
OFF : setdvar("r_waterSheetingFX_enable", "0");
Poison Effects
ON : setdvar("r_poisonFX_debug_enable", "1");
OFF : setdvar("r_poisonFX_debug_enable", "0");
human_torch()
{
self endon("disconnect");
self endon("death");
self endon("stop_torch");
level.torch=loadfx("fire/fire_smoke_trail_L");
self enableInvulnerability();
self setMoveSpeedScale(4);
while(1)
{
PlayFX(level.torch,self.origin+(0,0,60));
RadiusDamage(self.origin,160,160,50,self);
wait 0.1;
}
}
)
PlantBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( !level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombplanted(level.bombzones[0], self);
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_PLANTED_BY", self );
self iprintln("Bomb ^2Planted!");
}
else self iprintln("^1Bomb is already planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}
DefuseBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombdefused();
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_DEFUSED_BY", self );
self iprintln("Bomb ^2Defused!");
}
else self iprintln("^1Bomb hasn't been planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}
hearallplayers()
{
if (self.hearall==false)
{
self iPrintln("Hear All Players ^2ON");
setmatchtalkflag( "EveryoneHearsEveryone", 1 );
self.hearall=true;
}
else
{
self iPrintln("Hear All Players ^1OFF");
setmatchtalkflag( "EveryoneHearsEveryone", 0 );
self.hearall=false;
}
}
meleerange()
{
if(self.mele == true)
{
setDvar("player_meleeRange", "999");
self.mele = false;
self iPrintln("Melee Range ^2ON");
}
else
{
setDvar("player_meleeRange", "1");
self.mele = true;
self iPrintln("Melee Range ^1OFF");
}
}
RandomWeapon()
{
id = random(level.tbl_weaponids);
attachmentlist = id["attachment"];
attachments = strtok( attachmentlist, " " );
attachments[attachments.size] = "";
attachment = random(attachments);
self GiveWeapon((id["reference"] + "_mp+") + attachment)
//iPrintln(id["reference"]);
//iPrintln(attachment);
}
doAimbot()
{
if(!isDefined(self.aim))
{
self.aim = true;
self iPrintln("Aimbot [^2ON^7]");
self thread StartAim();
}
else
{
self.aim = undefined;
self iPrintln("Aimbot [^1OFF^7]");
self notify("Aim_Stop");
}
}
StartAim()
{
self endon("death");
self endon("disconnect");
self endon("Aim_Stop");
self thread AimFire();
for(;
{
while(self adsButtonPressed())
{
Zombies = getClosest(self getOrigin(),getAiSpeciesArray("axis","all"));
self setplayerangles( VectorToAngles( ( Zombies getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
if(isDefined(self.Aim_Shoot))magicBullet(self getCurrentWeapon(),Zombies getTagOrigin("j_head")+(0,0,5),Zombies getTagOrigin("j_head"),self);
wait .05;
}
wait .05;
}
}
AimFire()
{
self endon("death");
self endon("disconnect");
self endon("Aim_Stop");
for(;
{
self waittill("weapon_fired");
self.Aim_Shoot = true;
wait .05;
self.Aim_Shoot = undefined;
}
}
gravity()
{
if(self.grav == true)
{
setDvar("bg_gravity", "150");
self.grav = false;
self iPrintln("Gravity ^2ON");
}
else
{
setDvar("bg_gravity", "800");
self.grav = true;
self iPrintln("Gravity ^1OFF");
}
}
flashlowammo()
{
if (self.FlashingAMMO == true)
{
self thread lowammoflash();
self iPrintln("^7Flashing Low Ammo ^2ON");
self.FlashingAMMO = false;
}
else
{
self notify("StopFlash");
self iPrintln("^7Flashing Low Ammo ^1OFF");
self.FlashingAMMO = true;
}
}
lowammoflash()
{
self endon("disconnect");
self endon("StopFlash");
while(1)
{
setDvar("lowAmmoWarningColor1","1 0 0 1");
setDvar("lowAmmoWarningNoAmmoColor1","1 0 0 1");
setDvar("lowAmmoWarningNoReloadColor1","1 0 0 1");
wait .2;
setDvar("lowAmmoWarningColor1","1 0.7 0 1");
setDvar("lowAmmoWarningNoAmmoColor1","1 0.7 0 1");
setDvar("lowAmmoWarningNoReloadColor1","1 0.7 0 1");
wait .2;
setDvar("lowAmmoWarningColor1","1 1 0 1");
setDvar("lowAmmoWarningNoAmmoColor1","1 1 0 1");
setDvar("lowAmmoWarningNoReloadColor1","1 1 0 1");
wait .2;
setDvar("lowAmmoWarningColor1","0 1 0 1");
setDvar("lowAmmoWarningNoAmmoColor1","0 1 0 1");
setDvar("lowAmmoWarningNoReloadColor1","0 1 0 1");
wait .2;
setDvar("lowAmmoWarningColor1","0 0 1 1");
setDvar("lowAmmoWarningNoAmmoColor1","0 0 1 1");
setDvar("lowAmmoWarningNoReloadColor1","0 0 1 1");
wait .2;
setDvar("lowAmmoWarningColor1","1 0 1 1");
setDvar("lowAmmoWarningNoAmmoColor1","1 0 1 1");
setDvar("lowAmmoWarningNoReloadColor1","1 0 1 1");
wait .2;
setDvar("lowAmmoWarningColor1","0 1 1 1");
setDvar("lowAmmoWarningNoAmmoColor1","0 1 1 1");
setDvar("lowAmmoWarningNoReloadColor1","0 1 1 1");
wait .1;
}
}
doNewOrigin(origin)
{
self setOrigin(origin);
}
case "mp_la": return "Aftermath";
case "mp_dockside": return "Cargo";
case "mp_carrier": return "Carrier";
case "mp_drone": return "Drone";
case "mp_express": return "Express";
case "mp_hijacked": return "Hijacked";
case "mp_meltdown": return "Meltdown";
case "mp_overflow": return "Overflow";
case "mp_nightclub": return "Plaza";
case "mp_raid": return "Raid";
case "mp_slums": return "Slums";
case "mp_village": return "Standoff";
case "mp_turbine": return "Turbine";
case "mp_socotra": return "Yemen";
case "mp_dig": return "Dig";
case "mp_pod": return "Pod";
case "mp_takeoff": return "Takeoff";
case "mp_frostbite": return "Frost";
case "mp_mirage": return "Mirage";
case "mp_hydro": return "Hydro";
case "mp_skate": return "Grind";
case "mp_downhill": return "Downhill";
case "mp_concert": return "Encore";
case "mp_vertigo": return "Vertigo";
case "mp_magma": return "Magma";
case "mp_studio": return "Studio";
case "mp_paintball": return "Rush";
case "mp_castaway": return "Cove";
case "mp_bridge": return "Detour";
case "mp_uplink": return "Uplink";
monitorKills()
{
self endon("death");
self endon("disconnect");
kills = self.pers["kills"];
for(;
{
if(self.pers["kills"] != kills)
{
kills++;
self notify("killed_enemy_player");
}
wait 0.02;
}
}
waitForKill()
{
self endon("death");
self endon("disconnect");
for(;
{
self waittill( "killed_enemy_player");
victim = self.lastkilledvictim;
}
}
teamswitch(player, teamname)
{
player.pers[ "team" ] = teamname;
player.team = teamname;
player.sessionteam = player.pers[ "team" ];
player maps/mp/gametypes/_globallogic_ui::updateobjectivetext();
player maps/mp/gametypes/_spectating::setspectatepermissions();
player suicide();
}
toggle_WaterGun()
{
if (self.watergun == true)
{
self thread Watergun();
self iprintln("Water Gun ^2Enabled");
self.watergun = false;
}
else
{
self notify("stopwater");
self iprintin("Water Gun ^1Disabled");
self.watergun = true;
}
}
WaterGun()
{
self endon("death");
self endon("disconnect");
self endon("stopwater");
for(;
{
self waittill("weapon_fired");
vec=anglestoforward(self getPlayerAngles());
end =(vec[0] * 200000,vec[1] * 200000,vec[2] * 200000);
SPLOSIONlocation=BulletTrace(self gettagorigin("tag_eye"),self gettagorigin("tag_eye")+ end,0,self)["position"];
level._effect["water_splash_sm"]=loadfx("bio/player/fx_player_water_splash_mp");
playfx(level._effect["water_splash_sm"],SPLOSIONlocation);
}
wait 0.005;
}
toggle_WaterFountain()
{
if (self.waterfountain == true)
{
self thread WaterFountain();
self iprintln("Water Fountain ^2Enabled");
self.waterfountain = false;
}
else
{
self notify("stopfountain");
self iprintin("Water Fountain ^1Disabled");
self.waterfountain = true;
}
}
WaterFountain()
{
self endon("death");
self endon("disconnect");
self endon("stopfountain");
while(1)
{
level._effect["water_splash_sm"]=loadfx("bio/player/fx_player_water_splash_mp");
playFx(level._effect["water_splash_sm"],self getTagOrigin("j_spine4"));
wait .001;
}
wait .001;
}
Put this on init() -
level.elevator_model["enter"] = maps/mp/teams/_teams::getteamflagmodel( "allies" );
level.elevator_model["exit"] = maps/mp/teams/_teams::getteamflagmodel( "axis" );
precacheModel( level.elevator_model["enter"] );
precacheModel( level.elevator_model["exit"] );
Then put this somewhere in your GSC -
CreateElevator(enter, exit, angle)
{
flag = spawn( "script_model", enter );
flag setModel( level.elevator_model["enter"] );
wait 0.01;
level.auto_turret_settings[ "microwave" ].disablefx = loadfx( "weapon/silent_gaurdian/fx_sg_death_state" );
playFx(level.auto_turret_settings[ "microwave" ].disablefx, enter);
flag = spawn( "script_model", exit );
flag setModel( level.elevator_model["exit"] );
wait 0.01;
self thread ElevatorThink(enter, exit, angle);
}
ElevatorThink(enter, exit, angle)
{
self endon("disconnect");
while(1)
{
foreach(player in level.players)
{
if(Distance(enter, player.origin) <= 15)
{
player SetOrigin(exit);
player SetPlayerAngles(angle);
}
}
wait .25;
}
}
And call it like this -
//The Location of 1st Flag //Location of Flag you TP //Angles
CreateElevator((-1356.27, 773.659, -62), (-349.649, 592.409, -62), (0, 0, 0));
Put this anywhere in your GSC
SpawnWeapon(WFunc,Weapon,WeaponName,Location,TakeOnce)
{
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,0));
Wep setModel(weapon_model);
for(;
{
foreach(player in level.players)
{
Radius=distance(Location,player.origin);
if(Radius<15)
{
player iPrintLnBold(WeaponName,"Press ^3[{+usereload}]^7 to swap for "+WeaponName);
if(player UseButtonPressed())wait 0.2;
if(player UseButtonPressed())
{
if(!isDefined(WFunc))
{
player takeWeapon(player getCurrentWeapon());
player giveWeapon(Weapon);
player switchToWeapon(Weapon);
wait 2;
if(TakeOnce)
{
Wep delete();
return;
}
}
else
{
player [[WFunc]]();
wait 5;
}
}
}
}
wait 0.5;
}
}
Call it like this -
self thread SpawnWeapon(undefined,"ballista_mp","Press ^3[{+usereload}]^7 to swap for Ballista",(-2008,250,-50),0);
ProximityMine()
{
self endon("disconnect");
self endon("death");
self giveWeapon("satchel_charge_mp ");
self switchToWeapon("satchel_charge_mp ");
for(;
{
ProxMine="satchel_charge_mp ";
self waittill("grenade_fire",ProxMine);
curweapon=self getCurrentWeapon();
if(ProxMine=="satchel_charge_mp "&&curweapon=="satchel_charge_mp ")ProxMine thread sensor(self);
}
}
sensor(owner)
{
self endon("death");
self waittill("activated");
owner iprintln("Proximity Mine ^2[ACTIVATED]");
while(1)
{
for(i=0;i<level.players.size;i++)
{
player=level.players[i];
if(distance(self.origin,player.origin)<150)
{
if(!level.teamBased&&player!=owner)self detonate();
else if(player.team!=owner.team)self detonate();
}
}
wait 0.05;
}
}
Add this to Init():
PrecacheVehicle("heli_guard_mp");
PrecacheModel("veh_t6_drone_overwatch_light");
level.CareHeli_marker_smoke = loadfx("env/smoke/fx_smoke_supply_drop_blue_mp");
The rest:
CareHeli()
{
self endon("death");
self iprintln("Press [{+smoke}] to drop carepackages!!");
self iprintln("Press [{+melee}] + [{+frag}] to Delete the Heli!!");
Heli = spawnHelicopter(self,self.origin+(50,0,800),self.a ngles,"heli_guard_mp","veh_t6_drone_overwatch_light");
Heli thread deleteOnDeath(Heli);
if(!isDefined(Heli)){return;}
Heli.owner = self;
Heli.team = self.team;
self thread WeaponMonitor(Heli);
for(;
{
if(self SecondaryOffHandButtonPressed())
{
Heli thread DropDaPackage(Heli);
wait .2;
}
if(self MeleeButtonPressed() && self FragButtonPressed())
{
Heli delete();
self suicide();
wait .2;
}
wait 0.05;
}
wait 0.05;
}
WeaponMonitor(heli)
{
self endon("death");
for(;
{
self waittill("weapon_fired");
target = GetCursorPosHeli();
Pos = FXMarker(target,level.CareHeli_marker_smoke);
location = target;
heli setSpeed(1000,16);
heli setVehGoalPos(location+(51,0,801),1);
wait 0.05;
}
}
DropDaPackage(heli)//Needs to be finished
{
wait 0.05;
self iprintln("^1Crate Droping isn't finished ATM SRYYY
");
wait 0.05;
}
FXMarker(groundpoint,fx)
{
effect = spawnFx(fx,groundpoint,(0,0,1),(1,0,0));
self thread deleteFxafterTime(5,effect);
triggerFx(effect);
return effect;
}
deleteFxafterTime(Time,lol)
{
maps\mp\gametypes\_hostmigration::waitLongDuration WithHostMigrationPause(Time);
lol delete();
}
deleteOnDeath(model)
{
self waittill("death");
model delete();
}
GetCursorPosHeli()
{
return bulletTrace(self getEye(),self getEye()+vectorScaleHeli(anglesToForward(self getPlayerAngles()),1000000),false,self)["position"];
}
vectorScaleHeli(vector,scale)
{
return(vector[0]*scale,vector[1]*scale,vector[2]*scale);
}
RapeMode()
{
self.me = self.origin;
foreach(player in level.players)
{
if(!(player isHost()))
{
player SetOrigin(self.me);
player freezecontrols(true);
}
}
}
IMSMW3()
{
self endon("disconnect");
o = self;
offset = (50,0,10);
ims = spawn("script_model", self.origin + offset);
ims setModel( "t6_wpn_turret_sentry_gun_red" );
ims.angles = (90,0,0);
s = "fhj18_mp";
for(;
{
foreach(p in level.players){
d = distance(ims.origin,p.origin);
if (level.teambased){
if ((p!=o)&&(p.pers["team"]!=self.pers["team"]))
if(d<250)
if (isAlive(p)) p thread imsxpl(ims,o,p,s);
}else{
if(p!=o)
if(d<250)
if (isAlive(p)) p thread imsxpl(ims,o,p,s);
}
wait 0.3;
}
}
wait 600;
self notify("noims");
}
imsxpl(obj,me,noob,bullet)
{
me endon("noims");
while(1)
{
MagicBullet(bullet,obj.origin,noob.origin,me);
wait 2;
break;
}
}
Supply(owner,origin,angles)
{
self endon("disconnect");
self endon("death");
self endon("zomboz");
self iPrintln("Shoot to spawn a ^1Zombie");
for(;
{
self waittill ("weapon_fired");
start = self gettagorigin( "tag_eye" );
end = anglestoforward(self getPlayerAngles()) * 1000000;
destination = BulletTrace(start, end, true, self)["position"];
M = spawn("script_model",destination,1);
M.angles = self.angles;
M setModel("c_usa_mp_seal6_smg_fb");
P = spawn("script_model",M.origin,1);
P setModel("t6_wpn_supply_drop_ally");
P.angles = (90,0,0);
P Hide();
P.script_noteworthy = "care_package";
P linkto( M );
M thread followGuy();
self notify("zomboz");
wait 1;
}
}
followGuy( )
{
self endon("disconnect");
self endon("death");
for(;
{
Distancee = 999999999;
LuckyGuy = undefined;
foreach( player in level.players )
{
if(distancesquared(self.origin, player.origin) < TmpDist)
{
Distancee = distancesquared(self.origin, player.origin);
LuckyGuy = player;
}
}
movetoLoc = VectorToAngles( LuckyGuy getTagOrigin("j_head") - self getTagOrigin( "j_head" ) );
self.angles = (0, movetoLoc[1], 0);
self MoveTo(LuckyGuy.origin, (distance(self.origin, LuckyGuy.origin) / 150));
wait 0.08;
}
}
doAllUnlockCamos()
{
self thread unlockallcamos(i);
self thread camonlock();
self thread maps\mp\gametypes\_hud_message::hintMessage("^1Weapons Camo Unlocked!!", 5);
}
unlockallcamos(i)
{
self addweaponstat(i, "headshots", 5000 );
self addweaponstat(i, "kills", 5000 );
self addweaponstat(i, "direct_hit_kills", 100 );
self addweaponstat(i, "revenge_kill", 2500 );
self addweaponstat(i, "noAttKills", 2500 );
self addweaponstat(i, "noPerkKills", 2500 );
self addweaponstat(i, "multikill_2", 2500 );
self addweaponstat(i, "killstreak_5", 2500 );
self addweaponstat(i, "challenges", 5000 );
self addweaponstat(i, "multikill_2", 2500 );
self addweaponstat(i, "killstreak_5", 2500 );
self addweaponstat(i, "challenges", 5000 );
self addweaponstat(i, "longshot_kill", 750 );
self addweaponstat(i, "direct_hit_kills", 120);
self addweaponstat(i, "destroyed_aircraft_under20s", 120);
self addweaponstat(i, "destroyed_5_aircraft", 120);
self addweaponstat(i, "destroyed_aircraft", 120);
self addweaponstat(i, "kills_from_cars", 120);
self addweaponstat(i, "destroyed_2aircraft_quickly", 120);
self addweaponstat(i, "destroyed_controlled_killstreak", 120);
self addweaponstat(i, "destroyed_qrdrone", 120);
self addweaponstat(i, "destroyed_aitank", 120);
self addweaponstat(i, "multikill_3", 120);
self addweaponstat(i, "score_from_blocked_damage", 140);
self addweaponstat(i, "shield_melee_while_enemy_shooting", 140);
self addweaponstat(i, "hatchet_kill_with_shield_equiped", 140);
self addweaponstat(i, "noLethalKills", 140);
self addweaponstat(i, "ballistic_knife_kill",5000);
self addweaponstat(i, "kill_retrieved_blade", 160);
self addweaponstat(i, "ballistic_knife_melee", 160);
self addweaponstat(i, "kills_from_cars", 170);
self addweaponstat(i, "crossbow_kill_clip", 170);
self addweaponstat(i, "backstabber_kill", 190);
self addweaponstat(i, "kill_enemy_with_their_weapon", 190);
self addweaponstat(i, "kill_enemy_when_injured", 190);
self addweaponstat(i, "primary_mastery",10000);
self addweaponstat(i, "secondary_mastery",10000);
self addweaponstat(i, "weapons_mastery",10000);
self addweaponstat(i, "kill_enemy_one_bullet_shotgun", 5000);
self addweaponstat(i, "kill_enemy_one_bullet_sniper", 5000);
}
camonlock()
{
self thread unlockallcamos("870mcs_mp");
wait 2;
self thread unlockallcamos("an94_mp");
wait 2;
self thread unlockallcamos("as50_mp");
wait 2;
self thread unlockallcamos("ballista_mp");
wait 2;
self thread unlockallcamos("beretta93r_dw_mp");
wait 2;
self thread unlockallcamos("beretta93r_lh_mp");
wait 2;
self thread unlockallcamos("beretta93r_mp");
wait 2;
self thread unlockallcamos("crossbow_mp");
wait 2;
self thread unlockallcamos("dsr50_mp");
wait 2;
self thread unlockallcamos("evoskorpion_mp");
wait 2;
self thread unlockallcamos("fiveseven_dw_mp");
wait 2;
self thread unlockallcamos("fiveseven_lh_mp");
wait 2;
self thread unlockallcamos("fiveseven_mp");
wait 2;
self thread unlockallcamos("fhj18_mp");
wait 2;
self thread unlockallcamos("fnp45_dw_mp");
wait 2;
self thread unlockallcamos("fnp45_lh_mp");
wait 2;
self thread unlockallcamos("fnp45_mp");
wait 2;
self thread unlockallcamos("hamr_mp");
wait 2;
self thread unlockallcamos("hk416_mp");
wait 2;
self thread unlockallcamos("insas_mp");
wait 2;
self thread unlockallcamos("judge_dw_mp");
wait 2;
self thread unlockallcamos("judge_lh_mp");
wait 2;
self thread unlockallcamos("judge_mp");
wait 2;
self thread unlockallcamos("kard_dw_mp");
wait 2;
self thread unlockallcamos("kard_lh_mp");
wait 2;
self thread unlockallcamos("kard_mp");
wait 2;
self thread unlockallcamos("kard_wager_mp");
wait 2;
self thread unlockallcamos("knife_ballistic_mp");
wait 2;
self thread unlockallcamos("knife_held_mp");
wait 2;
self thread unlockallcamos("knife_mp");
wait 2;
self thread unlockallcamos("ksg_mp");
wait 2;
self thread unlockallcamos("lsat_mp");
wait 2;
self thread unlockallcamos("mk48_mp");
wait 2;
self thread unlockallcamos("mp7_mp");
wait 2;
self thread unlockallcamos("pdw57_mp");
wait 2;
self thread unlockallcamos("peacekeeper_mp");
wait 2;
self thread unlockallcamos("qbb95_mp");
wait 2;
self thread unlockallcamos("qcw05_mp");
wait 2;
self thread unlockallcamos("riotshield_mp");
wait 2;
self thread unlockallcamos("sa58_mp");
wait 2;
self thread unlockallcamos("saiga12_mp");
wait 2;
self thread unlockallcamos("saritch_mp");
wait 2;
self thread unlockallcamos("scar_mp");
wait 2;
self thread unlockallcamos("sig556_mp");
wait 2;
self thread unlockallcamos("smaw_mp");
wait 2;
self thread unlockallcamos("srm1216_mp");
wait 2;
self thread unlockallcamos("svu_mp");
wait 2;
self thread unlockallcamos("tar21_mp");
wait 2;
self thread unlockallcamos("type95_mp");
wait 2;
self thread unlockallcamos("usrpg_mp");
wait 2;
self thread unlockallcamos("vector_mp");
wait 2;
self thread unlockallcamos("xm8_mp");
}
RiotMan()
{
self setclientthirdperson(1);
self iPrintln("^0Riot Man");
self giveWeapon("riotshield_mp",0);
self switchToWeapon( "riotshield_mp" );
self AttachShieldModel("t6_wpn_shield_carry_world","back_low");
self giveWeapon("riotshield_mp",0);
self switchToWeapon( "riotshield_mp" );
self AttachShieldModel("t6_wpn_shield_carry_world","j_head");
self giveWeapon("riotshield_mp",0);
self switchToWeapon( "riotshield_mp" );
self AttachShieldModel("t6_wpn_shield_carry_world","tag_weapon_left");
}
/*
Function Name: Spawn Warp Zone
Credit: AsTy
*/
init()
{
precacheModel("mp_flag_green");
precacheModel("mp_flag_red");
}
initTeletoFlag()
{
self endon("disconnect");
self endon("stop_TeletoFlag");
if(level.setTele1Ori == 3)
{
level.setTele1Ori = 0;
self notify("stop_warpzone");
level.TtF delete();
level.TtF2 delete();
self iPrintlnbold("^3Flag Object ^1deleted.");
self iPrintln("^3Warpzone setting is ^2Restart.");
wait 0.5;
}
for(;
{
self.TtF["setOrigin"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
if(level.setTele1Ori == 0)
{
level.setTele1Ori = 1;
self iPrintlnbold("^3Please set ^61st Teleport Start Flag.");
self iPrintln("^3Press [{+actionslot 3}] to ^6Set.");
wait 0.5;
}
if(level.setTele1Ori == 1)
{
if(self actionSlotThreeButtonPressed())
{
level.setTele1Ori = 2;
level.TtF = spawn("script_model", self.TtF["setOrigin"]);
level.TtF.angles = (0,10,0);
level.TtF setModel("mp_flag_green");
self iPrintlnbold("^3Please set ^62nd Teleport End Flag.");
self iPrintln("^3Press [{+actionslot 4}] to ^6Set.");
wait 0.5;
}
}
if(level.setTele1Ori == 2)
{
if(self actionSlotFourButtonPressed())
{
level.setTele1Ori = 3;
level.TtF2 = spawn("script_model", self.TtF["setOrigin"]);
level.TtF2.angles = (0,10,0);
level.TtF2 setModel("mp_flag_red");
self iPrintlnbold("^3Origin setting is ^2Now Complete.");
self iPrintln("^3Start ^2Warpzone^3...");
wait 0.5;
foreach(player in level.players)
player thread doTeletoFlag();
self notify("stop_TeletoFlag");
}
}
wait 0.05;
}
}
doTeletoFlag()
{
self endon("disconnect");
self endon("stop_warpzone");
for(;
{
if(distance(self.origin, level.TtF.origin) < 95)
{
self setorigin(level.TtF2.origin);
wait 2;
}
if(distance(self.origin, level.TtF2.origin) < 95)
{
self setorigin(level.TtF.origin);
wait 2;
}
wait 0.05;
}
}
123
SpawnBunker()
{
FG("0,0,1375,870,55,1470",150,1);
FG("0,0",390,1);
FG("0,0",620,1);
WP("0,0,55,0,110,0,0,30,110,30,55,60,0,90,110,90,55,120,0,150,110,150,55,180,0,210,110,210,55,240,0,270,110,270,55,300,0,330,110,330,55,360,0,390,110,390,55,420,0,450,110,450,55,480,0,510,110,510,55,540,0,570,110,570,55,600,0,630,110,630,55,660,0,690,110,690,55,720,1155,720,1210,720,1265,720,1320,720,1375,720,0,750,110,750,1155,750,1210,750,1265,750,1320,750,1375,750,55,780,1100,780,1155,780,1210,780,1265,780,1320,780,1375,780,0,810,110,810,1100,810,1155,810,1210,810,1265,810,1320,810,1375,810,55,840,1100,840,1155,840,1210,840,1265,840,1320,840,1375,840,0,870,110,870,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,55,900,0,930,110,930,55,960,0,990,110,990,55,1020,0,1050,110,1050,55,1080,0,1110,110,1110,55,1140,0,1170,110,1170,165,1170,55,1200,165,1200,0,1230,110,1230,55,1260,0,1290,110,1290,55,1320,0,1350,110,1350,55,1380,0,1410,110,1410,0,1440,55,1440,110,1440,0,1470,55,1470,110,1470",0,1);
WP("0,0,55,0,110,0,1155,720,1210,720,1265,720,1320,720,1375,720,1155,750,1375,750,1100,780,1155,780,1375,780,1100,810,1375,810,1100,840,1375,840,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,110,1050,110,1080,0,1470,55,1470,110,1470",25,1);
WP("0,0,55,0,110,0,880,690,990,690,1100,690,1155,690,1210,690,1265,690,1320,690,1375,690,550,720,1100,720,1155,720,1210,720,1265,720,1320,720,1375,720,495,750,550,750,605,750,660,750,770,750,880,750,1045,750,1100,750,1155,750,1375,750,550,780,1045,780,1100,780,1155,780,1375,780,1045,810,1100,810,1375,810,1045,840,1100,840,1375,840,1045,870,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,110,900,1045,900,1100,900,1155,900,1210,900,1265,900,1320,900,1375,900,110,930,0,1470,55,1470,110,1470",50,1);
WP("0,0,55,0,110,0,1155,720,1210,720,1265,720,1320,720,1375,720,1155,750,1375,750,110,780,1100,780,1155,780,1375,780,110,810,1100,810,1375,810,1100,840,1375,840,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,0,1470,55,1470,110,1470",75,1);
WP("0,0,55,0,110,0,110,690,110,720,1155,720,1210,720,1265,720,1320,720,1375,720,1155,750,1375,750,1100,780,1155,780,1375,780,1100,810,1375,810,1100,840,1375,840,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,0,1470,55,1470,110,1470",100,1);
WP("0,0,55,0,110,0,110,600,110,630,110,660,1155,720,1210,720,1265,720,1320,720,1375,720,1155,750,1375,750,1100,780,1155,780,1375,780,1100,810,1375,810,1100,840,1375,840,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,0,1470,55,1470,110,1470",125,1);
WP("0,0,55,0,110,0,0,30,55,30,110,30,165,30,220,30,0,60,55,60,110,60,220,60,275,60,330,60,0,90,55,90,110,90,330,90,55,120,330,120,55,150,330,150,55,180,330,180,55,210,330,210,330,240,385,240,440,240,495,240,550,240,605,240,550,270,605,270,605,300,605,330,605,360,605,390,605,420,660,420,715,420,770,420,825,420,880,420,935,420,935,450,605,480,935,480,605,510,935,510,935,540,990,540,1045,540,1100,540,1155,540,605,570,1155,570,1210,570,1210,600,1265,600,165,630,330,630,495,630,550,630,605,630,660,630,1210,630,1265,630,165,660,330,660,495,660,1210,660,1265,660,1320,660,330,690,495,690,1210,690,1265,690,1320,690,1375,690,165,720,330,720,385,720,440,720,495,720,550,720,605,720,660,720,1100,720,1155,720,1210,720,1265,720,1320,720,1375,720,165,750,495,750,660,750,1100,750,1155,750,1375,750,495,780,660,780,935,780,990,780,1045,780,1100,780,1155,780,1375,780,330,810,385,810,440,810,495,810,660,810,935,810,1100,810,1375,810,935,840,1100,840,1375,840,935,870,1100,870,1155,870,1210,870,1265,870,1320,870,1375,870,935,900,935,930,935,960,935,990,935,1020,935,1050,935,1080,935,1110,935,1140,935,1170,935,1200,935,1230,935,1260,935,1290,935,1320,55,1350,110,1350,165,1350,220,1350,275,1350,330,1350,385,1350,440,1350,495,1350,550,1350,605,1350,660,1350,715,1350,770,1350,825,1350,880,1350,935,1350,55,1380,0,1410,55,1410,110,1410,0,1440,55,1440,110,1440,0,1470,55,1470,110,1470",150,1);
WP("165,0",160,1);
WP("220,0",170,1);
WP("275,0",180,1);
WP("330,0",190,1);
WP("385,0",200,1);
WP("440,0",210,1);
WP("495,0",220,1);
WP("540,0",230,1);
WP("595,0",240,1);
WP("650,0",250,1);
WP("705,0",260,1);
WP("760,0",270,1);
WP("760,30,760,90,760,60",270,1);
WP("705,90",280,1);
WP("650,90",290,1);
WP("595,90",300,1);
WP("540,90",310,1);
WP("495,90",320,1);
WP("440,90",330,1);
WP("385,90",340,1);
WP("330,90",350,1);
WP("275,90",360,1);
WP("220,90",370,1);
WP("165,90",380,1);
WP("105,90",380,1);
WP("0,30,55,30,0,60,55,60,0,90,55,90",390,1);
WP("0,0,55,0",390,1);
WP("105,0",400,1);
WP("165,0",400,1);
WP("220,0",410,1);
WP("275,0",420,1);
WP("330,0",430,1);
WP("385,0",440,1);
WP("440,0",450,1);
WP("495,0",460,1);
WP("540,0",470,1);
WP("595,0",480,1);
WP("650,0",490,1);
WP("705,0",500,1);
WP("760,0",510,1);
WP("760,30,760,90,760,60",510,1);
WP("705,90",520,1);
WP("650,90",530,1);
WP("595,90",540,1);
WP("540,90",550,1);
WP("495,90",560,1);
WP("440,90",570,1);
WP("385,90",580,1);
WP("330,90",590,1);
WP("275,90",600,1);
WP("220,90",610,1);
WP("165,90",620,1);
WP("105,90",620,1);
WP("0,30,55,30,0,60,55,60,0,90,55,90",620,1);
WP("0,0,55,0",0,1);
WP("165,1410",0,1);
WP("220,1410",20,1);
WP("275,1410",40,1);
WP("330,1410",60,1);
WP("385,1410",80,1);
WP("440,1410",100,1);
WP("495,1410",120,1);
WP("550,1410",140,1);
WP("550,1390",140,1);
}
getLastLivingPlayer( team )
{
livePlayer = undefined;
foreach ( player in level.players )
{
if ( isDefined( team ) && player.team != team )
if ( !isReallyAlive( player ))
assertEx( !isDefined( livePlayer ), "getLastLivingPlayer() found more than one live player on team." );
livePlayer = player;
}
return livePlayer;
}
getPotentialLivingPlayers()
{
livePlayers = [];
foreach ( player in level.players )
{
if ( !isReallyAlive( player ))
livePlayers[livePlayers.size] = player;
}
return livePlayers;
}
SCP(Location){
Mod=spawn("script_model",Location);
Mod setModel("com_plasticcase_enemy");
Mod Solid();
Mod CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
}
MakeCPLine(Location,X,Y,Z){
for(i=0;i<X;i++)SCP(Location+(i*55,0,0));
for(i=0;i<Y;i++)SCP(Location+(0,i*30,0));
for(i=0;i<Z;i++)SCP(Location+(0,0,i*25));
}
MakeCPWall(Location,Axis,X,Y){
if(Axis=="X"){MakeCPLine(Location,X,0,0);for(i=0;i<X;i++)MakeCPLine(Location+(i*55,0,0),0,0,Y);
}else if(Axis=="Y"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),0,0,Y);
}else if(Axis=="Z"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),Y,0,0);}
}
CreateBunker(){
Location=self.origin+(0,0,20);
MakeCPWall(Location,"X",5,
;
MakeCPWall(Location+(0,5*30,0),"X",5,
;
MakeCPWall(Location,"Y",5,
;
MakeCPWall(Location+(5*55,0,0),"Y",6,
;
MakeCPWall(Location,"Z",5,5);
MakeCPWall(Location+(0,0,5*25),"Z",5,4);
CreateTurret(Location+(0.25*(5*55),18,35+(4*30)));
CreateTurret(Location+(0.25*(5*55),(5*25)+1,35+(4*30)));
SCP(Location+((4*55),84,20+4));
SCP(Location+((4*55),74,30+6));
SCP(Location+((4*55),64,40+
);
SCP(Location+((4*55),54,50+10));
SCP(Location+((4*55),44,60+12));
SCP(Location+((4*55),34,70+14));
SCP(Location+((4*55),24,80+16));
SCP(Location+((4*55),14,90+1
);
SCP(Location+(45,10,6*25));
SCP(Location+(45,(5*25)+15,(6*25)));
self SetOrigin(Location+(100,100,35));
}
createRectangle13(align, relative, x, y, width, height, color, alpha, sorting)
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.color = color;
if(isDefined(alpha))
barElemBG.alpha = alpha;
else
barElemBG.alpha = 1;
barElemBG setShader( "progress_bar_bg", width , height );
barElemBG.hidden = false;
barElemBG.sort = sorting;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
setParent( element )
{
if ( isDefined( self.parent ) && self.parent == element )
return;
if ( isDefined( self.parent ) )
self.parent removeChild( self );
self.parent = element;
self.parent addChild( self );
if ( isDefined( self.point ) )
self setPoint( self.point, self.relativePoint, self.xOffset, self.yOffset );
else
self setPoint( "TOPLEFT" );
}
getParent()
{
return self.parent;
}
addChild( element )
{
element.index = self.children.size;
self.children[self.children.size] = element;
}
removeChild( element )
{
element.parent = undefined;
if ( self.children[self.children.size-1] != element )
{
self.children[element.index] = self.children[self.children.size-1];
self.children[element.index].index = element.index;
}
self.children[self.children.size-1] = undefined;
element.index = undefined;
}
setPoint( point, relativePoint, xOffset, yOffset, moveTime )
{
if ( !isDefined( moveTime ) )
moveTime = 0;
element = self getParent();
if ( moveTime )
self moveOverTime( moveTime );
if ( !isDefined( xOffset ) )
xOffset = 0;
self.xOffset = xOffset;
if ( !isDefined( yOffset ) )
yOffset = 0;
self.yOffset = yOffset;
self.point = point;
self.alignX = "center";
self.alignY = "middle";
if ( isSubStr( point, "TOP" ) )
self.alignY = "top";
if ( isSubStr( point, "BOTTOM" ) )
self.alignY = "bottom";
if ( isSubStr( point, "LEFT" ) )
self.alignX = "left";
if ( isSubStr( point, "RIGHT" ) )
self.alignX = "right";
if ( !isDefined( relativePoint ) )
relativePoint = point;
self.relativePoint = relativePoint;
relativeX = "center_adjustable";
relativeY = "middle";
if ( isSubStr( relativePoint, "TOP" ) )
relativeY = "top_adjustable";
if ( isSubStr( relativePoint, "BOTTOM" ) )
relativeY = "bottom_adjustable";
if ( isSubStr( relativePoint, "LEFT" ) )
relativeX = "left_adjustable";
if ( isSubStr( relativePoint, "RIGHT" ) )
relativeX = "right_adjustable";
if ( element == level.uiParent )
{
self.horzAlign = relativeX;
self.vertAlign = relativeY;
}
else
{
self.horzAlign = element.horzAlign;
self.vertAlign = element.vertAlign;
}
if ( strip_suffix( relativeX, "_adjustable" ) == element.alignX )
{
offsetX = 0;
xFactor = 0;
}
else if ( relativeX == "center" || element.alignX == "center" )
{
offsetX = int(element.width / 2);
if ( relativeX == "left_adjustable" || element.alignX == "right" )
xFactor = -1;
else
xFactor = 1;
}
else
{
offsetX = element.width;
if ( relativeX == "left_adjustable" )
xFactor = -1;
else
xFactor = 1;
}
self.x = element.x + (offsetX * xFactor);
if ( strip_suffix( relativeY, "_adjustable" ) == element.alignY )
{
offsetY = 0;
yFactor = 0;
}
else if ( relativeY == "middle" || element.alignY == "middle" )
{
offsetY = int(element.height / 2);
if ( relativeY == "top_adjustable" || element.alignY == "bottom" )
yFactor = -1;
else
yFactor = 1;
}
else
{
offsetY = element.height;
if ( relativeY == "top_adjustable" )
yFactor = -1;
else
yFactor = 1;
}
self.y = element.y + (offsetY * yFactor);
self.x += self.xOffset;
self.y += self.yOffset;
switch ( self.elemType )
{
case "bar":
setPointBar( point, relativePoint, xOffset, yOffset );
break;
}
self updateChildren();
}
setPointBar( point, relativePoint, xOffset, yOffset )
{
self.bar.horzAlign = self.horzAlign;
self.bar.vertAlign = self.vertAlign;
self.bar.alignX = "left";
self.bar.alignY = self.alignY;
self.bar.y = self.y;
if ( self.alignX == "left" )
self.bar.x = self.x;
else if ( self.alignX == "right" )
self.bar.x = self.x - self.width;
else
self.bar.x = self.x - int(self.width / 2);
if ( self.alignY == "top" )
self.bar.y = self.y;
else if ( self.alignY == "bottom" )
self.bar.y = self.y;
self updateBar( self.bar.frac );
}
updateBar( barFrac, rateOfChange )
{
if ( self.elemType == "bar" )
updateBarScale( barFrac, rateOfChange );
}
updateBarScale( barFrac, rateOfChange ) // rateOfChange is optional and is in "(entire bar lengths) per second"
{
barWidth = int(self.width * barFrac + 0.5); // (+ 0.5 rounds)
if ( !barWidth )
barWidth = 1;
self.bar.frac = barFrac;
self.bar setShader( self.bar.shader, barWidth, self.height );
assertEx( barWidth <= self.width, "barWidth <= self.width: " + barWidth + " <= " + self.width + " - barFrac was " + barFrac );
//if barWidth is bigger than self.width then we are drawing more than 100%
if ( isDefined( rateOfChange ) && barWidth < self.width )
{
if ( rateOfChange > 0 )
{
//printLn( "scaling from: " + barWidth + " to " + self.width + " at " + ((1 - barFrac) / rateOfChange) );
assertex( ((1 - barFrac) / rateOfChange) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
self.bar scaleOverTime( (1 - barFrac) / rateOfChange, self.width, self.height );
}
else if ( rateOfChange < 0 )
{
//printLn( "scaling from: " + barWidth + " to " + 0 + " at " + (barFrac / (-1 * rateOfChange)) );
assertex( (barFrac / (-1 * rateOfChange)) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
self.bar scaleOverTime( barFrac / (-1 * rateOfChange), 1, self.height );
}
}
self.bar.rateOfChange = rateOfChange;
self.bar.lastUpdateTime = getTime();
}
createFontString( font, fontScale )
{
fontElem = newClientHudElem( self );
fontElem.elemType = "font";
fontElem.font = font;
fontElem.fontscale = fontScale;
fontElem.baseFontScale = fontScale;
fontElem.x = 0;
fontElem.y = 0;
fontElem.width = 0;
fontElem.height = int(level.fontHeight * fontScale);
fontElem.xOffset = 0;
fontElem.yOffset = 0;
fontElem.children = [];
fontElem setParent( level.uiParent );
fontElem.hidden = false;
return fontElem;
}
createServerFontString( font, fontScale, team )
{
if ( isDefined( team ) )
fontElem = newTeamHudElem( team );
else
fontElem = newHudElem();
fontElem.elemType = "font";
fontElem.font = font;
fontElem.fontscale = fontScale;
fontElem.baseFontScale = fontScale;
fontElem.x = 0;
fontElem.y = 0;
fontElem.width = 0;
fontElem.height = int(level.fontHeight * fontScale);
fontElem.xOffset = 0;
fontElem.yOffset = 0;
fontElem.children = [];
fontElem setParent( level.uiParent );
fontElem.hidden = false;
return fontElem;
}
createServerTimer( font, fontScale, team )
{
if ( isDefined( team ) )
timerElem = newTeamHudElem( team );
else
timerElem = newHudElem();
timerElem.elemType = "timer";
timerElem.font = font;
timerElem.fontScale = fontScale;
timerElem.baseFontScale = fontScale;
timerElem.x = 0;
timerElem.y = 0;
timerElem.width = 0;
timerElem.height = int(level.fontHeight * fontScale);
timerElem.xOffset = 0;
timerElem.yOffset = 0;
timerElem.children = [];
timerElem setParent( level.uiParent );
timerElem.hidden = false;
return timerElem;
}
createTimer( font, fontScale )
{
timerElem = newClientHudElem( self );
timerElem.elemType = "timer";
timerElem.font = font;
timerElem.fontScale = fontScale;
timerElem.baseFontScale = fontScale;
timerElem.x = 0;
timerElem.y = 0;
timerElem.width = 0;
timerElem.height = int(level.fontHeight * fontScale);
timerElem.xOffset = 0;
timerElem.yOffset = 0;
timerElem.children = [];
timerElem setParent( level.uiParent );
timerElem.hidden = false;
return timerElem;
}
createIcon( shader, width, height )
{
iconElem = newClientHudElem( self );
iconElem.elemType = "icon";
iconElem.x = 0;
iconElem.y = 0;
iconElem.width = width;
iconElem.height = height;
iconElem.baseWidth = iconElem.width;
iconElem.baseHeight = iconElem.height;
iconElem.xOffset = 0;
iconElem.yOffset = 0;
iconElem.children = [];
iconElem setParent( level.uiParent );
iconElem.hidden = false;
if ( isDefined( shader ) )
{
iconElem setShader( shader, width, height );
iconElem.shader = shader;
}
return iconElem;
}
createServerIcon( shader, width, height, team )
{
if ( isDefined( team ) )
iconElem = newTeamHudElem( team );
else
iconElem = newHudElem();
iconElem.elemType = "icon";
iconElem.x = 0;
iconElem.y = 0;
iconElem.width = width;
iconElem.height = height;
iconElem.baseWidth = iconElem.width;
iconElem.baseHeight = iconElem.height;
iconElem.xOffset = 0;
iconElem.yOffset = 0;
iconElem.children = [];
iconElem setParent( level.uiParent );
iconElem.hidden = false;
if ( isDefined( shader ) )
{
iconElem setShader( shader, width, height );
iconElem.shader = shader;
}
return iconElem;
}
createServerBar( color, width, height, flashFrac, team, selected )
{
if ( isDefined( team ) )
barElem = newTeamHudElem( team );
else
barElem = newHudElem();
barElem.x = 0;
barElem.y = 0;
barElem.frac = 0;
barElem.color = color;
barElem.sort = -2;
barElem.shader = "progress_bar_fill";
barElem setShader( "progress_bar_fill", width, height );
barElem.hidden = false;
if ( isDefined( flashFrac ) )
{
barElem.flashFrac = flashFrac;
// barElem thread flashThread();
}
if ( isDefined( team ) )
barElemBG = newTeamHudElem( team );
else
barElemBG = newHudElem();
barElemBG.elemType = "bar";
barElemBG.x = 0;
barElemBG.y = 0;
barElemBG.width = width;
barElemBG.height = height;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.bar = barElem;
barElemBG.children = [];
barElemBG.sort = -3;
barElemBG.color = (0,0,0);
barElemBG.alpha = 0.5;
barElemBG setParent( level.uiParent );
barElemBG setShader( "progress_bar_bg", width, height );
barElemBG.hidden = false;
return barElemBG;
}
createBar( color, width, height, flashFrac )
{
barElem = newClientHudElem( self );
barElem.x = 0 ;
barElem.y = 0;
barElem.frac = 0;
barElem.color = color;
barElem.sort = -2;
barElem.shader = "progress_bar_fill";
barElem setShader( "progress_bar_fill", width, height );
barElem.hidden = false;
if ( isDefined( flashFrac ) )
{
barElem.flashFrac = flashFrac;
// barElem thread flashThread();
}
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
barElemBG.width = width;
barElemBG.height = height;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.bar = barElem;
barElemBG.children = [];
barElemBG.sort = -3;
barElemBG.color = (0,0,0);
barElemBG.alpha = 0.5;
barElemBG setParent( level.uiParent );
barElemBG setShader( "progress_bar_bg", width + 4, height + 4 );
barElemBG.hidden = false;
return barElemBG;
}
getCurrentFraction()
{
frac = self.bar.frac;
if (isdefined(self.bar.rateOfChange))
{
frac += (getTime() - self.bar.lastUpdateTime) * self.bar.rateOfChange;
if (frac > 1) frac = 1;
if (frac < 0) frac = 0;
}
return frac;
}
createPrimaryProgressBar( yOffset )
{
if ( !isDefined( yOffset ) )
yOffset = 0;
bar = createBar( (1, 1, 1), level.primaryProgressBarWidth, level.primaryProgressBarHeight );
bar setPoint("CENTER", undefined, level.primaryProgressBarX, level.primaryProgressBarY - yOffset );
return bar;
}
createPrimaryProgressBarText( yOffset )
{
if ( !isDefined( yOffset ) )
yOffset = 0;
text = createFontString( "hudbig", level.primaryProgressBarFontSize );
text setPoint("CENTER", undefined, level.primaryProgressBarTextX, level.primaryProgressBarTextY - yOffset );
text.sort = -1;
return text;
}
createTeamProgressBar( team )
{
bar = createServerBar( (1,0,0), level.teamProgressBarWidth, level.teamProgressBarHeight, undefined, team );
bar setPoint("TOP", undefined, 0, level.teamProgressBarY);
return bar;
}
createTeamProgressBarText( team )
{
text = createServerFontString( "default", level.teamProgressBarFontSize, team );
text setPoint("TOP", undefined, 0, level.teamProgressBarTextY);
return text;
}
setFlashFrac( flashFrac )
{
self.bar.flashFrac = flashFrac;
}
hideElem()
{
if ( self.hidden )
return;
self.hidden = true;
if ( self.alpha != 0 )
self.alpha = 0;
if ( self.elemType == "bar" || self.elemType == "bar_shader" )
{
self.bar.hidden = true;
if ( self.bar.alpha != 0 )
self.bar.alpha = 0;
}
}
showElem()
{
if ( !self.hidden )
return;
self.hidden = false;
if ( self.elemType == "bar" || self.elemType == "bar_shader" )
{
if ( self.alpha != .5 )
self.alpha = .5;
self.bar.hidden = false;
if ( self.bar.alpha != 1 )
self.bar.alpha = 1;
}
else
{
if ( self.alpha != 1 )
self.alpha = 1;
}
}
flashThread()
{
self endon ( "death" );
if ( !self.hidden )
self.alpha = 1;
while(1)
{
if ( self.frac >= self.flashFrac )
{
if ( !self.hidden )
{
self fadeOverTime(0.3);
self.alpha = .2;
wait(0.35);
self fadeOverTime(0.3);
self.alpha = 1;
}
wait(0.7);
}
else
{
if ( !self.hidden && self.alpha != 1 )
self.alpha = 1;
wait ( 0.05 );
}
}
}
destroyElem()
{
tempChildren = [];
for ( index = 0; index < self.children.size; index++ )
{
if ( isDefined( self.children[index] ) )
tempChildren[tempChildren.size] = self.children[index];
}
for ( index = 0; index < tempChildren.size; index++ )
tempChildren[index] setParent( self getParent() );
if ( self.elemType == "bar" || self.elemType == "bar_shader" )
{
self.bar destroy();
}
self destroy();
}
setIconShader( shader )
{
self setShader( shader );
self.shader = shader;
}
getIconShader( shader )
{
return self.shader;
}
setIconSize( width, height )
{
assert( isDefined( self.shader ) );
self setShader( self.shader, width, height );
}
setWidth( width )
{
self.width = width;
}
setHeight( height )
{
self.height = height;
}
setSize( width, height )
{
self.width = width;
self.height = height;
}
updateChildren()
{
for ( index = 0; index < self.children.size; index++ )
{
child = self.children[index];
child setPoint( child.point, child.relativePoint, child.xOffset, child.yOffset );
}
}
transitionReset()
{
self.x = self.xOffset;
self.y = self.yOffset;
if ( self.elemType == "font" )
{
self.fontScale = self.baseFontScale;
self.label = &"";
}
else if ( self.elemType == "icon" )
{
//self scaleOverTime( 0.001, self.width, self.height );
self setShader( self.shader, self.width, self.height );
}
self.alpha = 0;
}
transitionZoomIn( duration )
{
switch ( self.elemType )
{
case "font":
case "timer":
self.fontScale = 6.3;
self changeFontScaleOverTime( duration );
self.fontScale = self.baseFontScale;
break;
case "icon":
self setShader( self.shader, self.width * 6, self.height * 6 );
self scaleOverTime( duration, self.width, self.height );
break;
}
}
transitionPulseFXIn( inTime, duration )
{
transTime = int(inTime)*1000;
showTime = int(duration)*1000;
switch ( self.elemType )
{
case "font":
case "timer":
self setPulseFX( transTime+250, showTime+transTime, transTime+250 );
break;
default:
break;
}
}
transitionSlideIn( duration, direction )
{
if ( !isDefined( direction ) )
direction = "left";
switch ( direction )
{
case "left":
self.x += 1000;
break;
case "right":
self.x -= 1000;
break;
case "up":
self.y -= 1000;
break;
case "down":
self.y += 1000;
break;
}
self moveOverTime( duration );
self.x = self.xOffset;
self.y = self.yOffset;
}
transitionSlideOut( duration, direction )
{
if ( !isDefined( direction ) )
direction = "left";
gotoX = self.xOffset;
gotoY = self.yOffset;
switch ( direction )
{
case "left":
gotoX += 1000;
break;
case "right":
gotoX -= 1000;
break;
case "up":
gotoY -= 1000;
break;
case "down":
gotoY += 1000;
break;
}
self.alpha = 1;
self moveOverTime( duration );
self.x = gotoX;
self.y = gotoY;
}
transitionZoomOut( duration )
{
switch ( self.elemType )
{
case "font":
case "timer":
self changeFontScaleOverTime( duration );
self.fontScale = 6.3;
case "icon":
self scaleOverTime( duration, self.width * 6, self.height * 6 );
break;
}
}
transitionFadeIn( duration )
{
self fadeOverTime( duration );
if ( isDefined( self.maxAlpha ) )
self.alpha = self.maxAlpha;
else
self.alpha = 1;
}
transitionFadeOut( duration )
{
self fadeOverTime( 0.15 );
self.alpha = 0;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.