Post: [Release] Extincts List Of Functions
01-23-2017, 01:53 AM #1
Patrick
League Champion
(adsbygoogle = window.adsbygoogle || []).push({});
List Of Functions

Hello guys I have decided to make a thread on nextgenupdate with all my leaked functions so here you go people!

P.S. I know these functions could have been done better and i was planning on re-scripting them when i got round to adding them into my menu!


Here are some videos of the functions:



Launch Player
    LaunchPlayer( who, height )
{
launchWho = modelSpawner(who.origin, "tag_origin", (who.angles));
who playerLinkTo( launchWho );
power = randomintrange(500,700);
fwd = anglesToforward(launchWho.angles);
if(isDefined( launchWho ))
launchWho launch(vectorScale(fwd+(0,0,height), power));
oldOrigin = launchWho.origin;
wait .05;
while(oldOrigin != launchWho.origin)
{
oldOrigin = launchWho.origin;
wait .05;
}
launchWho delete();
}


Heli Carepackage Troll
    //Add these to the includes
#include maps/mp/killstreaks/_killstreaks;
#include maps\mp\killstreaks\_helicopter;

carepackageTroll( who )
{
if(!isDefined( self.heliTroll ))
{
self iprintln("Heli troll incoming, please wait.");
self thread carepackageTrollStart( who );
self.heliTroll = true;
}
else
iprintln("^1Error^7: Please wait until your pilot has returned.");
}
carepackageTrollStart( who )
{
self endon("disconnect");
heli = self.carepackageTroll;
who freezeControlsallowlook(true);
who thread createFlare( "env/smoke/fx_smoke_supply_drop_blue_mp", 3, 3.5, who.origin + (0,0,-10));
//chopper = spawnhelicopter( owner, origin, angles, model, targetname );
heli = spawnHelicopter(self, self.origin + (12000, 0, 1500), self.angles, "heli_guard_mp", "veh_t6_drone_overwatch_light");
heli setSpeed(750, 25);
heli setVehGoalPos(who.origin + (0,0,1500), 1);
heli waittillmatch( "goal" );
wait 2;
self thread maps\mp\killstreaks\_supplydrop::dropcrate(heli.origin + (0, 0, -80), self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 2;
heli thread heli_crash( "none", who, 0 );
heli waittill( "death" );
heli delete();
self.heliTroll = undefined;
}
createFlare( fx, num, time, origin )
{
for(e=0;e<num;e++)
{
self.createFlare = spawnFx(level._effect[ fx ], origin);
triggerFx(self.createFlare);
wait time;
}
}


Flashbang Troll
    FlashBangToggle( who )
{
if(!isDefined(who.isFlashed))
{
who thread FlashBangTroll( .2 );
who.isFlashed = true;
}
else
{
self notify("stop_Flashing");
who.isFlashed = undefined;
}
}

FlashBangTroll( num )
{
self endon("disconnect");
self endon("stop_Flashing");
for(;Winky Winky
{
self thread [[level.callbackPlayerDamage]]();
wait num;
}
}


Extincts Skybase
    buildPhysicsBase()
{
level endon("Destroy_Skybase");
level.basePos = self.origin;
level.physicsBase = [];

for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<7;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-70+a*40,22-e*70,225+x*160),"t6_wpn_supply_drop_ally", undefined, .1);//Floor & roof
for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(170-x*240,22-e*70,255+a*33),"t6_wpn_supply_drop_ally", undefined, .1);//Walls (2/4)
for(x=0;x<2;x++) for(e=0;e<3;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-20+e*70,40-x*385,255+a*33),"t6_wpn_supply_drop_ally",(0,90,0), .1);//Walls (4/4)

for(e=113;e<115;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=117;e<119;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=125;e<127;e++)
level.physicsBase[e] delete();

level.FlagEnter = modelSpawner(self.origin+(0,0,-10), "mp_flag_green");
level.FlagEnter thread enter_Skybase();

thread interior_Design();
}

enter_Skybase()
{
level.EnterBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Enter Skybase!");
while(isDefined(self))
{
level.EnterBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagExit.origin));
}
}

exit_Skybase()
{
level.ExitBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Exit Skybase!");
while(isDefined(self))
{
level.ExitBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagEnter.origin));
}
}

skybaseWindow(array)
{
level endon("Destroy_Skybase");
level.WindowTrigger = spawnTrig(self.origin,35,35,"HINT_NOICON","Press [{+melee}] To Open / Close The Window!");
while(isDefined(self))
{
level.WindowTrigger waittill("trigger",i);
if(i meleeButtonPressed() && !isDefined(level.skybaseMoving))
{
if(!isDefined(level.OpeningWindow))
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(33,2,.5,.5);
level.physicsBase[118] MoveZ(33,2,.5,.5);
level.physicsBase[113] MoveZ(-33.3,2,.5,.5);
level.physicsBase[117] MoveZ(-33.3,2,.5,.5);
wait 2;
level.OpeningWindow = true;
level.skybaseWindowInUse = undefined;
}
else
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(-33,2,.5,.5);
level.physicsBase[118] MoveZ(-33,2,.5,.5);
level.physicsBase[113] MoveZ(33.3,2,.5,.5);
level.physicsBase[117] MoveZ(33.3,2,.5,.5);
wait 2;
level.OpeningWindow = undefined;
level.skybaseWindowInUse = undefined;
}
}
}
}

interior_Design( action )
{
level endon("Destroy_Skybase");
level.Guns_Rand = [];
level.GunModel_Rand = strTok("dsr50_mp,ballista_mp,as50_mp,svu_mp", ",");

if(!isDefined(action))
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.WindowTrig thread skybaseWindow();
if(!isDefined(action))
{
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.Guns_RandTrig = modelSpawner(level.WindowTrigger.origin+(168,80,-15), "tag_origin");
level.TradeWeapon = modelSpawner(level.Guns_RandTrig.origin+(0,-115,-15), "t6_wpn_supply_drop_axis");
level.Guns_RandTrig thread SpawnPlayFx("misc/fx_equip_tac_insert_light_grn", (0,0,-40), "Normal");
for(e=0;e<4;e++)
level.Guns_Rand[level.Guns_Rand.size] = modelSpawner(level.Guns_RandTrig.origin+(sin(e*90)*7,cos(e*90)*7,0), getWeaponModel(level.GunModel_Rand[e]), (270,0,(e*90)));
foreach(model in level.Guns_Rand)
model linkTo(level.Guns_RandTrig);
level.Sentry_Gun = modelSpawner(level.physicsBase[117].origin+(0,-140,0), getWeaponModel("minigun_wager_mp"), (0,180,0));
level.DriveBase = modelSpawner(level.TradeWeapon.origin+(0,-140,0), "t6_wpn_supply_drop_axis");
level.DriveBase0 = modelSpawner(level.TradeWeapon.origin+(0,-140,16), "prop_suitcase_bomb", (0,270,0));
level.FlagExit = modelSpawner(level.Guns_RandTrig.origin+(-160,0,-30), "mp_flag_red");

thread enter_Skybase();
}

level.Guns_RandTrig thread SniperMonitor();
level.Guns_RandTrig thread UpdownMonitor();
level.Guns_RandTrig thread rotateEntYaw(360, 1);
level.TradeWeapon thread TradeWeapMonitor();
level.Sentry_Gun thread skyBaseTurret();
level.DriveBase thread skyBaseDrive();
level.FlagExit thread exit_Skybase();

level waittill("Refresh_Skybase");
level.TradeTrigger delete();
level.SniperTrigger delete();
level.DriveTrigger delete();
level.TurretTrigger delete();
level.WindowTrigger delete();
level.ExitBase delete();
}

skyBaseTurret()
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TurretTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Activate Sentry Gun!");
level.turretInUse = undefined;
while(true)
{
level.TurretTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.turretInUse))
{
level.turretInUse = true;
level.Sentry_Gun thread sentryTimeout();
level.Sentry_Gun thread sentryMonitor(i.pers["team"], i);
iprintln("Sentry gun active!");
while(isDefined(level.SentryActive))
wait .05;
level.Sentry_Gun waittill("rotatedone");
for(e=0;e<10;e++)
{
level.Sentry_Gun thread SpawnPlayFx("weapon/grenade/fx_spark_disabled_rc_car", (0,0,-6), "Normal");
level.Sentry_Gun rotateTo(level.TradeWeapon.angles + (0,180,0),.5);
wait .4;
}
wait 1;
level.turretInUse = undefined;
}
}
}

sentryMonitor(team, owner) //self inside here is the turret
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");

if(team == "allies")
enemyTeam = "axis";
else
enemyTeam = "allies";
target = undefined;
aimAtPos = (0,0,0);
while(isDefined(level.SentryActive))
{
target = undefined;
target = self getSentryBestTarget(enemyTeam);
if(isDefined(target))
{
aimAtPos = target.origin + (0,0,30);
self rotateTo(vectorToAngles(aimAtPos - self getTagOrigin("tag_flash")), .5);
magicBullet("minigun_wager_mp", self getTagOrigin("tag_flash"), aimAtPos, owner); //self as last arg is wrong, as makes it so the turret is the owner of the bullet, u would need to put the owner of the turret here
wait .05;
}
else
{
wait 1;
self rotateTo(level.TradeWeapon.angles + (0,180,0),1.5,.5,.5);
self waittill("rotatedone");
self rotateTo((0,self.angles[1]-60,0),1.5,.5,.5);
self waittill("rotatedone");
if(isDefined(level.SentryActive))
{
for(e=0;e<2;e++)
{
self rotateTo(self.angles+(0,120+e*120,0),3,.5,.5);
self waittill("rotatedone");
}
}
}
wait .05;
}
}

sentryTimeout()
{
level.SentryActive = true;
wait randomIntRange(20,40);
level.SentryActive = undefined;
}

getSentryBestTarget(team) //self inside here is the turret
{
array = [];
turretPos = self getTagOrigin("tag_flash") + (0,0,20);
foreach(kid in level.players)
if(isAlive(kid) && team == kid.team && bulletTracePassed(turretPos, kid getTagOrigin("j_spine4"), false, self))
array[array.size] = kid;
return getClosest(turretPos, array);
}

TradeWeapMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TradeTrigger = spawnTrig(level.TradeWeapon.origin,30,30,"HINT_NOICON","Press &&1 To Place Weapon/Pick Up Weapon!");
while(isDefined(self))
{
level.TradeTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(TableStatus == "Place")
{
level.WeaponPlaced = i getCurrentWeapon();
if(isSubStr(level.WeaponPlaced, "svu_") || isSubStr(level.WeaponPlaced, "dsr50_") || isSubStr(level.WeaponPlaced, "ballista_") || isSubStr(level.WeaponPlaced, "as50_"))
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,3,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
else
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,8,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
i takeWeapon(i getCurrentWeapon());
level.PlacedWeapon RotateRoll(720, 1, .3, .3);
wait 1.2;
level.PlacedWeapon moveTo(level.PlacedWeapon.origin+(0,0,-13), .2, .1, .1);
level.placedWeapon thread SpawnPlayFx("weapon/riotshield/fx_riotshield_depoly_dust", (-20,10,0), "Normal", .2);
wait .2;
TableStatus = "PickUp";
}
else
{
i giveweapon(level.WeaponPlaced,0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.WeaponPlaced);
level.PlacedWeapon delete();
wait .3;
TableStatus = "Place";
}
}
}
}

SniperMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.SniperTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Grab A Sniper!");
while(isDefined(self))
{
level.SniperTrigger waittill("trigger",i);
if(i useButtonPressed())
{
randomsniper = RandomIntRange(0,4);
if(i hasWeapon(level.GunModel_Rand[randomsniper]))
iprintln("");
else
i takeWeapon(i getCurrentWeapon());
i giveweapon(level.GunModel_Rand[randomsniper],0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.GunModel_Rand[randomsniper]);
level.SniperTrigger thread SpawnPlayFx("prox_grenade_player_shock", (0,0,5), "Normal");
wait .2;
}
}
}

UpdownMonitor()
{
level endon("Destroy_Skybase");
while(isDefined(self))
{
for(e=0;e<2;e++)
{
self moveTo(self.origin+(0,0,40+e*-80),3,.5,.5);
self waittill("movedone");
}
wait .3;
}
}

skyBaseDrive()
{
level endon("Destroy_Skybase");
level.DriveTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Drive Sky Base!");
driver = undefined;
while(true)
{
level.DriveTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(!isDefined(level.drivingSkybase))
{
level.drivingSkybase = i;
i.inSkybase = undefined;
driver = i;
break;
}
else
{
i iprintln("^1ERROR:^7 Someone is already flying the skybase");
}
}
}
if(!isDefined(level.driverSeat))
{
level.driverSeat = modelSpawner(self.origin+(300,140,50),"tag_origin");
level.linkTag = modelSpawner(self.origin+(0,140,50),"tag_origin");
}
level.driverSeat linkTo(level.linkTag);
driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.driverSeat);

foreach(model in level.physicsBase)
model linkTo(level.linkTag);

level.TradeWeapon linkTo(level.linkTag);
level.Sentry_Gun linkTo(level.linkTag);
level.DriveBase linkTo(level.linkTag);
level.DriveBase0 linkTo(level.linkTag);
level.WindowTrig linkTo(level.linkTag);
level.Guns_RandTrig linkTo(level.linkTag);
level.FlagExit linkTo(level.linkTag);

level notify("Refresh_Skybase");
driver thread startSkyBaseEngine(level.linkTag);
level.DrivingAllowed = true;
}
startSkyBaseEngine(tag)
{
level endon("Destroy_Skybase");
self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
weap = self getCurrentWeapon();
self disableWeapons();
self hide();
wait .5;
self thread rollSkyBase(tag);
self thread moveSkyBase(tag);
self.skyBaseSpeed = 0;
self enableInvulnerability();
while(isDefined(level.drivingSkybase))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
if(self adsButtonPressed())
{
self.skyBaseSpeed -= 5;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
}
if(self attackButtonPressed())
{
self.skyBaseSpeed++;
if(self.skyBaseSpeed > 80)
self.skyBaseSpeed = 80;
}
if(!self attackButtonPressed())
{
self.skyBaseSpeed--;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}
level.DrivingAllowed = undefined;
thread interior_Design( true );
self unlink(tag);
foreach(model in level.physicsBase)
model unlink();
level.TradeWeapon unlink();
level.Sentry_Gun unlink();
level.DriveBase unlink();
level.DriveBase0 unlink();
level.Guns_RandTrig unlink();
level.FlagExit unlink();
self setOrigin((level.DriveTrigger.origin));
self show();
level.drivingSkybase = undefined;
self setclientthirdperson(0);
self enableWeapons();
self switchToWeapon(weap);
}
rollSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(1.5)),.2,.05,.05);
wait .05;
}
}
moveSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
wait .05;
}
}


