MrFawkes1337

New Member
Messages
2
Points
1
Zombies Change Round. Max round is 255.

C++:
#using scripts\zm\_zm_utility;


function RoundEdit(round)
{
    self thread zm_utility::zombie_goto_round(round);
    self iprintln("Round Set To: "+round);
}
Tested and works.
 

MrFawkes1337

New Member
Messages
2
Points
1
Some More code, build The Claw! Originally ported to BO2 by me and released on 7s, now here!



Precache this...

Code:
#precache("model", "p7_barrel_metal_55gal_blue");
Then add this somewhere in your GSC.
Code:
function 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 >= 2000)
    {
        self iprintln("^1Error^7: Please delete some other structures");
        obj delete();
    }
    return obj;
}

function Build_TheClaw()
{
    if (level.BuildSpaceFull == 1)
    {
        self iprintlnBold("[^1ERROR]^4You Already have a Spawnable in place.");
        self playlocalsound("cac_grid_nav");
    }
    else
    {
            self thread Build_TheClaw2();
            self iprintlnBold("Spawning The Claw");
            level.BuildSpaceFull = 1;
    }
}

function Build_TheClaw2()

{

    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),"p7_barrel_metal_55gal_blue",(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),"p7_barrel_metal_55gal_blue",(-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), "p7_barrel_metal_55gal_blue", ((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), "p7_barrel_metal_55gal_blue", (0,(a*45)+90,90),.1);

    level.claw[level.claw.size] = modelSpawner(level.clawOrg + (0,15, 60), "p7_barrel_metal_55gal_blue", (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), "skybox_zm_zod", (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), "skybox_zm_zod", 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 );

}


function 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;

    }

}

function 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;

            }

        }

    }

}

function 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;

}
 
function createRoll( divide )
{

    roll = self getPlayerAngles()[1];

    wait 0.05;

    return (((roll-self getPlayerAngles()[1])*-6) / divide);

}

function calcDistance(speed,origin,moveTo)
{

    return (distance(origin, moveTo) / speed);

}

function 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;

}

function rotateEntYaw(yaw,time)
{

    while(isDefined(self))

    {

        self rotateYaw(yaw,time);

        wait time;

    }

} 

function SpawnPlayFx(Fx,pos,ID,Delay,DelayFx)
{ 
    if(getentarray().size <= 2000)

    {

        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 use, please give credit and enjoy!
 

Top