What's new

[RELEASE] EXTINCTS LIST OF FUNCTIONS

  • Thread starter Hypocrite
  • Start date
  • Views 1,277
Hypocrite

Hypocrite

Enthusiast
Messages
63
Reaction score
24
Points
65
Sin$
7
List Of Functions

Hello guys I have decided to make a thread on se7ensins with all my leaked functions because a guy who goes by the name of DemonicForce_AUS decided to release some of my private functions to make himself feel relevant but he doesn't realize that i don't care that he has done that since its black ops 2 gsc and its basically dead at the moment and i do it for fun, Im done arguing with 30 year old men aka DemonicForce_AUS 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
Code:
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
Code:
//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
Code:
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(;;)
    {
        self thread [[level.callbackPlayerDamage]]();
        wait num;
    }
}

Extincts Skybase
Code:
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
Code:
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
Code:
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(;;)
    {
        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
Code:
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 **** compared to the one I re-scripted, don't recommend using)
Code:
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.
Code:
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
 
Last edited:
Top Bottom
Login
Register