Ferris Wheel
    Spawn_Ferriswheel()
{
level endon("Destroy_Ferris");
level.ferrisOrg = self.origin;
level.speed = 0;

level.FerrisLegs = [];
level.FerrisSeats = [];
level.Ferris = [];
level.Ferris_Wheel = true;

level.FerrisAttach = modelSpawner(level.ferrisOrg + (0,0,420), "tag_origin");
level.FerrisLink = modelSpawner(level.ferrisOrg + (0,0,60), "tag_origin");
for(a=0;a<2;a++) for(e=0;e<30;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*12)*330, cos(e*12)*330), "t6_wpn_supply_drop_ally", (0,0,e*-12),.1);
for(a=0;a<2;a++) for(b=0;b<5;b++) for(e=0;e<15;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*24)*40+b*65, cos(e*24)*40+b*65), "t6_wpn_supply_drop_ally", (0,0,(e*-24)-90),.1);
for(e=0;e<15;e++)
level.FerrisSeats[level.FerrisSeats.size] = modelSpawner(level.ferrisOrg + (0,0,420) + (0,sin(e*24)*330, cos(e*24)*330), "t6_wpn_supply_drop_axis",(e*24,90,0),.1);
for(e=0;e<3;e++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (82-e*82,0,420),"t6_wpn_supply_drop_ally",(0,90,0),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,-220,0) + (0,a*28,a*60),"t6_wpn_supply_drop_ally",(0,0,65),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,220,0) + (0,a*-28,a*60),"t6_wpn_supply_drop_ally",(0,0,-65),.1);

foreach(model in level.Ferris)
model linkTo(level.FerrisAttach);
foreach(model in level.FerrisSeats)
model linkTo(level.FerrisAttach);

level.FerrisAttach thread ferrisRotate(1);
level.FerrisLink checkRidersFerris(level.FerrisSeats);
}

ferrisRotate(speed)
{
self thread doFerrisRotate(speed);
}

resetFerrisSpeed()
{
level.speed = 0;
self thread doFerrisRotate(1);
}

doFerrisRotate(speed)
{
level endon("Destroy_Ferris");
level.speed += speed;
if(level.speed >= 15)
level.speed = 15;
if(level.speed <= -15)
level.speed = -15;
iprintln(level.speed);
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
for(a=360;a<0;a-=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
wait .05;
}
}

checkRidersFerris(Array)
{
level endon("Destroy_Ferris");
level.ferrisTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Ferris Wheel!");
while(isDefined(self))
{
level.ferrisTrig waittill("trigger",i);
if(!isDefined(i.riding) && isPlayer(i) && i useButtonPressed())
{
Closest = getClosest(i.origin,Array);
Seat = modelSpawner(Closest.origin-anglesToRight(self.angles)*22,"script_origin",(0,90,0));
Seat thread seatAngleFix(Closest);
if(!isDefined(Closest.FerrisOccupied))
{
i setStance("crouch");
i.ridingFerris = true;
i PlayerLinkToDelta(Seat);
i thread playerExitFerry(Closest,Seat);
Closest.FerrisOccupied = true;
}
}
}
}

seatAngleFix(seat)
{
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self.angles = (0,90,0);
self MoveTo(seat.origin+(0,0,10),.1);
wait .05;
}
wait .05;
}
}

playerExitFerry(Seat,tag)
{
while(isDefined(level.Ferris_Wheel))
{
if(self fragButtonPressed()) break;
wait .05;
}
tag unLink();
tag delete();
self.ridingFerris = undefined;
Seat.FerrisOccupied = undefined;
self unlink();
}


Centrox
    Spawn_Centrox()
{
level endon("Stop_Centrox");
level.Centrox = [];
level.Seats = [];
level.Center = [];
level.Movements = modelSpawner(self.origin + (40,0,20), "tag_origin");
time = .1;
for(e = 0; e < 2; e++)
for(i = 0; i < 6; i++)
level.Center[level.Center.size] = modelSpawner(level.Movements.origin + (cos(i*60)*20,sin(i*60)*20, e*70), "t6_wpn_supply_drop_ally", (0,(i*60)+90,90), time);//Center
for(i = 0; i < 15; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*24)*70,sin(i*24)*70, -20), "t6_wpn_supply_drop_ally", (0,(i*24)+90,0), time);//floor inner
for(i = 0; i < 25; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*14.4)*140,sin(i*14.4)*140, -20), "t6_wpn_supply_drop_ally", (0,(i*14.4)+90,0), time);//floor outer
for(i = 0; i < 30; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*12)*185,sin(i*12)*185, 30), "t6_wpn_supply_drop_ally", (0,(i*12)+90,90), time);//Wall
for(i = 0; i < 10; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*36)*178,sin(i*36)*178, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+90,90), time);//Seats Visual
for(i = 0; i < 10; i++)
level.Seats[level.Seats.size] = modelSpawner(level.Movements.origin + (0,0,-40) + (cos(i*36)*165,sin(i*36)*165, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+180,0));//Seats

level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);//Doors Open
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);//Doors Open

level.Movements thread monitorPlayersCentrox(level.Seats);

wait 5;
level.Movements thread Monitor_Centrox();
level.Movements thread Spin_Centrox();
}

Monitor_Centrox()
{
level endon("Stop_Centrox");
while(isDefined(self))
{
wait 10;
level.RideActive = true;
level.Centrox[68] MoveTo(level.Centrox[67].origin+(13,40,0), .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin+(-13,-40,0), .3);
wait 3;
foreach(model in level.Centrox)
model LinkTo(level.Movements);
foreach(model in level.Seats)
model LinkTo(level.Movements);

for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]+Ext),.7);
wait .6;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(Ext*0.1, .7);
wait .1;
}
wait 5;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(0-Ext*0.1, .7);
wait .1;
}
wait 8;
}
level.RideActive = undefined;
for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]-Ext),.7);
wait .6;
}
foreach(model in level.Seats)
model unlink();
foreach(model in level.Centrox)
model Unlink();
wait .3;
level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);
foreach(rider in level.players)
rider unlink();
for(e = 0; e < 10; e++)
level.seatTaken[e] = undefined;
wait .05;
}
}

Spin_Centrox()
{
level endon("Stop_Centrox");
Speed = 0;
for(;Winky Winky
{
while(isDefined(self) && isDefined(level.RideActive))
{
self RotateYaw(Speed*0.4, .9);
Speed++;
wait .1;
}
Speed = 0;
wait .05;
}
}

monitorPlayersCentrox(Array)
{
level endon("Stop_Centrox");
level.CentroxTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Centrox!");
while(isDefined(self))
{
level.CentroxTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
closest = getClosest(i.origin,Array);
if(!closest.occupied)
{
i setStance("stand");
i.ridingCentox = true;
i PlayerLinkToAbsolute(closest);
i thread playerExitCentrox(closest);
closest.CentroxOccupied = true;
}
}
}
}

playerExitCentrox(seat)
{
level endon("Stop_Centrox");
self endon("death");
self endon("disconnect");
wait 1.5;
while(isDefined(seat))
{
if(self useButtonPressed() && !isDefined(level.RideActive))
break;
wait .05;
}
seat.CentroxOccupied = undefined;
self setStance("stand");
self unlink();
wait 1.5;
self.ridingCentox = undefined;
}


The Claw
    Build_TheClaw()
{
level endon("Destroy_Claw");
level.clawOrg = self.origin;
pos = level.clawOrg+(0,15,460);

level.ClawSeats = [];
level.claw = [];
level.legs = [];

level.attach = modelSpawner(level.clawOrg+(0,55,60),"tag_origin");
level.ClawLink = modelSpawner(pos,"tag_origin");

for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (-220,-145+e*320,0) + (a*28,0,a*60),"t6_wpn_supply_drop_ally",(25,0,90),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (220,-145+e*320,0) + (a*-28,0,a*60),"t6_wpn_supply_drop_ally",(-25,0,90),.1);
for(a=0;a<5;a++) for(e=0;e<8;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,-125+a*70,460) + (sin(-90+e*45)*25, 0, sin(e*45)*25), "t6_wpn_supply_drop_ally", ((e*45),180,0),.1);
for(a=0;a<8;a++) for(e=0;e<6;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,460) + (cos(a*45)*30,sin(a*45)*30, e*-70), "t6_wpn_supply_drop_ally", (0,(a*45)+90,90),.1);
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15, 60), "t6_wpn_supply_drop_ally", (0,90,90),.1);
for(a=0;a<2;a++) for(e=0;e<12;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,100) + (cos(e*30)*40+a*55,sin(e*30)*40+a*55, -70), "t6_wpn_supply_drop_ally", (0,(e*30)+-90+a*90,0),.1);
for(e=0;e<12;e++) level.ClawSeats[level.ClawSeats.size] = modelSpawner(level.clawOrg + (0,15,95) + (cos(e*30)*95,sin(e*30)*95, -70), "tag_origin", Undefined,.1);

foreach(model in level.claw)
model linkTo(level.ClawLink);
foreach(model in level.ClawSeats)
model linkTo(level.ClawLink);

level.ClawLink thread ClawMovements();
level.attach thread monitorPlayersClaw( level.ClawSeats );
}

ClawMovements()
{
level endon("Destroy_Claw");
for(a=0;a>=-40;a-=2)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a<=60;a+=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a>=-80;a-=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=100;a+=4)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
while(true)
{
for(a=a;a>=-105;a-=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=105;a+=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
wait .05;
}
}

monitorPlayersClaw(Array)
{
level endon("Destroy_Claw");
level.ClawTrig = spawnTrig(self.origin,150,80,"HINT_NOICON","Press &&1 To Enter / Exit The Claw!");
while(isDefined(self))
{
level.ClawTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
RandSeat = RandomIntRange( 0, 13 );
if(!RandSeat.occupied)
{
i setStance("stand");
i.riding = true;
i playerLinkToDelta(Array[RandSeat]);
i thread playerExitClaw(RandSeat);
RandSeat.occupied = true;
}
}
}
}
playerExitClaw(seat,info)
{
level endon("Destroy_Claw");
while(isDefined(seat))
{
if(self fragButtonPressed()) break;
wait .05;
}
info destroy();
self allowSprint(true);
self allowProne(true);
seat.occupied = undefined;
self unlink();
self setStance("stand");
wait 1;
self.riding = undefined;
}


Flyable Plane (Pretty shit compared to the one I re-scripted, don't recommend using)
    initial_plane( model, max, min, roll, bullet )
{
self endon("stop_plane");
self endon("disconnect");

level.PlaneCannonTag = [];

level.plane = modelSpawner(self.origin + (0,0,20), model, (0,180,0));
level.planeSeat = modelSpawner(self.origin + (500,0,100), "tag_origin");
level.PlanelinkTag = modelSpawner(self.origin + (100,0,70), "tag_origin");
for(e=0;e<2;e++)
level.PlaneCannonTag[e] = modelSpawner(self.origin + (100,-200+e*400,70), "tag_origin");
self thread plane_connons(level.PlaneCannonTag[0], level.PlaneCannonTag[1], bullet);

level.PlaneTrigger = spawnTrig(self.origin + (0,0,20),50,50,"HINT_NOICON","Press &&1 To Drive!");
driver = undefined;
while(true)
{
level.PlaneTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.drivingPlane))
{
level.drivingPlane = i;
driver = i;
break;
}
}

driver thread clasicExit(true);
driver thread plane_engine( level.PlanelinkTag, level.planeSeat, level.plane, max, min, roll );
level.planeSeat linkTo(level.PlanelinkTag);
level.plane linkTo(level.PlanelinkTag);
level.PlaneCannonTag[0] linkTo(level.PlanelinkTag);
level.PlaneCannonTag[1] linkTo(level.PlanelinkTag);

driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.planeSeat);
level.PlaneTrigger delete();
}

plane_engine( tag, seat, plane, max, min, roll )
{
self endon("stop_plane");
self endon("disconnect");

self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
self disableWeapons();
self hide();
wait .5;
self thread roll_plane(tag, roll);
self thread move_plane(tag);
self thread speed_indicator(max);
self.planeSpeed = 0;
self enableInvulnerability();

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
if(self adsButtonPressed())
{
self.planeSpeed -= 5;
if(self.planeSpeed < min)
self.planeSpeed = min;
}
if(self attackButtonPressed())
{
self.planeSpeed++;
if(self.planeSpeed > max)
self.planeSpeed = max;
}
if(!self attackButtonPressed())
{
self.planeSpeed--;
if(self.planeSpeed < min)
self.planeSpeed = min;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}

self unlink(tag);
tag delete();
seat delete();
plane delete();
for(e=0;e<2;e++)
level.PlaneCannonTag[e] delete();
self.SpeedIndibar destroy();
self.SpeedIndi destroy();
self show();
self setclientthirdperson(0);
self enableWeapons();
level.drivingPlane = undefined;
self notify("stop_plane");
}

plane_connons(tag0, tag1, bullet)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
if(self secondaryoffhandbuttonpressed())
magicBullet(bullet, tag0.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self fragbuttonpressed())
magicBullet(bullet, tag1.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self stancebuttonpressed())
{
self thread maps\mp\killstreaks\_supplydrop::dropcrate(tag1.origin + (0,0,-100) + AnglesToRight(self getPlayerAngles())*200, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait .2;
}
wait .05;
}
}

roll_plane(tag, roll)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(roll)),.2,.05,.05);
wait .05;
}
}

move_plane(tag)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
wait .05;
}
}

speed_indicator(max)
{
self endon("stop_plane");
self endon("disconnect");

self.SpeedIndibar = self createBar( (0, 1, 0), 150, 11 );
self.SpeedIndibar setPoint( "CENTER", "TOP", 0, 42 );
self.SpeedIndi = self createFontString( "default", 1.5 );
self.SpeedIndi setPoint( "CENTER", "TOP", 0, 22 );
self.SpeedIndi setText( "Speed Indicator!" );

while(isDefined(self.SpeedIndibar))
{
self.SpeedIndibar updateBar( self.planeSpeed / max );
wait 0.5;
}
}


Needed in most functions so add it anywhere in your project.
    modelSpawner(origin, model, angles, time)
{
if(isDefined(time))
wait time;
obj = spawn("script_model", origin);
obj setModel(model);
if(isDefined(angles))
obj.angles = angles;
if(getentarray().size >= 590)
{
self iprintln("^1Error^7: Please delete some other structures");
obj delete();
}
return obj;
}

createRoll( divide )
{
roll = self getPlayerAngles()[1];
wait 0.05;
return (((roll-self getPlayerAngles()[1])*-6) / divide);
}

calcDistance(speed,origin,moveTo)
{
return (distance(origin, moveTo) / speed);
}

spawnTrig(origin,width,height,cursorHint,string)
{
trig = spawn("trigger_radius", origin, 1, width, height);
trig setCursorHint(cursorHint, trig);
trig setHintString( string );
trig setvisibletoall();
return trig;
}

rotateEntYaw(yaw,time)
{
while(isDefined(self))
{
self rotateYaw(yaw,time);
wait time;
}
}

SpawnPlayFx(Fx,pos,ID,Delay,DelayFx)
{
if(getentarray().size <= 590)
{
if(!isDefined(pos))
pos = (0,0,0);
if(isDefined(Delay))
wait Delay;

if(ID == "Loop")
level.SpawnedFx[level.SpawnedFx.size] = PlayLoopedFX(level._effect[Fx], DelayFx, (self.origin + (pos)));
if(ID == "Normal")
level.SpawnedFx[level.SpawnedFx.size] = spawnFx(level._effect[Fx], (self.origin + (pos)));
triggerFx(level.SpawnedFx[level.SpawnedFx.size-1]);
}
}


If you do use any of these functions please credit the following
Extinct
Loz
Agreedbog
Last edited by Patrick ; 08-05-2017 at 07:44 PM.

The following 10 users say thank you to Patrick for this useful post:

/SneakerStreet/, andy_modzv1, anthonything, Frosty, Im_YouViolateMe, iRnZ, itsamnesia, Kronos, OfficialCoolJay, PONY_MODZ

The following 5 users groaned at Patrick for this awful post:

DF_AUS, DoraTheKiller97, oCmKs_4_LiFe, ProfoundModz, S63
01-23-2017, 03:21 PM #2
e1gh2j6
Pokemon Trainer
Omg :O
01-23-2017, 05:26 PM #3
oCmKs_4_LiFe
< ^ > < ^ >
Originally posted by Patrick View Post
List Of Functions

