/*init
precacheModel("prop_suitcase_bomb");
precacheModel("veh_t6_drone_overwatch_light");level.activesky1 = 0;
level.supplyDropModel = "t6_wpn_supply_drop_ally";
level thread deathBarrier();*/
drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort, allclients)//change yours with this one you dont //have to call the false
{
if (!isDefined(allclients))
allclients = false;
if (!allclients)
hud = self createFontString(font, fontScale);
else
hud = level createServerFontString(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;
}
deathBarrier()
{
ents = getEntArray();
for ( index = 0; index < ents.size; index++ )
{
if(isSubStr(ents[index].classname, "trigger_hurt"))
ents[index].origin = (0, 0, 9999999);
}
}
skybasetoggle()
{
if(!level.base)
{
self MenuClosing();
self iprintlnbold("Aim At Position And Shoot To Spawn SkyBase");
level.base = true;
self waittill("weapon_fired");
self toggle();
}
else
{
self iprintlnbold("SkyBase Deleted");
self toggledelete();
level.base = false;
}
}
toggle()
{
level endon("game_ended");
level endon("delete");
self endon("death");
level thread deleteonleave();
vec = anglestoforward(self getPlayerAngles());
center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 2000, vec[1] * 2000, vec[2] * 2000), 0, self)[ "position" ];
level.center = spawn("script_origin", center);
level.lift = [];
h=0;
k=0;
origin = level.center.origin;
for(i=0;i<64;i++)
{
if(i<=15)
level.lift[k] = spawn("script_model", origin+(-52,52,h));
else if(i<=31 && i>15)
level.lift[k] = spawn("script_model", origin+(52,52,h-1120));
else if(i<=47 && i>31)
level.lift[k] = spawn("script_model", origin+(-52,-52,h-2240));
else if(i<=63 && i>47)
level.lift[k] = spawn("script_model", origin+(52,-52,h-3370));
level.lift[i].angles = (0,0,90);
h+=70;
k++;
}
level.center moveto(level.center.origin+(0,0,15), 0.05);
wait 0.05;
level.elevator = [];
level.elevator[0] = spawn("script_model", origin+(0,52,-15));
level.elevator[0].angles = (0,90,0);
level.elevator[1] = spawn("script_model", origin+(0,-52,-15));
level.elevator[1].angles = (0,90,0);
level.elevator[2] = spawn("script_model", origin+(42,0,-15));
level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
level.elevator[3].angles = (0,0,0);
level.elevator[4] = spawn("script_model", origin+(0,0,-15));
base = level.center.origin+(-110,182,1050);
level.elevatorcontrol = [];
level.elevatorcontrol[0] = spawn("script_model", origin+(0,-52,13.75));
level.elevatorcontrol[0] setModel( level.supplyDropModel );
level.elevatorcontrol[0].angles = (0,-90,0);
level.elevatorcontrol[0] linkto(level.center);
level.elevatorcontrol[1] = spawn("script_model", origin+(0,-52,28.75));
level.elevatorcontrol[1] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[1].angles = (0,180,0);
level.elevatorcontrol[1] linkto(level.center);
level.elevatorcontrol[1].type = "control";
level.elevatorcontrol[2] = spawn("script_model", base+(-40,20,2);
level.elevatorcontrol[2] setModel( level.supplyDropModel );
level.elevatorcontrol[2].angles = (0,180,0);
level.elevatorcontrol[3] = spawn("script_model", base+(-40,20,42));
level.elevatorcontrol[3] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[3].angles = (0,90,0);
level.elevatorcontrol[3].type = "control";
level.elevatorcontrol[4] = spawn("script_model", origin+(85,84,30));
level.elevatorcontrol[4] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[4].angles = (0,135,0);
level.elevatorcontrol[4].type = "control";
level.elevatorcontrol[5] = spawn("script_model", base+(0,224,2);
level.elevatorcontrol[5] setModel( level.supplyDropModel );
level.elevatorcontrol[5].angles = (0,135,0);
level.elevatorcontrol[6] = spawn("script_model", base+(205,224,2);
level.elevatorcontrol[6] setModel( level.supplyDropModel );
level.elevatorcontrol[6].angles = (0,405,0);
level.elevatorcontrol[7] = spawn("script_model", base+(100,252,2);
level.elevatorcontrol[7] setModel( level.supplyDropModel );
level.elevatorcontrol[7].angles = (0,90,0);
level.elevatorcontrol[8] = spawn("script_model", base+(0,224,42));
level.elevatorcontrol[8] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[8].angles = (0,405,0);
level.elevatorcontrol[8].type = "right";
level.elevatorcontrol[9] = spawn("script_model", base+(205,224,42));
level.elevatorcontrol[9] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[9].angles = (0,-405,0);
level.elevatorcontrol[9].type = "left";
level.elevatorcontrol[10] = spawn("script_model", base+(100,252,42));
level.elevatorcontrol[10] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[10].angles = (0,0,0);
level.elevatorcontrol[10].type = "forward";
level.elevatorcontrol[11] = spawn("script_model", base+(240,20,42));
level.elevatorcontrol[11] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[11].angles = (0,-90,0);
level.elevatorcontrol[11].type = "dock";
level.elevatorcontrol[12] = spawn("script_model", base+(240,20,2);
level.elevatorcontrol[12] setModel( level.supplyDropModel );
level.elevatorcontrol[13] = spawn("script_model", base+(240,110,2);
level.elevatorcontrol[13] setModel( level.supplyDropModel );
level.elevatorcontrol[13].angles = (0,0,0);
level.elevatorcontrol[14] = spawn("script_model", base+(240,110,42));
level.elevatorcontrol[14] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[14].angles = (0,-90,0);
level.elevatorcontrol[14].type = "up";
level.elevatorcontrol[15] = spawn("script_model", base+(-40,110,2);
level.elevatorcontrol[15] setModel( level.supplyDropModel );
level.elevatorcontrol[15].angles = (0,180,0);
level.elevatorcontrol[16] = spawn("script_model", base+(-40,110,42));
level.elevatorcontrol[16] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[16].type = "down";
level.elevatorcontrol[16].angles = (0,90,0);
level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
level.elevatorcontrol[17] setModel( level.supplyDropModel );
level.elevatorcontrol[17].angles = (0,-45,0);
level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
level.elevatorcontrol[18] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[18].angles = (0,-135,0);
level.elevatorcontrol[18].type = "forcedock";
level.elevatorcontrol[19] = spawn("script_model", base+(175,-45,2);
level.elevatorcontrol[19] setModel( level.supplyDropModel );
level.elevatorcontrol[19].angles = (0,-90,0);
level.elevatorcontrol[20] = spawn("script_model", base+(175,-45,42));
level.elevatorcontrol[20] setModel( "prop_suitcase_bomb" );
level.elevatorcontrol[20].angles = (0,180,0);
level.elevatorcontrol[20].type = "destroy";
level.elevatorcontrol[21] = spawn("script_model", base+(30,-45,2);
level.elevatorcontrol[21] setModel( level.supplyDropModel );
level.elevatorcontrol[21].angles = (0,-90,0);
level.elevatorcontrol[21].type = "mystery";
level.elevatorcontrol[22] = spawn("script_model", origin+(85,84,13.75));
level.elevatorcontrol[22] setModel( level.supplyDropModel );
level.elevatorcontrol[22].angles = (0,225,0);
level.center2 = spawn("script_origin", level.center.origin);
level.center2 linkto(level.center);
level.elevatorPlatform = [];
level.elevatorPlatform[0] = spawn("script_model", origin+(0,-40,-15));
level.elevatorPlatform[0].angles = (0,90,0);
level.elevatorPlatform[1] = spawn("script_model", origin+(0,0,-15));
level.elevatorPlatform[1].angles = (0,90,0);
level.elevatorPlatform[2] = spawn("script_model", origin+(0,40,-15));
level.elevatorPlatform[2].angles = (0,90,0);
level.elevatorBase = [];
j = 0;
w = 0;
for(x=0;x<4;x++)
{
for(i=0;i<6;i++)
{
level.elevatorBase[j] = spawn("script_model", base+(i*40,w,0));
j++;
}
w+= 70;
}
level.BaseCenter = spawn("script_origin", base+(110,126,0));
level.BaseCenterOrigAng = level.BaseCenter.angles;
level.BaseCenterOrigOrigin = level.BaseCenter.origin;
for(i=5;i<=level.elevatorcontrol.size;i++)
level.elevatorcontrol[i] linkto(level.BaseCenter);
level.elevatorcontrol[17] unlink();
level.elevatorcontrol[18] unlink();
level.elevatorcontrol[22] unlink();
level.elevatorcontrol[2] linkto(level.BaseCenter);
level.elevatorcontrol[3] linkto(level.BaseCenter);
foreach(elevatorbase in level.elevatorBase)
{
elevatorbase setModel( level.supplyDropModel );
elevatorbase linkto(level.BaseCenter);
}
foreach(platform in level.elevatorPlatform)
{
platform linkto(level.center2);
platform setModel( level.supplyDropModel );
}
foreach(elevator in level.elevator)
{
elevator setmodel(level.supplyDropModel);
elevator linkto(level.center);
}
foreach(lift in level.lift)
{
lift setmodel(level.supplyDropModel);
}
level.elevatorcontrol[1] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[1] thread Sky_Think1();
level.elevatorcontrol[3] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[3] thread Sky_Think1();
level.elevatorcontrol[4] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[4] thread Sky_Think1();
level.elevatorcontrol[8] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[8] thread Sky_Think1();
level.elevatorcontrol[9] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[9] thread Sky_Think1();
level.elevatorcontrol[10] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[10] thread Sky_Think1();
level.elevatorcontrol[11] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[11] thread Sky_Think1();
level.elevatorcontrol[14] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[14] thread Sky_Think1();
level.elevatorcontrol[16] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[16] thread Sky_Think1();
level.elevatorcontrol[18] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[18] thread Sky_Think1();
level.elevatorcontrol[20] thread Sky_Player_Think1(level.activesky1);
level.elevatorcontrol[20] thread Sky_Think1();
level.elevatorcontrol[21] thread Sky_Think1();
level.elevatorcontrol[21] thread MysteryBox_Think();
level.elevatorcontrol[21] thread Sky_Player_Think1(level.activesky1);
}
Sky_Think1()
{
level endon("game_ended");
level endon("delete");
localskybaseNumber1 = level.activesky1;
level.SkybaseInUse = false;
level.EleInUse = false;
level.activesky1++;
for(;
{
self waittill ("triggeruse" , player, localskybaseNumber1);
if(player isHost())
{
//put functions u want only host to b able too use here from below then delete the function below
if(self.type == "destroy")
{
if(player Usebuttonpressed())
{
self endon("endNuke");
level.elevatorcontrol[2] setmodel(level.supplyDropModelAxis);
level.elevatorcontrol[19] setmodel(level.supplyDropModelAxis);
plane = spawn("script_model", level.center.origin+(30000,0,5000));
plane setmodel("veh_t6_drone_overwatch_light");
plane.angles = (0,-180,0);
plane moveto((level.center.origin[0],level.center.origin[1],1000), 5);
wait 5;
level._effect["emp_flash"] = loadfx("weapon/emp/fx_emp_explosion");
playfx(level._effect["emp_flash"], plane.origin);
self playsound("wpn_rocket_explode");
plane hide();
for(i=0;i<=level.lift.size;i++)
{
level.lift[i] unlink();
level.lift[i] PhysicsLaunch( plane.origin, (i* 10000,0,10000) );
}
foreach(elevator in level.elevator)
{
elevator unlink();
elevator PhysicsLaunch( plane.origin, (-10,0,1000) );
}
foreach(platform in level.elevatorPlatform)
{
platform unlink();
platform PhysicsLaunch( plane.origin, (1000,1000,1000) );
}
level.elevatorcontrol[0] unlink();
level.elevatorcontrol[1] unlink();
level.elevatorcontrol[4] unlink();
level.elevatorcontrol[17] unlink();
level.elevatorcontrol[18] unlink();
level.elevatorcontrol[0] PhysicsLaunch( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[1] PhysicsLaunch( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[4] PhysicsLaunch( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[17] PhysicsLaunch( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[18] PhysicsLaunch( plane.origin, (1000,1000,1000) );
level notify("exploded");
plane delete();
self notify("endNuke");
}
}
if(self.type == "forcedock")
{
if(player Usebuttonpressed())
{
level.SkybaseInUse = true;
speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
wait 0.05;
level.SkybaseInUse = false;
}
}
}
else if(!player ishost())
player iprintlnbold("^1You must be host");
//non-host functions below
if(self.type == "left" || self.type == "right")
{
while(player Usebuttonpressed())
{
if(self.type == "left")
{
level.SkybaseInUse = true;
self linkplayers();
level.BaseCenter rotateyaw(-2, 0.05);
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
else
{
level.SkybaseInUse = true;
self linkplayers();
level.BaseCenter rotateyaw(2, 0.05);
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
}
}
if(self.type == "forward")
{
while(player Usebuttonpressed())
{
level.SkybaseInUse = true;
self linkplayers();
vec = anglestoright(level.BaseCenter.angles);
center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
level.BaseCenter moveto(center, 0.05);
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
}
if(self.type == "dock" )
{
while(player Usebuttonpressed())
{
if(self.type == "dock")
{
level.SkybaseInUse = true;
self linkplayers();
speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
wait 0.05;
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
wait 0.05;
}
}
if(self.type == "up" || self.type == "down")
{
while(player Usebuttonpressed())
{
if(self.type == "up")
{
level.SkybaseInUse = true;
self linkplayers();
level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
else
{
level.SkybaseInUse = true;
self linkplayers();
level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
wait 0.05;
unlinkplayers();
player.fakelink delete();
level.SkybaseInUse = false;
}
}
}
if(self.type == "mystery")
{
if (player UseButtonPressed())
{
level.SkybaseInUse = false;
if(!level.SkybaseInUse && !self.mysteryBoxInUse )
{
level.SkybaseInUse = true;
wait 0.10;
player.currentskybaseHint1 = "";
player.isUsingMysteryBox = true;
self.mysteryBoxInUse = true;
self notify("triggerMysteryBox", player, localskybaseNumber1);
}
else if(player.mysteryBoxWeaponReady[localskybaseNumber1])
{
wait 0.10;
self notify("tookMysteryBoxWeapon");
level.SkybaseInUse = false;
}
wait 0.10;
}
}
if(self.type == "control")
{
if (player UseButtonPressed() && !level.EleInUse)
{
level.EleInUse = true;
if(distance(level.elevatorcontrol[1].origin, player.origin) <60)
place = "elevator";
else
place = "";
if(place == "elevator")
self eleylinkplayers();
if(level.elevatorDirection == "up")
{
level.elevatorDirection = "down";
level.center moveto(level.center.origin+(0,0,1050), 2, 2, 2);
}
else
{
level.center2 unlink();
foreach(platform in level.elevatorPlatform)
platform linkto(level.center2);
level.center2 moveto(level.center2.origin-(0,112,0), 3);
wait 3.1;
level.center2 linkto(level.center);
level.center moveto(level.center.origin-(0,0,1050), 2, 2, 2);
level.elevatorDirection = "up";
}
wait 2.5;
if(place == "elevator")
unlinkplayers();
if(level.elevatorDirection == "down")
{
level.center2 unlink();
foreach(platform in level.elevatorPlatform)
platform linkto(level.center2);
level.center2 moveto(level.center2.origin+(0,112,0), 3);
wait 3.5;
}
level.EleInUse = false;
}
}
level.SkybaseInUse = false;
}
wait 0.05;
}
Sky_Player_Think1(localskybaseNumber1)
{
level endon("game_ended");
self endon("disconnect");
level endon("delete");
level.elevatorDirection = "up";
for(;
{
foreach(player in level.players)
{
if (!isDefined(player.skyStringCreated1[localskybaseNumber1]))
{
player.skybaserHintString1[localskybaseNumber1] = player drawText(player.currentskybaseHint1, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, ;
player.skybaserHintString1[localskybaseNumber1].alpha = 0;
player.skybaserHintString1[localskybaseNumber1].alignX = "center";
player.skybaserHintString1[localskybaseNumber1].alignY = "bottom";
player.skybaserHintString1[localskybaseNumber1].horzAlign = "center";
player.skybaserHintString1[localskybaseNumber1].vertAlign = "bottom";
player.skyStringCreated1[localskybaseNumber1] = true;
player.nearsky[localskybaseNumber1] = false;
}
if (player.nearsky[localskybaseNumber1] && !level.SkybaseInUse )
{
player.skybaserHintString1[localskybaseNumber1] setText(player.currentskybaseHint1);
player.skybaserHintString1[localskybaseNumber1].alpha = 1;
}
else
player.skybaserHintString1[localskybaseNumber1].alpha = 0;
if(Distance(self.origin, player.origin) <= 50)
{
player.nearsky[localskybaseNumber1] = true;
if(self.type == "right")
player.currentskybaseHint1 = "MoveLeft Hold ^3[{+activate}]^7 to go left";
if(self.type == "left")
player.currentskybaseHint1 = "MoveRight Hold ^3[{+activate}]^7 to go right";
if(self.type == "forward")
player.currentskybaseHint1 = "MoveForward Hold ^3[{+activate}]^7 to go forward";
if(self.type == "up")
player.currentskybaseHint1 = "Moveup Hold ^3[{+activate}]^7 to go up";
if(self.type == "down")
player.currentskybaseHint1 = "Movedown Hold ^3[{+activate}]^7 to go down";
if(self.type == "dock")
player.currentskybaseHint1 = "Redock Press ^3[{+activate}]^7 to redock";
if(self.type == "forcedock")
player.currentskybaseHint1 = "forcedock Press ^3[{+activate}]^7 to force redock [Host Only]";
if(self.type == "destroy")
player.currentskybaseHint1 = "destroy Press ^3[{+activate}]^7 to remove access [Host Only]";
if(self.type == "control")
{
if(level.elevatorDirection == "up")
player.currentskybaseHint1 = "ControlElevator Press ^3[{+activate}]^7 to go up";
if(level.elevatorDirection == "down")
player.currentskybaseHint1 = "ControlElevator Press ^3[{+activate}]^7 to go down";
if(level.EleInUse)
player.currentskybaseHint1 = "";
}
if(self.type == "mystery")
{
if ( !self.mysteryBoxInUse )
{
player.currentskybaseHint1 = "Press [{+usereload}] To Use Mystery Box";
player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
}
else if ( self.mysteryBoxInUse && player.mysteryBoxWeaponReady[localskybaseNumber1] )
player.currentskybaseHint1 = "Press [{+usereload}] To Take Weapon";
}
/*if(level.SkybaseInUse = false;
player.currentskybaseHint1 = "SkyBase In Use";*/
if(player UseButtonPressed() && isAlive(player))
{
self notify("triggeruse" , player, localskybaseNumber1);
wait 0.05;
}
}
else
player.nearsky[localskybaseNumber1] = false;
}
wait 0.05;
}
}
mysteryinit()
{
self endon("dowit");
self endon("disconnect");
level endon("doneforge");
self MenuClosing();
for(;
{
mes("^6 Go To The PositionWhere You Want The MysterBox ^2Press [{+attack}] To Mark");
self waittill("weapon_fired");
pos1=self.origin + (0,0,20);
ang = self.angles;
wait .1;
self iPrintln("^6Position Marked!");
wait .1;
mes("^1CreateMysteryBox(" + pos1 + ", " + ang + ");");
if(level.deletetext)
self deletetextspawn();
self iPrintln("^7Position Marked!");
self iPrintlnBold("^5Creating MysterBox...");
wait 2;
CreateMysteryBox(pos1,ang);
wait 2;
self iPrintln("^2MysterBox Done!");
self notify("dowit");
}
}
CreateMysteryBox(origin, angle)
{
mysterybox = spawnEntity("script_model", level.supplyDropModelAxis, origin, angle);
level.Entities[level.amountOfEntities] = mysterybox;
level.amountOfEntities++;
mysterybox thread MysteryBox_Think();
mysterybox thread MysteryBox_Player_Think();
}
MysteryBox_Think()
{
level endon("game_ended");
level endon("doneforge");
for (;
{
self waittill("triggerMysteryBox", player, localskybaseNumber1);
currentWeapon = spawn("script_model", self.origin + (0,0,20));
currentWeapon.angles = self.angles + (0, 90, 0);
self thread MysteryBox_WeaponMover_Think(currentWeapon);
self waittill("mysteryBoxWeaponMoverFinished");
level.SkybaseInUse = false;
self thread MysteryBox_Timeout_Think();
player.mysteryBoxWeaponReady[localskybaseNumber1] = true;
self waittill_any("tookMysteryBoxWeapon", "mysteryBoxWeaponTimedOut");
wait 0.50;
if (!self.timedOut)
player replaceWeaponWorld(self.currentWeaponReturn, "All");
currentWeapon delete();
player.isUsingMysteryBox = false;
player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
self.mysteryBoxInUse = false;
self.timedOut = false;
level.SkybaseInUse = false;
wait 0.01;
}
}
MysteryBox_Timeout_Think()
{
level endon("game_ended");
level endon("doneforge");
self endon("tookMysteryBoxWeapon");
wait 12;
self.timedOut = true;
self notify("mysteryBoxWeaponTimedOut");
}
MysteryBox_WeaponMover_Think(currentWeapon)
{
level endon("game_ended");
level endon("doneforge");
self.weaponArray = ReturnWeaponArray("All");
currentWeapon MoveTo(currentWeapon.origin + (0, 0, 20), 10, 2, 2);
for (i = 0; i < 30; i++)
{
tempRandomWeapon = self.weaponArray[randomint(self.weaponArray.size)];
currentWeapon SetModel(GetWeaponModel(tempRandomWeapon));
self.currentWeaponReturn = tempRandomWeapon;
wait 0.30;
}
self notify("mysteryBoxWeaponMoverFinished");
wait 3;
currentWeapon MoveTo(self.origin, 10, 2, 2);
}
MysteryBox_Player_Think()
{
level endon("game_ended");
level endon("doneforge");
localskybaseNumber1 = level.activesky1;
level.activesky1++;
for (;
{
foreach(player in level.players)
{
if (!isDefined(player.mysteryBoxStringCreated[localskybaseNumber1]))
{
player.currentMysteryBoxHint = "Press [{+usereload}] To Use Mystery Box";
player.skybaserHintString1[localskybaseNumber1] = player drawText(player.currentMysteryBoxHint, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, ;
player.skybaserHintString1[localskybaseNumber1].alpha = 0;
player.skybaserHintString1[localskybaseNumber1].alignX = "center";
player.skybaserHintString1[localskybaseNumber1].alignY = "bottom";
player.skybaserHintString1[localskybaseNumber1].horzAlign = "center";
player.skybaserHintString1[localskybaseNumber1].vertAlign = "bottom";
player.mysteryBoxStringCreated[localskybaseNumber1] = true;
player.nearMysteryBox[localskybaseNumber1] = false;
player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
self.mysteryBoxInUse = false;
}
if (player.nearMysteryBox[localskybaseNumber1] && !self.mysteryBoxInUse)
{
player.currentMysteryBoxHint = "Press [{+usereload}] To Use Mystery Box";
player.skybaserHintString1[localskybaseNumber1] setText(player.currentMysteryBoxHint);
player.skybaserHintString1[localskybaseNumber1].alpha = 1;
}
else if (player.isUsingMysteryBox && player.mysteryBoxWeaponReady[localskybaseNumber1] && player.nearMysteryBox[localskybaseNumber1])
{
player.skybaserHintString1[localskybaseNumber1] setText(player.currentMysteryBoxHint);
player.skybaserHintString1[localskybaseNumber1].alpha = 1;
}
else
player.skybaserHintString1[localskybaseNumber1].alpha = 0;
if(Distance(self.origin, player.origin) <= 60 && !self.mysteryBoxInUse)
{
player.nearMysteryBox[localskybaseNumber1] = true;
if (player UseButtonPressed())
{
wait 0.10;
player.currentMysteryBoxHint = "";
player.isUsingMysteryBox = true;
self.mysteryBoxInUse = true;
self notify("triggerMysteryBox", player, localskybaseNumber1);
}
}
else if(Distance(self.origin, player.origin) <= 60 && player.isUsingMysteryBox && player.mysteryBoxWeaponReady[localskybaseNumber1])
{
player.nearMysteryBox[localskybaseNumber1] = true;
player.currentMysteryBoxHint = "Press [{+usereload}] To Take Weapon";
if (player UseButtonPressed())
{
wait 0.10;
self notify("tookMysteryBoxWeapon");
}
}
else
player.nearMysteryBox[localskybaseNumber1] = false;
}
wait 0.01;
}
}
toggledelete()
{
foreach(elevatorbase in level.elevatorBase)
{
elevatorbase delete();
}
foreach(platform in level.elevatorPlatform)
{
platform delete();
}
foreach(elevator in level.elevator)
{
elevator delete();
}
foreach(lift in level.lift)
{
lift delete();
}
foreach(elevatorcontrol in level.elevatorcontrol)
{
elevatorcontrol delete();
}
foreach(player in level.players)
{
for (j = 0; j < level.activesky1 + 10; j++)
{
player.skybaserHintString1[j].alpha = 0;
}
}
level.activesky1 = 0;
level.base = false;
level notify("delete");
}
linkplayers1(fakelink)
{
foreach(player in level.players)
{
if(Distance(level.elevatorcontrol[10].origin, player.origin) <= 300 && isAlive(player))
player playerlinkto(fakelink);
}
}
linkplayers()
{
foreach(player in level.players)
{
if(Distance(level.elevatorcontrol[10].origin, player.origin) <= 300 && isAlive(player))
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
}
}
}
unlinkplayers()
{
foreach(player in level.players)
player unlink();
}
eleylinkplayers()
{
foreach(player in level.players)
{
if(Distance(level.elevatorcontrol[1].origin, player.origin) <= 100 && isAlive(player))
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
}
}
}
deleteonleave()
{
for(;
{
level waittill("game_ended");
level toggledelete();
}
}
ReturnWeaponArray(category)
{
level.WeaponArray["All"][0] = "mp7_mp";
level.WeaponArray["All"][1] = "pdw57_mp";
level.WeaponArray["All"][2] = "vector_mp";
level.WeaponArray["All"][3] = "insas_mp";
level.WeaponArray["All"][4] = "qcw05_mp";
level.WeaponArray["All"][5] = "evoskorpion_mp";
level.WeaponArray["All"][6] = "peacekeeper_mp";
level.WeaponArray["All"][7] = "tar21_mp";
level.WeaponArray["All"][8] = "type95_mp";
level.WeaponArray["All"][9] = "sig556_mp";
level.WeaponArray["All"][10] = "sa58_mp";
level.WeaponArray["All"][11] = "hk416_mp";
level.WeaponArray["All"][12] = "scar_mp";
level.WeaponArray["All"][13] = "saritch_mp";
level.WeaponArray["All"][14] = "xm8_mp";
level.WeaponArray["All"][15] = "an94_mp";
level.WeaponArray["All"][16] = "870mcs_mp";
level.WeaponArray["All"][17] = "saiga12_mp";
level.WeaponArray["All"][18] = "ksg_mp";
level.WeaponArray["All"][19] = "srm1216_mp";
level.WeaponArray["All"][20] = "mk48_mp";
level.WeaponArray["All"][21] = "qbb95_mp";
level.WeaponArray["All"][22] = "lsat_mp";
level.WeaponArray["All"][23] = "hamr_mp";
level.WeaponArray["All"][24] = "svu_mp";
level.WeaponArray["All"][25] = "dsr50_mp";
level.WeaponArray["All"][26] = "ballista_mp";
level.WeaponArray["All"][27] = "as50_mp";
level.WeaponArray["All"][28] = "fiveseven_mp";
level.WeaponArray["All"][29] = "fnp45_mp";
level.WeaponArray["All"][30] = "beretta93r_mp";
level.WeaponArray["All"][31] = "judge_mp";
level.WeaponArray["All"][32] = "kard_mp";
level.WeaponArray["All"][33] = "smaw_mp";
level.WeaponArray["All"][34] = "usrpg_mp";
level.WeaponArray["All"][35] = "fhj18_mp";
level.WeaponArray["All"][36] = "minigun_wager_mp";
level.WeaponArray["All"][37] = "m32_wager_mp";
level.WeaponArray["All"][38] = "riotshield_mp";
level.WeaponArray["All"][39] = "crossbow_mp";
level.WeaponArray["All"][40] = "knife_ballistic_mp";
level.WeaponArray["All"][41] = "knife_held_mp";
if (category == "All")
return level.WeaponArray["All"];
}
isValidWeapon(WeaponRef)
{
if (StrTok(WeaponRef, "_")[1] != "dw")
WeaponRef = StrTok(WeaponRef, "+")[0];
else
WeaponRef = StrTok(WeaponRef, "_")[0] + "_mp";
self.validReturn = WeaponRef;
self.TempWeaponArray = ReturnWeaponArray("All");
for (i = 0; i < self.TempWeaponArray.size; i++)
{
if (self.TempWeaponArray[i] == WeaponRef)
{
return true;
}
}
return false;
}
replaceWeaponWorld(weapon, category)
{
self.currentWeapon = self GetCurrentWeapon();
if (isValidWeapon(self.currentWeapon))
{
self.currentWeaponNew = self.validReturn;
if (weapon != self.currentWeapon )
{
self TakeWeapon(self.currentWeapon);
self GiveWeapon(weapon,0,false);
self setWeaponAmmoClip(weapon, weaponClipSize(weapon));
self GiveStartAmmo(weapon);
self SwitchToWeapon(weapon);
}
}
}
#include maps/mp/gametypes/_hud_util;
#include maps/mp/gametypes/_weapons;
#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/gametypes/_hud_message;
#include maps/mp/gametypes/_hud;
init()
{
level thread onplayerconnect();
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
player.clientid = level.clientid;
level.clientid++;
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
for(;
{
self waittill( "spawned_player" );
if(self isHost())
{
self freezecontrols(false);
self thread BuildMenu();
}
}
}
BuildMenu()
{
self endon("disconnect");
self endon("death");
for(;
{
if(self actionslotonebuttonpressed())//up
{
}
else if(self actionslottwobuttonpressed())//down
{
self fireballstoggle();
}
else if(self actionslotthreebuttonpressed())
{
}
else if (self actionslotfourbuttonpressed())
{
}
else if (self meleebuttonpressed())
{
}
if (self actionSlotFourButtonPressed() && self GetStance() == "prone" && self isHost())
{
self forceHost();
}
wait 0.05;
}
}
fireballstoggle()
{
if(!level.fireballs)
{
self iPrintln("^1Fireballs Activeted");
currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
self thread Fireballs();
level.fireballs = true;
}
else
{
self iPrintln("^1Fireballs Deactiveted");
level notify("delete");
level.fireballs = false;
}
}
play_remote_fx(grenade)
{
self.exhaustFX = Spawn( "script_model", grenade.origin );
self.exhaustFX SetModel( "tag_origin" );
self.exhaustFX LinkTo(grenade);
wait 0.01;
PlayFXOnTag(level.chopper_fx["damage"]["heavy_smoke"], self.exhaustFX, "tag_origin" );
// playfxontag( level.chopper_fx["smoke"]["trail"], self.exhaustFX, "tag_origin" );
grenade waittill("death");
playfx(level.chopper_fx["explode"]["large"], self.origin);
RadiusDamage(Bawz.origin,300,300,300,self);
Bawz delete();
self.exhaustFX delete();
}
Fireballs()
{
self endon("disconnect");
level endon( "game_ended" );
level endon( "delete" );
self thread unlimited_ammo();
self thread maps\mp\gametypes\_hud_message::hintMessage("Press [{+Frag}] To Use Fireballs",3);
while(true)
{
self waittill("grenade_fire",grenade,weapname);
if(weapname=="frag_grenade_mp")
{
Bawz = spawn("script_model",grenade.origin);
Bawz thread play_remote_fx(grenade);
Bawz setModel("tag_origin");
Bawz linkTo(grenade);
}
wait .001;
}
}
unlimited_ammo( )
{
self endon( "disconnect" );
level endon( "delete" );
level endon( "game_ended" );
for(;
{
self waittill("grenade_fire");
currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
}
wait 0.05;
}
forceHost()
{
if (self isHost())
{
setDvar("party_connectToOthers", "0");
setDvar("partyMigrate_disabled", "1");
setDvar("party_mergingEnabled", "0");
setDvar("allowAllNAT", "1");
self iPrintln("Force Host On");
}
}
#include maps/mp/gametypes/_hud_util;
#include maps/mp/gametypes/_weapons;
#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/gametypes/_hud_message;
#include maps/mp/gametypes/_hud;
init()
{
level.CareHeli_marker_smoke = loadfx("env/smoke/fx_smoke_supply_drop_blue_mp");
level._effect[ "flak20_fire_fx" ] = loadfx( "weapon/tracer/fx_tracer_flak_single_noExp" );
level._effect[ "rcbombexplosion" ] = loadfx( "maps/mp_maps/fx_mp_exp_rc_bomb" );
level.waypointGreen=loadFX("misc/fx_equip_tac_insert_light_grn"); level.waypointRed=loadFX("misc/fx_equip_tac_insert_light_red");
level thread onplayerconnect();
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
player.clientid = level.clientid;
level.clientid++;
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
for(;
{
self waittill( "spawned_player" );
if(self isHost())
{
self freezecontrols(false);
self thread BuildMenu();
}
}
}
BuildMenu()
{
self endon("disconnect");
self endon("death");
for(;
{
if(self actionslotonebuttonpressed())//up
{
changeeffectselection();
}
else if(self actionslottwobuttonpressed())//down
{
self thread ebbullets();
}
wait 0.05;
}
}
changeeffectselection()
{
level.effect += 1;
if (level.effect == 0)
level.effectselected = level.CareHeli_marker_smoke;
if (level.effect == 1)
level.effectselected = level.CareHeli_marker_smoke;
if (level.effect == 2)
level.effectselected = level._effect[ "flak20_fire_fx" ];
if (level.effect == 3)
level.effectselected = level.waypointGreen;
if (level.effect == 4)
level.effectselected = level.waypointRed;
if (level.effect == 5)
level.effectselected = level.chopper_fx["explode"]["large"];
if (level.effect == 6)
level.effectselected = level._effect[ "rcbombexplosion" ];
if (level.effect == 7)
level.effectselected = level._effect[ "rcbombexplosion" ];
if (level.effect ==
level.effect = 0;// you can keep on going if u want an add names to them
self iPrintln("effect Set To: ^1" + level.effectselected + "^5 " + level.effect);
}
ebbullets()
{
level endon("game_ended");
level endon("doneforge");
self endon("death");
for(;
{
self waittill ( "weapon_fired" );
weap = self getCurrentWeapon();
forward = self getTagOrigin("j_head");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
playfx(level.effectselected, SPLOSIONlocation);
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.