Hello guys I have decided to make a thread on nextgenupdate with all my leaked functions so here you go people!

P.S. I know these functions could have been done better and i was planning on re-scripting them when i got round to adding them into my menu!


Here are some videos of the functions:



Launch Player
    LaunchPlayer( who, height )
{
launchWho = modelSpawner(who.origin, "tag_origin", (who.angles));
who playerLinkTo( launchWho );
power = randomintrange(500,700);
fwd = anglesToforward(launchWho.angles);
if(isDefined( launchWho ))
launchWho launch(vectorScale(fwd+(0,0,height), power));
oldOrigin = launchWho.origin;
wait .05;
while(oldOrigin != launchWho.origin)
{
oldOrigin = launchWho.origin;
wait .05;
}
launchWho delete();
}


Heli Carepackage Troll
    //Add these to the includes
#include maps/mp/killstreaks/_killstreaks;
#include maps\mp\killstreaks\_helicopter;

carepackageTroll( who )
{
if(!isDefined( self.heliTroll ))
{
self iprintln("Heli troll incoming, please wait.");
self thread carepackageTrollStart( who );
self.heliTroll = true;
}
else
iprintln("^1Error^7: Please wait until your pilot has returned.");
}
carepackageTrollStart( who )
{
self endon("disconnect");
heli = self.carepackageTroll;
who freezeControlsallowlook(true);
who thread createFlare( "env/smoke/fx_smoke_supply_drop_blue_mp", 3, 3.5, who.origin + (0,0,-10));
//chopper = spawnhelicopter( owner, origin, angles, model, targetname );
heli = spawnHelicopter(self, self.origin + (12000, 0, 1500), self.angles, "heli_guard_mp", "veh_t6_drone_overwatch_light");
heli setSpeed(750, 25);
heli setVehGoalPos(who.origin + (0,0,1500), 1);
heli waittillmatch( "goal" );
wait 2;
self thread maps\mp\killstreaks\_supplydrop::dropcrate(heli.origin + (0, 0, -80), self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 2;
heli thread heli_crash( "none", who, 0 );
heli waittill( "death" );
heli delete();
self.heliTroll = undefined;
}
createFlare( fx, num, time, origin )
{
for(e=0;e<num;e++)
{
self.createFlare = spawnFx(level._effect[ fx ], origin);
triggerFx(self.createFlare);
wait time;
}
}


Flashbang Troll
    FlashBangToggle( who )
{
if(!isDefined(who.isFlashed))
{
who thread FlashBangTroll( .2 );
who.isFlashed = true;
}
else
{
self notify("stop_Flashing");
who.isFlashed = undefined;
}
}

FlashBangTroll( num )
{
self endon("disconnect");
self endon("stop_Flashing");
for(;Winky Winky
{
self thread [[level.callbackPlayerDamage]]();
wait num;
}
}


Extincts Skybase
    buildPhysicsBase()
{
level endon("Destroy_Skybase");
level.basePos = self.origin;
level.physicsBase = [];

for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<7;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-70+a*40,22-e*70,225+x*160),"t6_wpn_supply_drop_ally", undefined, .1);//Floor & roof
for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(170-x*240,22-e*70,255+a*33),"t6_wpn_supply_drop_ally", undefined, .1);//Walls (2/4)
for(x=0;x<2;x++) for(e=0;e<3;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-20+e*70,40-x*385,255+a*33),"t6_wpn_supply_drop_ally",(0,90,0), .1);//Walls (4/4)

for(e=113;e<115;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=117;e<119;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=125;e<127;e++)
level.physicsBase[e] delete();

level.FlagEnter = modelSpawner(self.origin+(0,0,-10), "mp_flag_green");
level.FlagEnter thread enter_Skybase();

thread interior_Design();
}

enter_Skybase()
{
level.EnterBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Enter Skybase!");
while(isDefined(self))
{
level.EnterBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagExit.origin));
}
}

exit_Skybase()
{
level.ExitBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Exit Skybase!");
while(isDefined(self))
{
level.ExitBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagEnter.origin));
}
}

skybaseWindow(array)
{
level endon("Destroy_Skybase");
level.WindowTrigger = spawnTrig(self.origin,35,35,"HINT_NOICON","Press [{+melee}] To Open / Close The Window!");
while(isDefined(self))
{
level.WindowTrigger waittill("trigger",i);
if(i meleeButtonPressed() && !isDefined(level.skybaseMoving))
{
if(!isDefined(level.OpeningWindow))
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(33,2,.5,.5);
level.physicsBase[118] MoveZ(33,2,.5,.5);
level.physicsBase[113] MoveZ(-33.3,2,.5,.5);
level.physicsBase[117] MoveZ(-33.3,2,.5,.5);
wait 2;
level.OpeningWindow = true;
level.skybaseWindowInUse = undefined;
}
else
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(-33,2,.5,.5);
level.physicsBase[118] MoveZ(-33,2,.5,.5);
level.physicsBase[113] MoveZ(33.3,2,.5,.5);
level.physicsBase[117] MoveZ(33.3,2,.5,.5);
wait 2;
level.OpeningWindow = undefined;
level.skybaseWindowInUse = undefined;
}
}
}
}

interior_Design( action )
{
level endon("Destroy_Skybase");
level.Guns_Rand = [];
level.GunModel_Rand = strTok("dsr50_mp,ballista_mp,as50_mp,svu_mp", ",");

if(!isDefined(action))
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.WindowTrig thread skybaseWindow();
if(!isDefined(action))
{
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.Guns_RandTrig = modelSpawner(level.WindowTrigger.origin+(168,80,-15), "tag_origin");
level.TradeWeapon = modelSpawner(level.Guns_RandTrig.origin+(0,-115,-15), "t6_wpn_supply_drop_axis");
level.Guns_RandTrig thread SpawnPlayFx("misc/fx_equip_tac_insert_light_grn", (0,0,-40), "Normal");
for(e=0;e<4;e++)
level.Guns_Rand[level.Guns_Rand.size] = modelSpawner(level.Guns_RandTrig.origin+(sin(e*90)*7,cos(e*90)*7,0), getWeaponModel(level.GunModel_Rand[e]), (270,0,(e*90)));
foreach(model in level.Guns_Rand)
model linkTo(level.Guns_RandTrig);
level.Sentry_Gun = modelSpawner(level.physicsBase[117].origin+(0,-140,0), getWeaponModel("minigun_wager_mp"), (0,180,0));
level.DriveBase = modelSpawner(level.TradeWeapon.origin+(0,-140,0), "t6_wpn_supply_drop_axis");
level.DriveBase0 = modelSpawner(level.TradeWeapon.origin+(0,-140,16), "prop_suitcase_bomb", (0,270,0));
level.FlagExit = modelSpawner(level.Guns_RandTrig.origin+(-160,0,-30), "mp_flag_red");

thread enter_Skybase();
}

level.Guns_RandTrig thread SniperMonitor();
level.Guns_RandTrig thread UpdownMonitor();
level.Guns_RandTrig thread rotateEntYaw(360, 1);
level.TradeWeapon thread TradeWeapMonitor();
level.Sentry_Gun thread skyBaseTurret();
level.DriveBase thread skyBaseDrive();
level.FlagExit thread exit_Skybase();

level waittill("Refresh_Skybase");
level.TradeTrigger delete();
level.SniperTrigger delete();
level.DriveTrigger delete();
level.TurretTrigger delete();
level.WindowTrigger delete();
level.ExitBase delete();
}

skyBaseTurret()
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TurretTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Activate Sentry Gun!");
level.turretInUse = undefined;
while(true)
{
level.TurretTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.turretInUse))
{
level.turretInUse = true;
level.Sentry_Gun thread sentryTimeout();
level.Sentry_Gun thread sentryMonitor(i.pers["team"], i);
iprintln("Sentry gun active!");
while(isDefined(level.SentryActive))
wait .05;
level.Sentry_Gun waittill("rotatedone");
for(e=0;e<10;e++)
{
level.Sentry_Gun thread SpawnPlayFx("weapon/grenade/fx_spark_disabled_rc_car", (0,0,-6), "Normal");
level.Sentry_Gun rotateTo(level.TradeWeapon.angles + (0,180,0),.5);
wait .4;
}
wait 1;
level.turretInUse = undefined;
}
}
}

sentryMonitor(team, owner) //self inside here is the turret
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");

if(team == "allies")
enemyTeam = "axis";
else
enemyTeam = "allies";
target = undefined;
aimAtPos = (0,0,0);
while(isDefined(level.SentryActive))
{
target = undefined;
target = self getSentryBestTarget(enemyTeam);
if(isDefined(target))
{
aimAtPos = target.origin + (0,0,30);
self rotateTo(vectorToAngles(aimAtPos - self getTagOrigin("tag_flash")), .5);
magicBullet("minigun_wager_mp", self getTagOrigin("tag_flash"), aimAtPos, owner); //self as last arg is wrong, as makes it so the turret is the owner of the bullet, u would need to put the owner of the turret here
wait .05;
}
else
{
wait 1;
self rotateTo(level.TradeWeapon.angles + (0,180,0),1.5,.5,.5);
self waittill("rotatedone");
self rotateTo((0,self.angles[1]-60,0),1.5,.5,.5);
self waittill("rotatedone");
if(isDefined(level.SentryActive))
{
for(e=0;e<2;e++)
{
self rotateTo(self.angles+(0,120+e*120,0),3,.5,.5);
self waittill("rotatedone");
}
}
}
wait .05;
}
}

sentryTimeout()
{
level.SentryActive = true;
wait randomIntRange(20,40);
level.SentryActive = undefined;
}

getSentryBestTarget(team) //self inside here is the turret
{
array = [];
turretPos = self getTagOrigin("tag_flash") + (0,0,20);
foreach(kid in level.players)
if(isAlive(kid) && team == kid.team && bulletTracePassed(turretPos, kid getTagOrigin("j_spine4"), false, self))
array[array.size] = kid;
return getClosest(turretPos, array);
}

TradeWeapMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TradeTrigger = spawnTrig(level.TradeWeapon.origin,30,30,"HINT_NOICON","Press &&1 To Place Weapon/Pick Up Weapon!");
while(isDefined(self))
{
level.TradeTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(TableStatus == "Place")
{
level.WeaponPlaced = i getCurrentWeapon();
if(isSubStr(level.WeaponPlaced, "svu_") || isSubStr(level.WeaponPlaced, "dsr50_") || isSubStr(level.WeaponPlaced, "ballista_") || isSubStr(level.WeaponPlaced, "as50_"))
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,3,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
else
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,8,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
i takeWeapon(i getCurrentWeapon());
level.PlacedWeapon RotateRoll(720, 1, .3, .3);
wait 1.2;
level.PlacedWeapon moveTo(level.PlacedWeapon.origin+(0,0,-13), .2, .1, .1);
level.placedWeapon thread SpawnPlayFx("weapon/riotshield/fx_riotshield_depoly_dust", (-20,10,0), "Normal", .2);
wait .2;
TableStatus = "PickUp";
}
else
{
i giveweapon(level.WeaponPlaced,0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.WeaponPlaced);
level.PlacedWeapon delete();
wait .3;
TableStatus = "Place";
}
}
}
}

SniperMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.SniperTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Grab A Sniper!");
while(isDefined(self))
{
level.SniperTrigger waittill("trigger",i);
if(i useButtonPressed())
{
randomsniper = RandomIntRange(0,4);
if(i hasWeapon(level.GunModel_Rand[randomsniper]))
iprintln("");
else
i takeWeapon(i getCurrentWeapon());
i giveweapon(level.GunModel_Rand[randomsniper],0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.GunModel_Rand[randomsniper]);
level.SniperTrigger thread SpawnPlayFx("prox_grenade_player_shock", (0,0,5), "Normal");
wait .2;
}
}
}

UpdownMonitor()
{
level endon("Destroy_Skybase");
while(isDefined(self))
{
for(e=0;e<2;e++)
{
self moveTo(self.origin+(0,0,40+e*-80),3,.5,.5);
self waittill("movedone");
}
wait .3;
}
}

skyBaseDrive()
{
level endon("Destroy_Skybase");
level.DriveTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Drive Sky Base!");
driver = undefined;
while(true)
{
level.DriveTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(!isDefined(level.drivingSkybase))
{
level.drivingSkybase = i;
i.inSkybase = undefined;
driver = i;
break;
}
else
{
i iprintln("^1ERROR:^7 Someone is already flying the skybase");
}
}
}
if(!isDefined(level.driverSeat))
{
level.driverSeat = modelSpawner(self.origin+(300,140,50),"tag_origin");
level.linkTag = modelSpawner(self.origin+(0,140,50),"tag_origin");
}
level.driverSeat linkTo(level.linkTag);
driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.driverSeat);

foreach(model in level.physicsBase)
model linkTo(level.linkTag);

level.TradeWeapon linkTo(level.linkTag);
level.Sentry_Gun linkTo(level.linkTag);
level.DriveBase linkTo(level.linkTag);
level.DriveBase0 linkTo(level.linkTag);
level.WindowTrig linkTo(level.linkTag);
level.Guns_RandTrig linkTo(level.linkTag);
level.FlagExit linkTo(level.linkTag);

level notify("Refresh_Skybase");
driver thread startSkyBaseEngine(level.linkTag);
level.DrivingAllowed = true;
}
startSkyBaseEngine(tag)
{
level endon("Destroy_Skybase");
self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
weap = self getCurrentWeapon();
self disableWeapons();
self hide();
wait .5;
self thread rollSkyBase(tag);
self thread moveSkyBase(tag);
self.skyBaseSpeed = 0;
self enableInvulnerability();
while(isDefined(level.drivingSkybase))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
if(self adsButtonPressed())
{
self.skyBaseSpeed -= 5;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
}
if(self attackButtonPressed())
{
self.skyBaseSpeed++;
if(self.skyBaseSpeed > 80)
self.skyBaseSpeed = 80;
}
if(!self attackButtonPressed())
{
self.skyBaseSpeed--;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}
level.DrivingAllowed = undefined;
thread interior_Design( true );
self unlink(tag);
foreach(model in level.physicsBase)
model unlink();
level.TradeWeapon unlink();
level.Sentry_Gun unlink();
level.DriveBase unlink();
level.DriveBase0 unlink();
level.Guns_RandTrig unlink();
level.FlagExit unlink();
self setOrigin((level.DriveTrigger.origin));
self show();
level.drivingSkybase = undefined;
self setclientthirdperson(0);
self enableWeapons();
self switchToWeapon(weap);
}
rollSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(1.5)),.2,.05,.05);
wait .05;
}
}
moveSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
wait .05;
}
}


Ferris Wheel
    Spawn_Ferriswheel()
{
level endon("Destroy_Ferris");
level.ferrisOrg = self.origin;
level.speed = 0;

level.FerrisLegs = [];
level.FerrisSeats = [];
level.Ferris = [];

level.FerrisAttach = modelSpawner(level.ferrisOrg + (0,0,420), "tag_origin");
level.FerrisLink = modelSpawner(level.ferrisOrg + (0,0,60), "tag_origin");
for(a=0;a<2;a++) for(e=0;e<30;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*12)*330, cos(e*12)*330), "t6_wpn_supply_drop_ally", (0,0,e*-12),.1);
for(a=0;a<2;a++) for(b=0;b<5;b++) for(e=0;e<15;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*24)*40+b*65, cos(e*24)*40+b*65), "t6_wpn_supply_drop_ally", (0,0,(e*-24)-90),.1);
for(e=0;e<15;e++)
level.FerrisSeats[level.FerrisSeats.size] = modelSpawner(level.ferrisOrg + (0,0,420) + (0,sin(e*24)*330, cos(e*24)*330), "t6_wpn_supply_drop_axis",(e*24,90,0),.1);
for(e=0;e<3;e++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (82-e*82,0,420),"t6_wpn_supply_drop_ally",(0,90,0),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,-220,0) + (0,a*28,a*60),"t6_wpn_supply_drop_ally",(0,0,65),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,220,0) + (0,a*-28,a*60),"t6_wpn_supply_drop_ally",(0,0,-65),.1);

foreach(model in level.Ferris)
model linkTo(level.FerrisAttach);
foreach(model in level.FerrisSeats)
model linkTo(level.FerrisAttach);

level.FerrisAttach thread ferrisRotate(1);
level.FerrisLink checkRidersFerris(level.FerrisSeats);
}

ferrisRotate(speed)
{
self thread doFerrisRotate(speed);
}

resetFerrisSpeed()
{
level.speed = 0;
self thread doFerrisRotate(1);
}

doFerrisRotate(speed)
{
level endon("Destroy_Ferris");
level.speed += speed;
if(level.speed >= 15)
level.speed = 15;
if(level.speed <= -15)
level.speed = -15;
iprintln(level.speed);
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
for(a=360;a<0;a-=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
wait .05;
}
}

checkRidersFerris(Array)
{
level endon("Destroy_Ferris");
level.ferrisTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Ferris Wheel!");
while(isDefined(self))
{
level.ferrisTrig waittill("trigger",i);
if(!isDefined(i.riding) && isPlayer(i) && i useButtonPressed())
{
Closest = getClosest(i.origin,Array);
Seat = modelSpawner(Closest.origin-anglesToRight(self.angles)*22,"script_origin",(0,90,0));
Seat thread seatAngleFix(Closest);
if(!isDefined(Closest.FerrisOccupied))
{
i setStance("crouch");
i.ridingFerris = true;
i PlayerLinkToDelta(Seat);
i thread playerExitFerry(Closest,Seat);
Closest.FerrisOccupied = true;
}
}
}
}

seatAngleFix(seat)
{
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self.angles = (0,90,0);
self MoveTo(seat.origin+(0,0,10),.1);
wait .05;
}
wait .05;
}
}

playerExitFerry(Seat,tag)
{
while(isDefined(level.Ferris_Wheel))
{
if(self fragButtonPressed()) break;
wait .05;
}
tag unLink();
tag delete();
self.ridingFerris = undefined;
Seat.FerrisOccupied = undefined;
self unlink();
}


Centrox
    Spawn_Centrox()
{
level endon("Stop_Centrox");
level.Centrox = [];
level.Seats = [];
level.Center = [];
level.Movements = modelSpawner(self.origin + (40,0,20), "tag_origin");
time = .1;
for(e = 0; e < 2; e++)
for(i = 0; i < 6; i++)
level.Center[level.Center.size] = modelSpawner(level.Movements.origin + (cos(i*60)*20,sin(i*60)*20, e*70), "t6_wpn_supply_drop_ally", (0,(i*60)+90,90), time);//Center
for(i = 0; i < 15; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*24)*70,sin(i*24)*70, -20), "t6_wpn_supply_drop_ally", (0,(i*24)+90,0), time);//floor inner
for(i = 0; i < 25; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*14.4)*140,sin(i*14.4)*140, -20), "t6_wpn_supply_drop_ally", (0,(i*14.4)+90,0), time);//floor outer
for(i = 0; i < 30; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*12)*185,sin(i*12)*185, 30), "t6_wpn_supply_drop_ally", (0,(i*12)+90,90), time);//Wall
for(i = 0; i < 10; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*36)*178,sin(i*36)*178, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+90,90), time);//Seats Visual
for(i = 0; i < 10; i++)
level.Seats[level.Seats.size] = modelSpawner(level.Movements.origin + (0,0,-40) + (cos(i*36)*165,sin(i*36)*165, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+180,0));//Seats

level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);//Doors Open
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);//Doors Open

level.Movements thread monitorPlayersCentrox(level.Seats);

wait 5;
level.Movements thread Monitor_Centrox();
level.Movements thread Spin_Centrox();
}

Monitor_Centrox()
{
level endon("Stop_Centrox");
while(isDefined(self))
{
wait 10;
level.RideActive = true;
level.Centrox[68] MoveTo(level.Centrox[67].origin+(13,40,0), .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin+(-13,-40,0), .3);
wait 3;
foreach(model in level.Centrox)
model LinkTo(level.Movements);
foreach(model in level.Seats)
model LinkTo(level.Movements);

for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]+Ext),.7);
wait .6;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(Ext*0.1, .7);
wait .1;
}
wait 5;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(0-Ext*0.1, .7);
wait .1;
}
wait 8;
}
level.RideActive = undefined;
for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]-Ext),.7);
wait .6;
}
foreach(model in level.Seats)
model unlink();
foreach(model in level.Centrox)
model Unlink();
wait .3;
level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);
foreach(rider in level.players)
rider unlink();
for(e = 0; e < 10; e++)
level.seatTaken[e] = undefined;
wait .05;
}
}

Spin_Centrox()
{
level endon("Stop_Centrox");
Speed = 0;
for(;Winky Winky
{
while(isDefined(self) && isDefined(level.RideActive))
{
self RotateYaw(Speed*0.4, .9);
Speed++;
wait .1;
}
Speed = 0;
wait .05;
}
}

monitorPlayersCentrox(Array)
{
level endon("Stop_Centrox");
level.CentroxTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Centrox!");
while(isDefined(self))
{
level.CentroxTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
closest = getClosest(i.origin,Array);
if(!closest.occupied)
{
i setStance("stand");
i.ridingCentox = true;
i PlayerLinkToAbsolute(closest);
i thread playerExitCentrox(closest);
closest.CentroxOccupied = true;
}
}
}
}

playerExitCentrox(seat)
{
level endon("Stop_Centrox");
self endon("death");
self endon("disconnect");
wait 1.5;
while(isDefined(seat))
{
if(self useButtonPressed() && !isDefined(level.RideActive))
break;
wait .05;
}
seat.CentroxOccupied = undefined;
self setStance("stand");
self unlink();
wait 1.5;
self.ridingCentox = undefined;
}


The Claw
    Build_TheClaw()
{
level endon("Destroy_Claw");
level.clawOrg = self.origin;
pos = level.clawOrg+(0,15,460);

level.ClawSeats = [];
level.claw = [];
level.legs = [];

level.attach = modelSpawner(level.clawOrg+(0,55,60),"tag_origin");
level.ClawLink = modelSpawner(pos,"tag_origin");

for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (-220,-145+e*320,0) + (a*28,0,a*60),"t6_wpn_supply_drop_ally",(25,0,90),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (220,-145+e*320,0) + (a*-28,0,a*60),"t6_wpn_supply_drop_ally",(-25,0,90),.1);
for(a=0;a<5;a++) for(e=0;e<8;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,-125+a*70,460) + (sin(-90+e*45)*25, 0, sin(e*45)*25), "t6_wpn_supply_drop_ally", ((e*45),180,0),.1);
for(a=0;a<8;a++) for(e=0;e<6;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,460) + (cos(a*45)*30,sin(a*45)*30, e*-70), "t6_wpn_supply_drop_ally", (0,(a*45)+90,90),.1);
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15, 60), "t6_wpn_supply_drop_ally", (0,90,90),.1);
for(a=0;a<2;a++) for(e=0;e<12;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,100) + (cos(e*30)*40+a*55,sin(e*30)*40+a*55, -70), "t6_wpn_supply_drop_ally", (0,(e*30)+-90+a*90,0),.1);
for(e=0;e<12;e++) level.ClawSeats[level.ClawSeats.size] = modelSpawner(level.clawOrg + (0,15,95) + (cos(e*30)*95,sin(e*30)*95, -70), "tag_origin", Undefined,.1);

foreach(model in level.claw)
model linkTo(level.ClawLink);
foreach(model in level.ClawSeats)
model linkTo(level.ClawLink);

level.ClawLink thread ClawMovements();
level.attach thread monitorPlayersClaw( level.ClawSeats );
}

ClawMovements()
{
level endon("Destroy_Claw");
for(a=0;a>=-40;a-=2)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a<=60;a+=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a>=-80;a-=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=100;a+=4)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
while(true)
{
for(a=a;a>=-105;a-=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=105;a+=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
wait .05;
}
}

monitorPlayersClaw(Array)
{
level endon("Destroy_Claw");
level.ClawTrig = spawnTrig(self.origin,150,80,"HINT_NOICON","Press &&1 To Enter / Exit The Claw!");
while(isDefined(self))
{
level.ClawTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
RandSeat = RandomIntRange( 0, 13 );
if(!RandSeat.occupied)
{
i setStance("stand");
i.riding = true;
i playerLinkToDelta(Array[RandSeat]);
i thread playerExitClaw(RandSeat);
RandSeat.occupied = true;
}
}
}
}
playerExitClaw(seat,info)
{
level endon("Destroy_Claw");
while(isDefined(seat))
{
if(self fragButtonPressed()) break;
wait .05;
}
info destroy();
self allowSprint(true);
self allowProne(true);
seat.occupied = undefined;
self unlink();
self setStance("stand");
wait 1;
self.riding = undefined;
}


Flyable Plane (Pretty shit compared to the one I re-scripted, don't recommend using)
    initial_plane( model, max, min, roll, bullet )
{
self endon("stop_plane");
self endon("disconnect");

level.PlaneCannonTag = [];

level.plane = modelSpawner(self.origin + (0,0,20), model, (0,180,0));
level.planeSeat = modelSpawner(self.origin + (500,0,100), "tag_origin");
level.PlanelinkTag = modelSpawner(self.origin + (100,0,70), "tag_origin");
for(e=0;e<2;e++)
level.PlaneCannonTag[e] = modelSpawner(self.origin + (100,-200+e*400,70), "tag_origin");
self thread plane_connons(level.PlaneCannonTag[0], level.PlaneCannonTag[1], bullet);

level.PlaneTrigger = spawnTrig(self.origin + (0,0,20),50,50,"HINT_NOICON","Press &&1 To Drive!");
driver = undefined;
while(true)
{
level.PlaneTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.drivingPlane))
{
level.drivingPlane = i;
driver = i;
break;
}
}

driver thread clasicExit(true);
driver thread plane_engine( level.PlanelinkTag, level.planeSeat, level.plane, max, min, roll );
level.planeSeat linkTo(level.PlanelinkTag);
level.plane linkTo(level.PlanelinkTag);
level.PlaneCannonTag[0] linkTo(level.PlanelinkTag);
level.PlaneCannonTag[1] linkTo(level.PlanelinkTag);

driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.planeSeat);
level.PlaneTrigger delete();
}

plane_engine( tag, seat, plane, max, min, roll )
{
self endon("stop_plane");
self endon("disconnect");

self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
self disableWeapons();
self hide();
wait .5;
self thread roll_plane(tag, roll);
self thread move_plane(tag);
self thread speed_indicator(max);
self.planeSpeed = 0;
self enableInvulnerability();

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
if(self adsButtonPressed())
{
self.planeSpeed -= 5;
if(self.planeSpeed < min)
self.planeSpeed = min;
}
if(self attackButtonPressed())
{
self.planeSpeed++;
if(self.planeSpeed > max)
self.planeSpeed = max;
}
if(!self attackButtonPressed())
{
self.planeSpeed--;
if(self.planeSpeed < min)
self.planeSpeed = min;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}

self unlink(tag);
tag delete();
seat delete();
plane delete();
for(e=0;e<2;e++)
level.PlaneCannonTag[e] delete();
self.SpeedIndibar destroy();
self.SpeedIndi destroy();
self show();
self setclientthirdperson(0);
self enableWeapons();
level.drivingPlane = undefined;
self notify("stop_plane");
}

plane_connons(tag0, tag1, bullet)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
if(self secondaryoffhandbuttonpressed())
magicBullet(bullet, tag0.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self fragbuttonpressed())
magicBullet(bullet, tag1.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self stancebuttonpressed())
{
self thread maps\mp\killstreaks\_supplydrop::dropcrate(tag1.origin + (0,0,-100) + AnglesToRight(self getPlayerAngles())*200, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait .2;
}
wait .05;
}
}

roll_plane(tag, roll)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(roll)),.2,.05,.05);
wait .05;
}
}

move_plane(tag)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
wait .05;
}
}

speed_indicator(max)
{
self endon("stop_plane");
self endon("disconnect");

self.SpeedIndibar = self createBar( (0, 1, 0), 150, 11 );
self.SpeedIndibar setPoint( "CENTER", "TOP", 0, 42 );
self.SpeedIndi = self createFontString( "default", 1.5 );
self.SpeedIndi setPoint( "CENTER", "TOP", 0, 22 );
self.SpeedIndi setText( "Speed Indicator!" );

while(isDefined(self.SpeedIndibar))
{
self.SpeedIndibar updateBar( self.planeSpeed / max );
wait 0.5;
}
}


Needed in most functions so add it anywhere in your project.
    modelSpawner(origin, model, angles, time)
{
if(isDefined(time))
wait time;
obj = spawn("script_model", origin);
obj setModel(model);
if(isDefined(angles))
obj.angles = angles;
if(getentarray().size >= 590)
{
self iprintln("^1Error^7: Please delete some other structures");
obj delete();
}
return obj;
}

createRoll( divide )
{
roll = self getPlayerAngles()[1];
wait 0.05;
return (((roll-self getPlayerAngles()[1])*-6) / divide);
}

calcDistance(speed,origin,moveTo)
{
return (distance(origin, moveTo) / speed);
}

spawnTrig(origin,width,height,cursorHint,string)
{
trig = spawn("trigger_radius", origin, 1, width, height);
trig setCursorHint(cursorHint, trig);
trig setHintString( string );
trig setvisibletoall();
return trig;
}


If you do use any of these functions please credit the following
Extinct
Loz
Agreedbog


Thanks Patrick <3
01-23-2017, 06:45 PM #4
Patrick
League Champion
Originally posted by LiFe View Post
Thanks Patrick <3


Add them to your dank menu Winky Winky
01-24-2017, 08:33 AM #5
Originally posted by Patrick View Post
List Of Functions

Hello guys I have decided to make a thread on nextgenupdate with all my leaked functions so here you go people!

P.S. I know these functions could have been done better and i was planning on re-scripting them when i got round to adding them into my menu!


Here are some videos of the functions:



Launch Player
    LaunchPlayer( who, height )
{
launchWho = modelSpawner(who.origin, "tag_origin", (who.angles));
who playerLinkTo( launchWho );
power = randomintrange(500,700);
fwd = anglesToforward(launchWho.angles);
if(isDefined( launchWho ))
launchWho launch(vectorScale(fwd+(0,0,height), power));
oldOrigin = launchWho.origin;
wait .05;
while(oldOrigin != launchWho.origin)
{
oldOrigin = launchWho.origin;
wait .05;
}
launchWho delete();
}


Heli Carepackage Troll
    //Add these to the includes
#include maps/mp/killstreaks/_killstreaks;
#include maps\mp\killstreaks\_helicopter;

carepackageTroll( who )
{
if(!isDefined( self.heliTroll ))
{
self iprintln("Heli troll incoming, please wait.");
self thread carepackageTrollStart( who );
self.heliTroll = true;
}
else
iprintln("^1Error^7: Please wait until your pilot has returned.");
}
carepackageTrollStart( who )
{
self endon("disconnect");
heli = self.carepackageTroll;
who freezeControlsallowlook(true);
who thread createFlare( "env/smoke/fx_smoke_supply_drop_blue_mp", 3, 3.5, who.origin + (0,0,-10));
//chopper = spawnhelicopter( owner, origin, angles, model, targetname );
heli = spawnHelicopter(self, self.origin + (12000, 0, 1500), self.angles, "heli_guard_mp", "veh_t6_drone_overwatch_light");
heli setSpeed(750, 25);
heli setVehGoalPos(who.origin + (0,0,1500), 1);
heli waittillmatch( "goal" );
wait 2;
self thread maps\mp\killstreaks\_supplydrop::dropcrate(heli.origin + (0, 0, -80), self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 2;
heli thread heli_crash( "none", who, 0 );
heli waittill( "death" );
heli delete();
self.heliTroll = undefined;
}
createFlare( fx, num, time, origin )
{
for(e=0;e<num;e++)
{
self.createFlare = spawnFx(level._effect[ fx ], origin);
triggerFx(self.createFlare);
wait time;
}
}


Flashbang Troll
    FlashBangToggle( who )
{
if(!isDefined(who.isFlashed))
{
who thread FlashBangTroll( .2 );
who.isFlashed = true;
}
else
{
self notify("stop_Flashing");
who.isFlashed = undefined;
}
}

FlashBangTroll( num )
{
self endon("disconnect");
self endon("stop_Flashing");
for(;Winky Winky
{
self thread [[level.callbackPlayerDamage]]();
wait num;
}
}


Extincts Skybase
    buildPhysicsBase()
{
level endon("Destroy_Skybase");
level.basePos = self.origin;
level.physicsBase = [];

for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<7;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-70+a*40,22-e*70,225+x*160),"t6_wpn_supply_drop_ally", undefined, .1);//Floor & roof
for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(170-x*240,22-e*70,255+a*33),"t6_wpn_supply_drop_ally", undefined, .1);//Walls (2/4)
for(x=0;x<2;x++) for(e=0;e<3;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-20+e*70,40-x*385,255+a*33),"t6_wpn_supply_drop_ally",(0,90,0), .1);//Walls (4/4)

for(e=113;e<115;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=117;e<119;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=125;e<127;e++)
level.physicsBase[e] delete();

level.FlagEnter = modelSpawner(self.origin+(0,0,-10), "mp_flag_green");
level.FlagEnter thread enter_Skybase();

thread interior_Design();
}

enter_Skybase()
{
level.EnterBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Enter Skybase!");
while(isDefined(self))
{
level.EnterBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagExit.origin));
}
}

exit_Skybase()
{
level.ExitBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Exit Skybase!");
while(isDefined(self))
{
level.ExitBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagEnter.origin));
}
}

skybaseWindow(array)
{
level endon("Destroy_Skybase");
level.WindowTrigger = spawnTrig(self.origin,35,35,"HINT_NOICON","Press [{+melee}] To Open / Close The Window!");
while(isDefined(self))
{
level.WindowTrigger waittill("trigger",i);
if(i meleeButtonPressed() && !isDefined(level.skybaseMoving))
{
if(!isDefined(level.OpeningWindow))
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(33,2,.5,.5);
level.physicsBase[118] MoveZ(33,2,.5,.5);
level.physicsBase[113] MoveZ(-33.3,2,.5,.5);
level.physicsBase[117] MoveZ(-33.3,2,.5,.5);
wait 2;
level.OpeningWindow = true;
level.skybaseWindowInUse = undefined;
}
else
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(-33,2,.5,.5);
level.physicsBase[118] MoveZ(-33,2,.5,.5);
level.physicsBase[113] MoveZ(33.3,2,.5,.5);
level.physicsBase[117] MoveZ(33.3,2,.5,.5);
wait 2;
level.OpeningWindow = undefined;
level.skybaseWindowInUse = undefined;
}
}
}
}

interior_Design( action )
{
level endon("Destroy_Skybase");
level.Guns_Rand = [];
level.GunModel_Rand = strTok("dsr50_mp,ballista_mp,as50_mp,svu_mp", ",");

if(!isDefined(action))
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.WindowTrig thread skybaseWindow();
if(!isDefined(action))
{
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.Guns_RandTrig = modelSpawner(level.WindowTrigger.origin+(168,80,-15), "tag_origin");
level.TradeWeapon = modelSpawner(level.Guns_RandTrig.origin+(0,-115,-15), "t6_wpn_supply_drop_axis");
level.Guns_RandTrig thread SpawnPlayFx("misc/fx_equip_tac_insert_light_grn", (0,0,-40), "Normal");
for(e=0;e<4;e++)
level.Guns_Rand[level.Guns_Rand.size] = modelSpawner(level.Guns_RandTrig.origin+(sin(e*90)*7,cos(e*90)*7,0), getWeaponModel(level.GunModel_Rand[e]), (270,0,(e*90)));
foreach(model in level.Guns_Rand)
model linkTo(level.Guns_RandTrig);
level.Sentry_Gun = modelSpawner(level.physicsBase[117].origin+(0,-140,0), getWeaponModel("minigun_wager_mp"), (0,180,0));
level.DriveBase = modelSpawner(level.TradeWeapon.origin+(0,-140,0), "t6_wpn_supply_drop_axis");
level.DriveBase0 = modelSpawner(level.TradeWeapon.origin+(0,-140,16), "prop_suitcase_bomb", (0,270,0));
level.FlagExit = modelSpawner(level.Guns_RandTrig.origin+(-160,0,-30), "mp_flag_red");

thread enter_Skybase();
}

level.Guns_RandTrig thread SniperMonitor();
level.Guns_RandTrig thread UpdownMonitor();
level.Guns_RandTrig thread rotateEntYaw(360, 1);
level.TradeWeapon thread TradeWeapMonitor();
level.Sentry_Gun thread skyBaseTurret();
level.DriveBase thread skyBaseDrive();
level.FlagExit thread exit_Skybase();

level waittill("Refresh_Skybase");
level.TradeTrigger delete();
level.SniperTrigger delete();
level.DriveTrigger delete();
level.TurretTrigger delete();
level.WindowTrigger delete();
level.ExitBase delete();
}

skyBaseTurret()
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TurretTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Activate Sentry Gun!");
level.turretInUse = undefined;
while(true)
{
level.TurretTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.turretInUse))
{
level.turretInUse = true;
level.Sentry_Gun thread sentryTimeout();
level.Sentry_Gun thread sentryMonitor(i.pers["team"], i);
iprintln("Sentry gun active!");
while(isDefined(level.SentryActive))
wait .05;
level.Sentry_Gun waittill("rotatedone");
for(e=0;e<10;e++)
{
level.Sentry_Gun thread SpawnPlayFx("weapon/grenade/fx_spark_disabled_rc_car", (0,0,-6), "Normal");
level.Sentry_Gun rotateTo(level.TradeWeapon.angles + (0,180,0),.5);
wait .4;
}
wait 1;
level.turretInUse = undefined;
}
}
}

sentryMonitor(team, owner) //self inside here is the turret
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");

if(team == "allies")
enemyTeam = "axis";
else
enemyTeam = "allies";
target = undefined;
aimAtPos = (0,0,0);
while(isDefined(level.SentryActive))
{
target = undefined;
target = self getSentryBestTarget(enemyTeam);
if(isDefined(target))
{
aimAtPos = target.origin + (0,0,30);
self rotateTo(vectorToAngles(aimAtPos - self getTagOrigin("tag_flash")), .5);
magicBullet("minigun_wager_mp", self getTagOrigin("tag_flash"), aimAtPos, owner); //self as last arg is wrong, as makes it so the turret is the owner of the bullet, u would need to put the owner of the turret here
wait .05;
}
else
{
wait 1;
self rotateTo(level.TradeWeapon.angles + (0,180,0),1.5,.5,.5);
self waittill("rotatedone");
self rotateTo((0,self.angles[1]-60,0),1.5,.5,.5);
self waittill("rotatedone");
if(isDefined(level.SentryActive))
{
for(e=0;e<2;e++)
{
self rotateTo(self.angles+(0,120+e*120,0),3,.5,.5);
self waittill("rotatedone");
}
}
}
wait .05;
}
}

sentryTimeout()
{
level.SentryActive = true;
wait randomIntRange(20,40);
level.SentryActive = undefined;
}

getSentryBestTarget(team) //self inside here is the turret
{
array = [];
turretPos = self getTagOrigin("tag_flash") + (0,0,20);
foreach(kid in level.players)
if(isAlive(kid) && team == kid.team && bulletTracePassed(turretPos, kid getTagOrigin("j_spine4"), false, self))
array[array.size] = kid;
return getClosest(turretPos, array);
}

TradeWeapMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TradeTrigger = spawnTrig(level.TradeWeapon.origin,30,30,"HINT_NOICON","Press &&1 To Place Weapon/Pick Up Weapon!");
while(isDefined(self))
{
level.TradeTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(TableStatus == "Place")
{
level.WeaponPlaced = i getCurrentWeapon();
if(isSubStr(level.WeaponPlaced, "svu_") || isSubStr(level.WeaponPlaced, "dsr50_") || isSubStr(level.WeaponPlaced, "ballista_") || isSubStr(level.WeaponPlaced, "as50_"))
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,3,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
else
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,8,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
i takeWeapon(i getCurrentWeapon());
level.PlacedWeapon RotateRoll(720, 1, .3, .3);
wait 1.2;
level.PlacedWeapon moveTo(level.PlacedWeapon.origin+(0,0,-13), .2, .1, .1);
level.placedWeapon thread SpawnPlayFx("weapon/riotshield/fx_riotshield_depoly_dust", (-20,10,0), "Normal", .2);
wait .2;
TableStatus = "PickUp";
}
else
{
i giveweapon(level.WeaponPlaced,0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.WeaponPlaced);
level.PlacedWeapon delete();
wait .3;
TableStatus = "Place";
}
}
}
}

SniperMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.SniperTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Grab A Sniper!");
while(isDefined(self))
{
level.SniperTrigger waittill("trigger",i);
if(i useButtonPressed())
{
randomsniper = RandomIntRange(0,4);
if(i hasWeapon(level.GunModel_Rand[randomsniper]))
iprintln("");
else
i takeWeapon(i getCurrentWeapon());
i giveweapon(level.GunModel_Rand[randomsniper],0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.GunModel_Rand[randomsniper]);
level.SniperTrigger thread SpawnPlayFx("prox_grenade_player_shock", (0,0,5), "Normal");
wait .2;
}
}
}

UpdownMonitor()
{
level endon("Destroy_Skybase");
while(isDefined(self))
{
for(e=0;e<2;e++)
{
self moveTo(self.origin+(0,0,40+e*-80),3,.5,.5);
self waittill("movedone");
}
wait .3;
}
}

skyBaseDrive()
{
level endon("Destroy_Skybase");
level.DriveTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Drive Sky Base!");
driver = undefined;
while(true)
{
level.DriveTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(!isDefined(level.drivingSkybase))
{
level.drivingSkybase = i;
i.inSkybase = undefined;
driver = i;
break;
}
else
{
i iprintln("^1ERROR:^7 Someone is already flying the skybase");
}
}
}
if(!isDefined(level.driverSeat))
{
level.driverSeat = modelSpawner(self.origin+(300,140,50),"tag_origin");
level.linkTag = modelSpawner(self.origin+(0,140,50),"tag_origin");
}
level.driverSeat linkTo(level.linkTag);
driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.driverSeat);

foreach(model in level.physicsBase)
model linkTo(level.linkTag);

level.TradeWeapon linkTo(level.linkTag);
level.Sentry_Gun linkTo(level.linkTag);
level.DriveBase linkTo(level.linkTag);
level.DriveBase0 linkTo(level.linkTag);
level.WindowTrig linkTo(level.linkTag);
level.Guns_RandTrig linkTo(level.linkTag);
level.FlagExit linkTo(level.linkTag);

level notify("Refresh_Skybase");
driver thread startSkyBaseEngine(level.linkTag);
level.DrivingAllowed = true;
}
startSkyBaseEngine(tag)
{
level endon("Destroy_Skybase");
self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
weap = self getCurrentWeapon();
self disableWeapons();
self hide();
wait .5;
self thread rollSkyBase(tag);
self thread moveSkyBase(tag);
self.skyBaseSpeed = 0;
self enableInvulnerability();
while(isDefined(level.drivingSkybase))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
if(self adsButtonPressed())
{
self.skyBaseSpeed -= 5;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
}
if(self attackButtonPressed())
{
self.skyBaseSpeed++;
if(self.skyBaseSpeed > 80)
self.skyBaseSpeed = 80;
}
if(!self attackButtonPressed())
{
self.skyBaseSpeed--;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}
level.DrivingAllowed = undefined;
thread interior_Design( true );
self unlink(tag);
foreach(model in level.physicsBase)
model unlink();
level.TradeWeapon unlink();
level.Sentry_Gun unlink();
level.DriveBase unlink();
level.DriveBase0 unlink();
level.Guns_RandTrig unlink();
level.FlagExit unlink();
self setOrigin((level.DriveTrigger.origin));
self show();
level.drivingSkybase = undefined;
self setclientthirdperson(0);
self enableWeapons();
self switchToWeapon(weap);
}
rollSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(1.5)),.2,.05,.05);
wait .05;
}
}
moveSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
wait .05;
}
}


Ferris Wheel
    Spawn_Ferriswheel()
{
level endon("Destroy_Ferris");
level.ferrisOrg = self.origin;
level.speed = 0;

level.FerrisLegs = [];
level.FerrisSeats = [];
level.Ferris = [];

level.FerrisAttach = modelSpawner(level.ferrisOrg + (0,0,420), "tag_origin");
level.FerrisLink = modelSpawner(level.ferrisOrg + (0,0,60), "tag_origin");
for(a=0;a<2;a++) for(e=0;e<30;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*12)*330, cos(e*12)*330), "t6_wpn_supply_drop_ally", (0,0,e*-12),.1);
for(a=0;a<2;a++) for(b=0;b<5;b++) for(e=0;e<15;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*24)*40+b*65, cos(e*24)*40+b*65), "t6_wpn_supply_drop_ally", (0,0,(e*-24)-90),.1);
for(e=0;e<15;e++)
level.FerrisSeats[level.FerrisSeats.size] = modelSpawner(level.ferrisOrg + (0,0,420) + (0,sin(e*24)*330, cos(e*24)*330), "t6_wpn_supply_drop_axis",(e*24,90,0),.1);
for(e=0;e<3;e++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (82-e*82,0,420),"t6_wpn_supply_drop_ally",(0,90,0),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,-220,0) + (0,a*28,a*60),"t6_wpn_supply_drop_ally",(0,0,65),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,220,0) + (0,a*-28,a*60),"t6_wpn_supply_drop_ally",(0,0,-65),.1);

foreach(model in level.Ferris)
model linkTo(level.FerrisAttach);
foreach(model in level.FerrisSeats)
model linkTo(level.FerrisAttach);

level.FerrisAttach thread ferrisRotate(1);
level.FerrisLink checkRidersFerris(level.FerrisSeats);
}

ferrisRotate(speed)
{
self thread doFerrisRotate(speed);
}

resetFerrisSpeed()
{
level.speed = 0;
self thread doFerrisRotate(1);
}

doFerrisRotate(speed)
{
level endon("Destroy_Ferris");
level.speed += speed;
if(level.speed >= 15)
level.speed = 15;
if(level.speed <= -15)
level.speed = -15;
iprintln(level.speed);
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
for(a=360;a<0;a-=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
wait .05;
}
}

checkRidersFerris(Array)
{
level endon("Destroy_Ferris");
level.ferrisTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Ferris Wheel!");
while(isDefined(self))
{
level.ferrisTrig waittill("trigger",i);
if(!isDefined(i.riding) && isPlayer(i) && i useButtonPressed())
{
Closest = getClosest(i.origin,Array);
Seat = modelSpawner(Closest.origin-anglesToRight(self.angles)*22,"script_origin",(0,90,0));
Seat thread seatAngleFix(Closest);
if(!isDefined(Closest.FerrisOccupied))
{
i setStance("crouch");
i.ridingFerris = true;
i PlayerLinkToDelta(Seat);
i thread playerExitFerry(Closest,Seat);
Closest.FerrisOccupied = true;
}
}
}
}

seatAngleFix(seat)
{
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self.angles = (0,90,0);
self MoveTo(seat.origin+(0,0,10),.1);
wait .05;
}
wait .05;
}
}

playerExitFerry(Seat,tag)
{
while(isDefined(level.Ferris_Wheel))
{
if(self fragButtonPressed()) break;
wait .05;
}
tag unLink();
tag delete();
self.ridingFerris = undefined;
Seat.FerrisOccupied = undefined;
self unlink();
}


Centrox
    Spawn_Centrox()
{
level endon("Stop_Centrox");
level.Centrox = [];
level.Seats = [];
level.Center = [];
level.Movements = modelSpawner(self.origin + (40,0,20), "tag_origin");
time = .1;
for(e = 0; e < 2; e++)
for(i = 0; i < 6; i++)
level.Center[level.Center.size] = modelSpawner(level.Movements.origin + (cos(i*60)*20,sin(i*60)*20, e*70), "t6_wpn_supply_drop_ally", (0,(i*60)+90,90), time);//Center
for(i = 0; i < 15; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*24)*70,sin(i*24)*70, -20), "t6_wpn_supply_drop_ally", (0,(i*24)+90,0), time);//floor inner
for(i = 0; i < 25; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*14.4)*140,sin(i*14.4)*140, -20), "t6_wpn_supply_drop_ally", (0,(i*14.4)+90,0), time);//floor outer
for(i = 0; i < 30; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*12)*185,sin(i*12)*185, 30), "t6_wpn_supply_drop_ally", (0,(i*12)+90,90), time);//Wall
for(i = 0; i < 10; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*36)*178,sin(i*36)*178, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+90,90), time);//Seats Visual
for(i = 0; i < 10; i++)
level.Seats[level.Seats.size] = modelSpawner(level.Movements.origin + (0,0,-40) + (cos(i*36)*165,sin(i*36)*165, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+180,0));//Seats

level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);//Doors Open
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);//Doors Open

level.Movements thread monitorPlayersCentrox(level.Seats);

wait 5;
level.Movements thread Monitor_Centrox();
level.Movements thread Spin_Centrox();
}

Monitor_Centrox()
{
level endon("Stop_Centrox");
while(isDefined(self))
{
wait 10;
level.RideActive = true;
level.Centrox[68] MoveTo(level.Centrox[67].origin+(13,40,0), .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin+(-13,-40,0), .3);
wait 3;
foreach(model in level.Centrox)
model LinkTo(level.Movements);
foreach(model in level.Seats)
model LinkTo(level.Movements);

for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]+Ext),.7);
wait .6;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(Ext*0.1, .7);
wait .1;
}
wait 5;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(0-Ext*0.1, .7);
wait .1;
}
wait 8;
}
level.RideActive = undefined;
for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]-Ext),.7);
wait .6;
}
foreach(model in level.Seats)
model unlink();
foreach(model in level.Centrox)
model Unlink();
wait .3;
level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);
foreach(rider in level.players)
rider unlink();
for(e = 0; e < 10; e++)
level.seatTaken[e] = undefined;
wait .05;
}
}

Spin_Centrox()
{
level endon("Stop_Centrox");
Speed = 0;
for(;Winky Winky
{
while(isDefined(self) && isDefined(level.RideActive))
{
self RotateYaw(Speed*0.4, .9);
Speed++;
wait .1;
}
Speed = 0;
wait .05;
}
}

monitorPlayersCentrox(Array)
{
level endon("Stop_Centrox");
level.CentroxTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Centrox!");
while(isDefined(self))
{
level.CentroxTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
closest = getClosest(i.origin,Array);
if(!closest.occupied)
{
i setStance("stand");
i.ridingCentox = true;
i PlayerLinkToAbsolute(closest);
i thread playerExitCentrox(closest);
closest.CentroxOccupied = true;
}
}
}
}

playerExitCentrox(seat)
{
level endon("Stop_Centrox");
self endon("death");
self endon("disconnect");
wait 1.5;
while(isDefined(seat))
{
if(self useButtonPressed() && !isDefined(level.RideActive))
break;
wait .05;
}
seat.CentroxOccupied = undefined;
self setStance("stand");
self unlink();
wait 1.5;
self.ridingCentox = undefined;
}


The Claw
    Build_TheClaw()
{
level endon("Destroy_Claw");
level.clawOrg = self.origin;
pos = level.clawOrg+(0,15,460);

level.ClawSeats = [];
level.claw = [];
level.legs = [];

level.attach = modelSpawner(level.clawOrg+(0,55,60),"tag_origin");
level.ClawLink = modelSpawner(pos,"tag_origin");

for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (-220,-145+e*320,0) + (a*28,0,a*60),"t6_wpn_supply_drop_ally",(25,0,90),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (220,-145+e*320,0) + (a*-28,0,a*60),"t6_wpn_supply_drop_ally",(-25,0,90),.1);
for(a=0;a<5;a++) for(e=0;e<8;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,-125+a*70,460) + (sin(-90+e*45)*25, 0, sin(e*45)*25), "t6_wpn_supply_drop_ally", ((e*45),180,0),.1);
for(a=0;a<8;a++) for(e=0;e<6;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,460) + (cos(a*45)*30,sin(a*45)*30, e*-70), "t6_wpn_supply_drop_ally", (0,(a*45)+90,90),.1);
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15, 60), "t6_wpn_supply_drop_ally", (0,90,90),.1);
for(a=0;a<2;a++) for(e=0;e<12;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,100) + (cos(e*30)*40+a*55,sin(e*30)*40+a*55, -70), "t6_wpn_supply_drop_ally", (0,(e*30)+-90+a*90,0),.1);
for(e=0;e<12;e++) level.ClawSeats[level.ClawSeats.size] = modelSpawner(level.clawOrg + (0,15,95) + (cos(e*30)*95,sin(e*30)*95, -70), "tag_origin", Undefined,.1);

foreach(model in level.claw)
model linkTo(level.ClawLink);
foreach(model in level.ClawSeats)
model linkTo(level.ClawLink);

level.ClawLink thread ClawMovements();
level.attach thread monitorPlayersClaw( level.ClawSeats );
}

ClawMovements()
{
level endon("Destroy_Claw");
for(a=0;a>=-40;a-=2)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a<=60;a+=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a>=-80;a-=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=100;a+=4)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
while(true)
{
for(a=a;a>=-105;a-=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=105;a+=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
wait .05;
}
}

monitorPlayersClaw(Array)
{
level endon("Destroy_Claw");
level.ClawTrig = spawnTrig(self.origin,150,80,"HINT_NOICON","Press &&1 To Enter / Exit The Claw!");
while(isDefined(self))
{
level.ClawTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
RandSeat = RandomIntRange( 0, 13 );
if(!RandSeat.occupied)
{
i setStance("stand");
i.riding = true;
i playerLinkToDelta(Array[RandSeat]);
i thread playerExitClaw(RandSeat);
RandSeat.occupied = true;
}
}
}
}
playerExitClaw(seat,info)
{
level endon("Destroy_Claw");
while(isDefined(seat))
{
if(self fragButtonPressed()) break;
wait .05;
}
info destroy();
self allowSprint(true);
self allowProne(true);
seat.occupied = undefined;
self unlink();
self setStance("stand");
wait 1;
self.riding = undefined;
}


Flyable Plane (Pretty shit compared to the one I re-scripted, don't recommend using)
    initial_plane( model, max, min, roll, bullet )
{
self endon("stop_plane");
self endon("disconnect");

level.PlaneCannonTag = [];

level.plane = modelSpawner(self.origin + (0,0,20), model, (0,180,0));
level.planeSeat = modelSpawner(self.origin + (500,0,100), "tag_origin");
level.PlanelinkTag = modelSpawner(self.origin + (100,0,70), "tag_origin");
for(e=0;e<2;e++)
level.PlaneCannonTag[e] = modelSpawner(self.origin + (100,-200+e*400,70), "tag_origin");
self thread plane_connons(level.PlaneCannonTag[0], level.PlaneCannonTag[1], bullet);

level.PlaneTrigger = spawnTrig(self.origin + (0,0,20),50,50,"HINT_NOICON","Press &&1 To Drive!");
driver = undefined;
while(true)
{
level.PlaneTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.drivingPlane))
{
level.drivingPlane = i;
driver = i;
break;
}
}

driver thread clasicExit(true);
driver thread plane_engine( level.PlanelinkTag, level.planeSeat, level.plane, max, min, roll );
level.planeSeat linkTo(level.PlanelinkTag);
level.plane linkTo(level.PlanelinkTag);
level.PlaneCannonTag[0] linkTo(level.PlanelinkTag);
level.PlaneCannonTag[1] linkTo(level.PlanelinkTag);

driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.planeSeat);
level.PlaneTrigger delete();
}

plane_engine( tag, seat, plane, max, min, roll )
{
self endon("stop_plane");
self endon("disconnect");

self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
self disableWeapons();
self hide();
wait .5;
self thread roll_plane(tag, roll);
self thread move_plane(tag);
self thread speed_indicator(max);
self.planeSpeed = 0;
self enableInvulnerability();

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
if(self adsButtonPressed())
{
self.planeSpeed -= 5;
if(self.planeSpeed < min)
self.planeSpeed = min;
}
if(self attackButtonPressed())
{
self.planeSpeed++;
if(self.planeSpeed > max)
self.planeSpeed = max;
}
if(!self attackButtonPressed())
{
self.planeSpeed--;
if(self.planeSpeed < min)
self.planeSpeed = min;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}

self unlink(tag);
tag delete();
seat delete();
plane delete();
for(e=0;e<2;e++)
level.PlaneCannonTag[e] delete();
self.SpeedIndibar destroy();
self.SpeedIndi destroy();
self show();
self setclientthirdperson(0);
self enableWeapons();
level.drivingPlane = undefined;
self notify("stop_plane");
}

plane_connons(tag0, tag1, bullet)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
if(self secondaryoffhandbuttonpressed())
magicBullet(bullet, tag0.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self fragbuttonpressed())
magicBullet(bullet, tag1.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self stancebuttonpressed())
{
self thread maps\mp\killstreaks\_supplydrop::dropcrate(tag1.origin + (0,0,-100) + AnglesToRight(self getPlayerAngles())*200, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait .2;
}
wait .05;
}
}

roll_plane(tag, roll)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(roll)),.2,.05,.05);
wait .05;
}
}

move_plane(tag)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
wait .05;
}
}

speed_indicator(max)
{
self endon("stop_plane");
self endon("disconnect");

self.SpeedIndibar = self createBar( (0, 1, 0), 150, 11 );
self.SpeedIndibar setPoint( "CENTER", "TOP", 0, 42 );
self.SpeedIndi = self createFontString( "default", 1.5 );
self.SpeedIndi setPoint( "CENTER", "TOP", 0, 22 );
self.SpeedIndi setText( "Speed Indicator!" );

while(isDefined(self.SpeedIndibar))
{
self.SpeedIndibar updateBar( self.planeSpeed / max );
wait 0.5;
}
}


Needed in most functions so add it anywhere in your project.
    modelSpawner(origin, model, angles, time)
{
if(isDefined(time))
wait time;
obj = spawn("script_model", origin);
obj setModel(model);
if(isDefined(angles))
obj.angles = angles;
if(getentarray().size >= 590)
{
self iprintln("^1Error^7: Please delete some other structures");
obj delete();
}
return obj;
}

createRoll( divide )
{
roll = self getPlayerAngles()[1];
wait 0.05;
return (((roll-self getPlayerAngles()[1])*-6) / divide);
}

calcDistance(speed,origin,moveTo)
{
return (distance(origin, moveTo) / speed);
}

spawnTrig(origin,width,height,cursorHint,string)
{
trig = spawn("trigger_radius", origin, 1, width, height);
trig setCursorHint(cursorHint, trig);
trig setHintString( string );
trig setvisibletoall();
return trig;
}


If you do use any of these functions please credit the following
Extinct
Loz
Agreedbog



time to put in me menu and take credit Winky Winky
01-24-2017, 01:57 PM #6
Originally posted by Patrick View Post
List Of Functions

Hello guys I have decided to make a thread on nextgenupdate with all my leaked functions so here you go people!

P.S. I know these functions could have been done better and i was planning on re-scripting them when i got round to adding them into my menu!


Here are some videos of the functions:



Launch Player
    LaunchPlayer( who, height )
{
launchWho = modelSpawner(who.origin, "tag_origin", (who.angles));
who playerLinkTo( launchWho );
power = randomintrange(500,700);
fwd = anglesToforward(launchWho.angles);
if(isDefined( launchWho ))
launchWho launch(vectorScale(fwd+(0,0,height), power));
oldOrigin = launchWho.origin;
wait .05;
while(oldOrigin != launchWho.origin)
{
oldOrigin = launchWho.origin;
wait .05;
}
launchWho delete();
}


Heli Carepackage Troll
    //Add these to the includes
#include maps/mp/killstreaks/_killstreaks;
#include maps\mp\killstreaks\_helicopter;

carepackageTroll( who )
{
if(!isDefined( self.heliTroll ))
{
self iprintln("Heli troll incoming, please wait.");
self thread carepackageTrollStart( who );
self.heliTroll = true;
}
else
iprintln("^1Error^7: Please wait until your pilot has returned.");
}
carepackageTrollStart( who )
{
self endon("disconnect");
heli = self.carepackageTroll;
who freezeControlsallowlook(true);
who thread createFlare( "env/smoke/fx_smoke_supply_drop_blue_mp", 3, 3.5, who.origin + (0,0,-10));
//chopper = spawnhelicopter( owner, origin, angles, model, targetname );
heli = spawnHelicopter(self, self.origin + (12000, 0, 1500), self.angles, "heli_guard_mp", "veh_t6_drone_overwatch_light");
heli setSpeed(750, 25);
heli setVehGoalPos(who.origin + (0,0,1500), 1);
heli waittillmatch( "goal" );
wait 2;
self thread maps\mp\killstreaks\_supplydrop::dropcrate(heli.origin + (0, 0, -80), self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait 2;
heli thread heli_crash( "none", who, 0 );
heli waittill( "death" );
heli delete();
self.heliTroll = undefined;
}
createFlare( fx, num, time, origin )
{
for(e=0;e<num;e++)
{
self.createFlare = spawnFx(level._effect[ fx ], origin);
triggerFx(self.createFlare);
wait time;
}
}


Flashbang Troll
    FlashBangToggle( who )
{
if(!isDefined(who.isFlashed))
{
who thread FlashBangTroll( .2 );
who.isFlashed = true;
}
else
{
self notify("stop_Flashing");
who.isFlashed = undefined;
}
}

FlashBangTroll( num )
{
self endon("disconnect");
self endon("stop_Flashing");
for(;Winky Winky
{
self thread [[level.callbackPlayerDamage]]();
wait num;
}
}


Extincts Skybase
    buildPhysicsBase()
{
level endon("Destroy_Skybase");
level.basePos = self.origin;
level.physicsBase = [];

for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<7;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-70+a*40,22-e*70,225+x*160),"t6_wpn_supply_drop_ally", undefined, .1);//Floor & roof
for(x=0;x<2;x++) for(e=0;e<6;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(170-x*240,22-e*70,255+a*33),"t6_wpn_supply_drop_ally", undefined, .1);//Walls (2/4)
for(x=0;x<2;x++) for(e=0;e<3;e++) for(a=0;a<4;a++)
level.physicsBase[level.physicsBase.size] = modelSpawner(level.basePos+(-20+e*70,40-x*385,255+a*33),"t6_wpn_supply_drop_ally",(0,90,0), .1);//Walls (4/4)

for(e=113;e<115;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=117;e<119;e++)
level.physicsBase[e] setModel("t6_wpn_supply_drop_axis");
for(e=125;e<127;e++)
level.physicsBase[e] delete();

level.FlagEnter = modelSpawner(self.origin+(0,0,-10), "mp_flag_green");
level.FlagEnter thread enter_Skybase();

thread interior_Design();
}

enter_Skybase()
{
level.EnterBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Enter Skybase!");
while(isDefined(self))
{
level.EnterBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagExit.origin));
}
}

exit_Skybase()
{
level.ExitBase = spawnTrig(self.origin,35,35,"HINT_NOICON","Press &&1 To Exit Skybase!");
while(isDefined(self))
{
level.ExitBase waittill("trigger",i);
if(i useButtonPressed())
i setOrigin((level.FlagEnter.origin));
}
}

skybaseWindow(array)
{
level endon("Destroy_Skybase");
level.WindowTrigger = spawnTrig(self.origin,35,35,"HINT_NOICON","Press [{+melee}] To Open / Close The Window!");
while(isDefined(self))
{
level.WindowTrigger waittill("trigger",i);
if(i meleeButtonPressed() && !isDefined(level.skybaseMoving))
{
if(!isDefined(level.OpeningWindow))
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(33,2,.5,.5);
level.physicsBase[118] MoveZ(33,2,.5,.5);
level.physicsBase[113] MoveZ(-33.3,2,.5,.5);
level.physicsBase[117] MoveZ(-33.3,2,.5,.5);
wait 2;
level.OpeningWindow = true;
level.skybaseWindowInUse = undefined;
}
else
{
level.skybaseWindowInUse = true;
level.physicsBase[114] MoveZ(-33,2,.5,.5);
level.physicsBase[118] MoveZ(-33,2,.5,.5);
level.physicsBase[113] MoveZ(33.3,2,.5,.5);
level.physicsBase[117] MoveZ(33.3,2,.5,.5);
wait 2;
level.OpeningWindow = undefined;
level.skybaseWindowInUse = undefined;
}
}
}
}

interior_Design( action )
{
level endon("Destroy_Skybase");
level.Guns_Rand = [];
level.GunModel_Rand = strTok("dsr50_mp,ballista_mp,as50_mp,svu_mp", ",");

if(!isDefined(action))
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.WindowTrig thread skybaseWindow();
if(!isDefined(action))
{
level.WindowTrig = modelSpawner(level.physicsBase[113].origin + (30,-35,0), "tag_origin");
level.Guns_RandTrig = modelSpawner(level.WindowTrigger.origin+(168,80,-15), "tag_origin");
level.TradeWeapon = modelSpawner(level.Guns_RandTrig.origin+(0,-115,-15), "t6_wpn_supply_drop_axis");
level.Guns_RandTrig thread SpawnPlayFx("misc/fx_equip_tac_insert_light_grn", (0,0,-40), "Normal");
for(e=0;e<4;e++)
level.Guns_Rand[level.Guns_Rand.size] = modelSpawner(level.Guns_RandTrig.origin+(sin(e*90)*7,cos(e*90)*7,0), getWeaponModel(level.GunModel_Rand[e]), (270,0,(e*90)));
foreach(model in level.Guns_Rand)
model linkTo(level.Guns_RandTrig);
level.Sentry_Gun = modelSpawner(level.physicsBase[117].origin+(0,-140,0), getWeaponModel("minigun_wager_mp"), (0,180,0));
level.DriveBase = modelSpawner(level.TradeWeapon.origin+(0,-140,0), "t6_wpn_supply_drop_axis");
level.DriveBase0 = modelSpawner(level.TradeWeapon.origin+(0,-140,16), "prop_suitcase_bomb", (0,270,0));
level.FlagExit = modelSpawner(level.Guns_RandTrig.origin+(-160,0,-30), "mp_flag_red");

thread enter_Skybase();
}

level.Guns_RandTrig thread SniperMonitor();
level.Guns_RandTrig thread UpdownMonitor();
level.Guns_RandTrig thread rotateEntYaw(360, 1);
level.TradeWeapon thread TradeWeapMonitor();
level.Sentry_Gun thread skyBaseTurret();
level.DriveBase thread skyBaseDrive();
level.FlagExit thread exit_Skybase();

level waittill("Refresh_Skybase");
level.TradeTrigger delete();
level.SniperTrigger delete();
level.DriveTrigger delete();
level.TurretTrigger delete();
level.WindowTrigger delete();
level.ExitBase delete();
}

skyBaseTurret()
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TurretTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Activate Sentry Gun!");
level.turretInUse = undefined;
while(true)
{
level.TurretTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.turretInUse))
{
level.turretInUse = true;
level.Sentry_Gun thread sentryTimeout();
level.Sentry_Gun thread sentryMonitor(i.pers["team"], i);
iprintln("Sentry gun active!");
while(isDefined(level.SentryActive))
wait .05;
level.Sentry_Gun waittill("rotatedone");
for(e=0;e<10;e++)
{
level.Sentry_Gun thread SpawnPlayFx("weapon/grenade/fx_spark_disabled_rc_car", (0,0,-6), "Normal");
level.Sentry_Gun rotateTo(level.TradeWeapon.angles + (0,180,0),.5);
wait .4;
}
wait 1;
level.turretInUse = undefined;
}
}
}

sentryMonitor(team, owner) //self inside here is the turret
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");

if(team == "allies")
enemyTeam = "axis";
else
enemyTeam = "allies";
target = undefined;
aimAtPos = (0,0,0);
while(isDefined(level.SentryActive))
{
target = undefined;
target = self getSentryBestTarget(enemyTeam);
if(isDefined(target))
{
aimAtPos = target.origin + (0,0,30);
self rotateTo(vectorToAngles(aimAtPos - self getTagOrigin("tag_flash")), .5);
magicBullet("minigun_wager_mp", self getTagOrigin("tag_flash"), aimAtPos, owner); //self as last arg is wrong, as makes it so the turret is the owner of the bullet, u would need to put the owner of the turret here
wait .05;
}
else
{
wait 1;
self rotateTo(level.TradeWeapon.angles + (0,180,0),1.5,.5,.5);
self waittill("rotatedone");
self rotateTo((0,self.angles[1]-60,0),1.5,.5,.5);
self waittill("rotatedone");
if(isDefined(level.SentryActive))
{
for(e=0;e<2;e++)
{
self rotateTo(self.angles+(0,120+e*120,0),3,.5,.5);
self waittill("rotatedone");
}
}
}
wait .05;
}
}

sentryTimeout()
{
level.SentryActive = true;
wait randomIntRange(20,40);
level.SentryActive = undefined;
}

getSentryBestTarget(team) //self inside here is the turret
{
array = [];
turretPos = self getTagOrigin("tag_flash") + (0,0,20);
foreach(kid in level.players)
if(isAlive(kid) && team == kid.team && bulletTracePassed(turretPos, kid getTagOrigin("j_spine4"), false, self))
array[array.size] = kid;
return getClosest(turretPos, array);
}

TradeWeapMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.TradeTrigger = spawnTrig(level.TradeWeapon.origin,30,30,"HINT_NOICON","Press &&1 To Place Weapon/Pick Up Weapon!");
while(isDefined(self))
{
level.TradeTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(TableStatus == "Place")
{
level.WeaponPlaced = i getCurrentWeapon();
if(isSubStr(level.WeaponPlaced, "svu_") || isSubStr(level.WeaponPlaced, "dsr50_") || isSubStr(level.WeaponPlaced, "ballista_") || isSubStr(level.WeaponPlaced, "as50_"))
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,3,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
else
level.PlacedWeapon = modelSpawner(level.TradeWeapon.origin+(0,8,30), getWeaponModel(level.WeaponPlaced), level.TradeWeapon.angles + (0,90,90));
i takeWeapon(i getCurrentWeapon());
level.PlacedWeapon RotateRoll(720, 1, .3, .3);
wait 1.2;
level.PlacedWeapon moveTo(level.PlacedWeapon.origin+(0,0,-13), .2, .1, .1);
level.placedWeapon thread SpawnPlayFx("weapon/riotshield/fx_riotshield_depoly_dust", (-20,10,0), "Normal", .2);
wait .2;
TableStatus = "PickUp";
}
else
{
i giveweapon(level.WeaponPlaced,0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.WeaponPlaced);
level.PlacedWeapon delete();
wait .3;
TableStatus = "Place";
}
}
}
}

SniperMonitor(Array)
{
level endon("Destroy_Skybase");
level endon("Refresh_Skybase");
level.SniperTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Grab A Sniper!");
while(isDefined(self))
{
level.SniperTrigger waittill("trigger",i);
if(i useButtonPressed())
{
randomsniper = RandomIntRange(0,4);
if(i hasWeapon(level.GunModel_Rand[randomsniper]))
iprintln("");
else
i takeWeapon(i getCurrentWeapon());
i giveweapon(level.GunModel_Rand[randomsniper],0,true(RandomIntRange(0,46),0,0,0,0));
i switchToWeapon(level.GunModel_Rand[randomsniper]);
level.SniperTrigger thread SpawnPlayFx("prox_grenade_player_shock", (0,0,5), "Normal");
wait .2;
}
}
}

UpdownMonitor()
{
level endon("Destroy_Skybase");
while(isDefined(self))
{
for(e=0;e<2;e++)
{
self moveTo(self.origin+(0,0,40+e*-80),3,.5,.5);
self waittill("movedone");
}
wait .3;
}
}

skyBaseDrive()
{
level endon("Destroy_Skybase");
level.DriveTrigger = spawnTrig(self.origin,30,30,"HINT_NOICON","Press &&1 To Drive Sky Base!");
driver = undefined;
while(true)
{
level.DriveTrigger waittill("trigger",i);
if(i useButtonPressed())
{
if(!isDefined(level.drivingSkybase))
{
level.drivingSkybase = i;
i.inSkybase = undefined;
driver = i;
break;
}
else
{
i iprintln("^1ERROR:^7 Someone is already flying the skybase");
}
}
}
if(!isDefined(level.driverSeat))
{
level.driverSeat = modelSpawner(self.origin+(300,140,50),"tag_origin");
level.linkTag = modelSpawner(self.origin+(0,140,50),"tag_origin");
}
level.driverSeat linkTo(level.linkTag);
driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.driverSeat);

foreach(model in level.physicsBase)
model linkTo(level.linkTag);

level.TradeWeapon linkTo(level.linkTag);
level.Sentry_Gun linkTo(level.linkTag);
level.DriveBase linkTo(level.linkTag);
level.DriveBase0 linkTo(level.linkTag);
level.WindowTrig linkTo(level.linkTag);
level.Guns_RandTrig linkTo(level.linkTag);
level.FlagExit linkTo(level.linkTag);

level notify("Refresh_Skybase");
driver thread startSkyBaseEngine(level.linkTag);
level.DrivingAllowed = true;
}
startSkyBaseEngine(tag)
{
level endon("Destroy_Skybase");
self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
weap = self getCurrentWeapon();
self disableWeapons();
self hide();
wait .5;
self thread rollSkyBase(tag);
self thread moveSkyBase(tag);
self.skyBaseSpeed = 0;
self enableInvulnerability();
while(isDefined(level.drivingSkybase))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
if(self adsButtonPressed())
{
self.skyBaseSpeed -= 5;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
}
if(self attackButtonPressed())
{
self.skyBaseSpeed++;
if(self.skyBaseSpeed > 80)
self.skyBaseSpeed = 80;
}
if(!self attackButtonPressed())
{
self.skyBaseSpeed--;
if(self.skyBaseSpeed < 15)
self.skyBaseSpeed = 15;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}
level.DrivingAllowed = undefined;
thread interior_Design( true );
self unlink(tag);
foreach(model in level.physicsBase)
model unlink();
level.TradeWeapon unlink();
level.Sentry_Gun unlink();
level.DriveBase unlink();
level.DriveBase0 unlink();
level.Guns_RandTrig unlink();
level.FlagExit unlink();
self setOrigin((level.DriveTrigger.origin));
self show();
level.drivingSkybase = undefined;
self setclientthirdperson(0);
self enableWeapons();
self switchToWeapon(weap);
}
rollSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(1.5)),.2,.05,.05);
wait .05;
}
}
moveSkyBase(tag)
{
while(isDefined(level.DrivingAllowed))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.skyBaseSpeed,.05);
wait .05;
}
}


Ferris Wheel
    Spawn_Ferriswheel()
{
level endon("Destroy_Ferris");
level.ferrisOrg = self.origin;
level.speed = 0;

level.FerrisLegs = [];
level.FerrisSeats = [];
level.Ferris = [];

level.FerrisAttach = modelSpawner(level.ferrisOrg + (0,0,420), "tag_origin");
level.FerrisLink = modelSpawner(level.ferrisOrg + (0,0,60), "tag_origin");
for(a=0;a<2;a++) for(e=0;e<30;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*12)*330, cos(e*12)*330), "t6_wpn_supply_drop_ally", (0,0,e*-12),.1);
for(a=0;a<2;a++) for(b=0;b<5;b++) for(e=0;e<15;e++)
level.Ferris[level.Ferris.size] = modelSpawner(level.ferrisOrg + (-50+a*100,0,420) + (0,sin(e*24)*40+b*65, cos(e*24)*40+b*65), "t6_wpn_supply_drop_ally", (0,0,(e*-24)-90),.1);
for(e=0;e<15;e++)
level.FerrisSeats[level.FerrisSeats.size] = modelSpawner(level.ferrisOrg + (0,0,420) + (0,sin(e*24)*330, cos(e*24)*330), "t6_wpn_supply_drop_axis",(e*24,90,0),.1);
for(e=0;e<3;e++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (82-e*82,0,420),"t6_wpn_supply_drop_ally",(0,90,0),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,-220,0) + (0,a*28,a*60),"t6_wpn_supply_drop_ally",(0,0,65),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.FerrisLegs[level.FerrisLegs.size] = modelSpawner(level.ferrisOrg + (-100+e*200,220,0) + (0,a*-28,a*60),"t6_wpn_supply_drop_ally",(0,0,-65),.1);

foreach(model in level.Ferris)
model linkTo(level.FerrisAttach);
foreach(model in level.FerrisSeats)
model linkTo(level.FerrisAttach);

level.FerrisAttach thread ferrisRotate(1);
level.FerrisLink checkRidersFerris(level.FerrisSeats);
}

ferrisRotate(speed)
{
self thread doFerrisRotate(speed);
}

resetFerrisSpeed()
{
level.speed = 0;
self thread doFerrisRotate(1);
}

doFerrisRotate(speed)
{
level endon("Destroy_Ferris");
level.speed += speed;
if(level.speed >= 15)
level.speed = 15;
if(level.speed <= -15)
level.speed = -15;
iprintln(level.speed);
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
for(a=360;a<0;a-=level.speed)
{
self rotateTo((0,self.angles[1],a),.2);
wait .05;
}
wait .05;
}
}

checkRidersFerris(Array)
{
level endon("Destroy_Ferris");
level.ferrisTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Ferris Wheel!");
while(isDefined(self))
{
level.ferrisTrig waittill("trigger",i);
if(!isDefined(i.riding) && isPlayer(i) && i useButtonPressed())
{
Closest = getClosest(i.origin,Array);
Seat = modelSpawner(Closest.origin-anglesToRight(self.angles)*22,"script_origin",(0,90,0));
Seat thread seatAngleFix(Closest);
if(!isDefined(Closest.FerrisOccupied))
{
i setStance("crouch");
i.ridingFerris = true;
i PlayerLinkToDelta(Seat);
i thread playerExitFerry(Closest,Seat);
Closest.FerrisOccupied = true;
}
}
}
}

seatAngleFix(seat)
{
while(true)
{
for(a=0;a<360;a+=level.speed)
{
self.angles = (0,90,0);
self MoveTo(seat.origin+(0,0,10),.1);
wait .05;
}
wait .05;
}
}

playerExitFerry(Seat,tag)
{
while(isDefined(level.Ferris_Wheel))
{
if(self fragButtonPressed()) break;
wait .05;
}
tag unLink();
tag delete();
self.ridingFerris = undefined;
Seat.FerrisOccupied = undefined;
self unlink();
}


Centrox
    Spawn_Centrox()
{
level endon("Stop_Centrox");
level.Centrox = [];
level.Seats = [];
level.Center = [];
level.Movements = modelSpawner(self.origin + (40,0,20), "tag_origin");
time = .1;
for(e = 0; e < 2; e++)
for(i = 0; i < 6; i++)
level.Center[level.Center.size] = modelSpawner(level.Movements.origin + (cos(i*60)*20,sin(i*60)*20, e*70), "t6_wpn_supply_drop_ally", (0,(i*60)+90,90), time);//Center
for(i = 0; i < 15; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*24)*70,sin(i*24)*70, -20), "t6_wpn_supply_drop_ally", (0,(i*24)+90,0), time);//floor inner
for(i = 0; i < 25; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*14.4)*140,sin(i*14.4)*140, -20), "t6_wpn_supply_drop_ally", (0,(i*14.4)+90,0), time);//floor outer
for(i = 0; i < 30; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*12)*185,sin(i*12)*185, 30), "t6_wpn_supply_drop_ally", (0,(i*12)+90,90), time);//Wall
for(i = 0; i < 10; i++)
level.Centrox[level.Centrox.size] = modelSpawner(level.Movements.origin + (cos(i*36)*178,sin(i*36)*178, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+90,90), time);//Seats Visual
for(i = 0; i < 10; i++)
level.Seats[level.Seats.size] = modelSpawner(level.Movements.origin + (0,0,-40) + (cos(i*36)*165,sin(i*36)*165, 30), "t6_wpn_supply_drop_axis", (0,(i*36)+180,0));//Seats

level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);//Doors Open
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);//Doors Open

level.Movements thread monitorPlayersCentrox(level.Seats);

wait 5;
level.Movements thread Monitor_Centrox();
level.Movements thread Spin_Centrox();
}

Monitor_Centrox()
{
level endon("Stop_Centrox");
while(isDefined(self))
{
wait 10;
level.RideActive = true;
level.Centrox[68] MoveTo(level.Centrox[67].origin+(13,40,0), .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin+(-13,-40,0), .3);
wait 3;
foreach(model in level.Centrox)
model LinkTo(level.Movements);
foreach(model in level.Seats)
model LinkTo(level.Movements);

for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]+Ext),.7);
wait .6;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(Ext*0.1, .7);
wait .1;
}
wait 5;
}
wait 8;
for(e = 0; e < 2; e++)
{
for(Ext = 0; Ext < 40; Ext++)
{
self RotateRoll(0-Ext*0.1, .7);
wait .1;
}
wait 8;
}
level.RideActive = undefined;
for(Ext = 0; Ext < 22; Ext += 2)
{
self MoveTo((self.origin[0],self.origin[1],self.origin[2]-Ext),.7);
wait .6;
}
foreach(model in level.Seats)
model unlink();
foreach(model in level.Centrox)
model Unlink();
wait .3;
level.Centrox[68] MoveTo(level.Centrox[67].origin, .3);
level.Centrox[69] MoveTo(level.Centrox[40].origin, .3);
foreach(rider in level.players)
rider unlink();
for(e = 0; e < 10; e++)
level.seatTaken[e] = undefined;
wait .05;
}
}

Spin_Centrox()
{
level endon("Stop_Centrox");
Speed = 0;
for(;Winky Winky
{
while(isDefined(self) && isDefined(level.RideActive))
{
self RotateYaw(Speed*0.4, .9);
Speed++;
wait .1;
}
Speed = 0;
wait .05;
}
}

monitorPlayersCentrox(Array)
{
level endon("Stop_Centrox");
level.CentroxTrig = spawnTrig(self.origin,250,40,"HINT_NOICON","Press &&1 To Enter / Exit The Centrox!");
while(isDefined(self))
{
level.CentroxTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
closest = getClosest(i.origin,Array);
if(!closest.occupied)
{
i setStance("stand");
i.ridingCentox = true;
i PlayerLinkToAbsolute(closest);
i thread playerExitCentrox(closest);
closest.CentroxOccupied = true;
}
}
}
}

playerExitCentrox(seat)
{
level endon("Stop_Centrox");
self endon("death");
self endon("disconnect");
wait 1.5;
while(isDefined(seat))
{
if(self useButtonPressed() && !isDefined(level.RideActive))
break;
wait .05;
}
seat.CentroxOccupied = undefined;
self setStance("stand");
self unlink();
wait 1.5;
self.ridingCentox = undefined;
}


The Claw
    Build_TheClaw()
{
level endon("Destroy_Claw");
level.clawOrg = self.origin;
pos = level.clawOrg+(0,15,460);

level.ClawSeats = [];
level.claw = [];
level.legs = [];

level.attach = modelSpawner(level.clawOrg+(0,55,60),"tag_origin");
level.ClawLink = modelSpawner(pos,"tag_origin");

for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (-220,-145+e*320,0) + (a*28,0,a*60),"t6_wpn_supply_drop_ally",(25,0,90),.1);
for(e=0;e<2;e++) for(a=0;a<8;a++)
level.legs[level.legs.size] = modelSpawner(level.clawOrg + (220,-145+e*320,0) + (a*-28,0,a*60),"t6_wpn_supply_drop_ally",(-25,0,90),.1);
for(a=0;a<5;a++) for(e=0;e<8;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,-125+a*70,460) + (sin(-90+e*45)*25, 0, sin(e*45)*25), "t6_wpn_supply_drop_ally", ((e*45),180,0),.1);
for(a=0;a<8;a++) for(e=0;e<6;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,460) + (cos(a*45)*30,sin(a*45)*30, e*-70), "t6_wpn_supply_drop_ally", (0,(a*45)+90,90),.1);
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15, 60), "t6_wpn_supply_drop_ally", (0,90,90),.1);
for(a=0;a<2;a++) for(e=0;e<12;e++)
level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15,100) + (cos(e*30)*40+a*55,sin(e*30)*40+a*55, -70), "t6_wpn_supply_drop_ally", (0,(e*30)+-90+a*90,0),.1);
for(e=0;e<12;e++) level.ClawSeats[level.ClawSeats.size] = modelSpawner(level.clawOrg + (0,15,95) + (cos(e*30)*95,sin(e*30)*95, -70), "tag_origin", Undefined,.1);

foreach(model in level.claw)
model linkTo(level.ClawLink);
foreach(model in level.ClawSeats)
model linkTo(level.ClawLink);

level.ClawLink thread ClawMovements();
level.attach thread monitorPlayersClaw( level.ClawSeats );
}

ClawMovements()
{
level endon("Destroy_Claw");
for(a=0;a>=-40;a-=2)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a<=60;a+=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .1;
}
for(a=a;a>=-80;a-=3)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=100;a+=4)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
while(true)
{
for(a=a;a>=-105;a-=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
for(a=a;a<=105;a+=5)
{
self rotateTo((a,self.angles[1],0),.5);
wait .05;
}
wait .05;
}
}

monitorPlayersClaw(Array)
{
level endon("Destroy_Claw");
level.ClawTrig = spawnTrig(self.origin,150,80,"HINT_NOICON","Press &&1 To Enter / Exit The Claw!");
while(isDefined(self))
{
level.ClawTrig waittill("trigger",i);
if(i useButtonPressed() && !i.riding)
{
RandSeat = RandomIntRange( 0, 13 );
if(!RandSeat.occupied)
{
i setStance("stand");
i.riding = true;
i playerLinkToDelta(Array[RandSeat]);
i thread playerExitClaw(RandSeat);
RandSeat.occupied = true;
}
}
}
}
playerExitClaw(seat,info)
{
level endon("Destroy_Claw");
while(isDefined(seat))
{
if(self fragButtonPressed()) break;
wait .05;
}
info destroy();
self allowSprint(true);
self allowProne(true);
seat.occupied = undefined;
self unlink();
self setStance("stand");
wait 1;
self.riding = undefined;
}


Flyable Plane (Pretty shit compared to the one I re-scripted, don't recommend using)
    initial_plane( model, max, min, roll, bullet )
{
self endon("stop_plane");
self endon("disconnect");

level.PlaneCannonTag = [];

level.plane = modelSpawner(self.origin + (0,0,20), model, (0,180,0));
level.planeSeat = modelSpawner(self.origin + (500,0,100), "tag_origin");
level.PlanelinkTag = modelSpawner(self.origin + (100,0,70), "tag_origin");
for(e=0;e<2;e++)
level.PlaneCannonTag[e] = modelSpawner(self.origin + (100,-200+e*400,70), "tag_origin");
self thread plane_connons(level.PlaneCannonTag[0], level.PlaneCannonTag[1], bullet);

level.PlaneTrigger = spawnTrig(self.origin + (0,0,20),50,50,"HINT_NOICON","Press &&1 To Drive!");
driver = undefined;
while(true)
{
level.PlaneTrigger waittill("trigger",i);
if(i useButtonPressed() && !isDefined(level.drivingPlane))
{
level.drivingPlane = i;
driver = i;
break;
}
}

driver thread clasicExit(true);
driver thread plane_engine( level.PlanelinkTag, level.planeSeat, level.plane, max, min, roll );
level.planeSeat linkTo(level.PlanelinkTag);
level.plane linkTo(level.PlanelinkTag);
level.PlaneCannonTag[0] linkTo(level.PlanelinkTag);
level.PlaneCannonTag[1] linkTo(level.PlanelinkTag);

driver hide();
driver setPlayerAngles((0,180,0));
driver playerLinkTo(level.planeSeat);
level.PlaneTrigger delete();
}

plane_engine( tag, seat, plane, max, min, roll )
{
self endon("stop_plane");
self endon("disconnect");

self setclientthirdperson(1);
setDvar("cg_thirdPersonRange", "270");
self disableWeapons();
self hide();
wait .5;
self thread roll_plane(tag, roll);
self thread move_plane(tag);
self thread speed_indicator(max);
self.planeSpeed = 0;
self enableInvulnerability();

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
if(self adsButtonPressed())
{
self.planeSpeed -= 5;
if(self.planeSpeed < min)
self.planeSpeed = min;
}
if(self attackButtonPressed())
{
self.planeSpeed++;
if(self.planeSpeed > max)
self.planeSpeed = max;
}
if(!self attackButtonPressed())
{
self.planeSpeed--;
if(self.planeSpeed < min)
self.planeSpeed = min;
wait .05;
}
if(self meleeButtonPressed())
break;
wait 0.05;
}

self unlink(tag);
tag delete();
seat delete();
plane delete();
for(e=0;e<2;e++)
level.PlaneCannonTag[e] delete();
self.SpeedIndibar destroy();
self.SpeedIndi destroy();
self show();
self setclientthirdperson(0);
self enableWeapons();
level.drivingPlane = undefined;
self notify("stop_plane");
}

plane_connons(tag0, tag1, bullet)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
if(self secondaryoffhandbuttonpressed())
magicBullet(bullet, tag0.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self fragbuttonpressed())
magicBullet(bullet, tag1.origin, self getEye() + anglesToForward(self getPlayerAngles())*9999, self);
if(self stancebuttonpressed())
{
self thread maps\mp\killstreaks\_supplydrop::dropcrate(tag1.origin + (0,0,-100) + AnglesToRight(self getPlayerAngles())*200, self.angles, "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
wait .2;
}
wait .05;
}
}

roll_plane(tag, roll)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag rotateTo(self.angles+(0-self getPlayerAngles()[0],180,self createRoll(roll)),.2,.05,.05);
wait .05;
}
}

move_plane(tag)
{
self endon("stop_plane");
self endon("disconnect");

while(isDefined(tag))
{
tag moveto(tag.origin+anglestoforward(self getplayerangles())*self.planeSpeed,.05);
wait .05;
}
}

speed_indicator(max)
{
self endon("stop_plane");
self endon("disconnect");

self.SpeedIndibar = self createBar( (0, 1, 0), 150, 11 );
self.SpeedIndibar setPoint( "CENTER", "TOP", 0, 42 );
self.SpeedIndi = self createFontString( "default", 1.5 );
self.SpeedIndi setPoint( "CENTER", "TOP", 0, 22 );
self.SpeedIndi setText( "Speed Indicator!" );

while(isDefined(self.SpeedIndibar))
{
self.SpeedIndibar updateBar( self.planeSpeed / max );
wait 0.5;
}
}


Needed in most functions so add it anywhere in your project.
    modelSpawner(origin, model, angles, time)
{
if(isDefined(time))
wait time;
obj = spawn("script_model", origin);
obj setModel(model);
if(isDefined(angles))
obj.angles = angles;
if(getentarray().size >= 590)
{
self iprintln("^1Error^7: Please delete some other structures");
obj delete();
}
return obj;
}

createRoll( divide )
{
roll = self getPlayerAngles()[1];
wait 0.05;
return (((roll-self getPlayerAngles()[1])*-6) / divide);
}

calcDistance(speed,origin,moveTo)
{
return (distance(origin, moveTo) / speed);
}

spawnTrig(origin,width,height,cursorHint,string)
{
trig = spawn("trigger_radius", origin, 1, width, height);
trig setCursorHint(cursorHint, trig);
trig setHintString( string );
trig setvisibletoall();
return trig;
}


If you do use any of these functions please credit the following
Extinct
Loz
Agreedbog


You're getting to be a big boy.
01-28-2017, 06:18 PM #7
DrCash
Gobble
Im a total nub at making menus but is there anyway you can please make me a menu like the one in the vid or can you please send me the menu in the vid to my skype @miniladd6611 pls
also great work
07-13-2017, 07:08 PM #8
for me the hint text on how to use it is not showing up when im near it
any help on fixing this ?
08-10-2017, 04:15 AM #9
iamontero123
Save Point
How to add "Nuke option"
08-10-2017, 01:56 PM #10
Patrick
League Champion
Originally posted by iamontero123 View Post
How to add "Nuke option"


do a foreach loop using the arrays of the spawnables then apply 'physicsLaunch'

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo