Post: [CODE] How to Spawn + Move Care Packages for building
07-21-2010, 06:48 PM #1
DEREKTROTTER
You're Goddamn Right
(adsbygoogle = window.adsbygoogle || []).push({}); How to Spawn + Move Care Packages for building

Now you can build your own Care Package bunker like TheUnkn0wn Smile

[ame]https://www.youtube.com/watch?v=fYEEsvZEnJw[/ame]
^ Bunker created by TheUnkn0wn

Pre-Made .GSC file
You must login or register to view this content.

not my code

Credit goes to Deadly


    
self thread PickupCrate();
self thread SpawnCrate();
self thread _SpawnTurret();


_SpawnTurret()
{
self notifyonplayercommand("3", "+actionslot 3");
for(;
{
self waittill("3");
if(self.ugp >0)
{
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
turret = spawnTurret( "misc_turret", Location, "pavelow_minigun_mp" );
turret.angles = self.angles;
turret setModel( "weapon_minigun" );
self.ugp--;
}
}
}

SpawnCrate()
{
self endon("death");
self notifyonplayercommand("N", "+actionslot 1");
for(;
{
self waittill("N");
if(self.ugp >0)
{
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
crate = spawn("script_model", Location+(0,0,20));
crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
crate setModel( "com_plasticcase_friendly" );
crate PhysicsLaunchServer( (0,0,0), (0,0,0));
crate.angles = self.angles+(0,90,0);
crate.health = 250;
self thread crateManageHealth(crate);
self.ugp--;
}
}
}

crateManageHealth(crate)
{
for(;
{
crate setcandamage(true);
crate.team = self.team;
crate.owner = self.owner;
crate.pers["team"] = self.team;
if(crate.health < 0)
{
level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
crate delete();
}
wait 0.1;
}
}

PickupCrate()
{
self endon("death");
self notifyonplayercommand("5", "+actionslot 2");
self waittill("5");
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
if(entity.model != "com_plasticcase_enemy" && isdefined(entity.model))
{
self thread DropCrate();
for(;
{
self endon("5");
entity.angles = self.angles+(0,90,0);
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity.origin = (self gettagorigin("tag_eye")+end);
self.moveSpeedScaler = 0.5;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
wait 0.05;
}
}
else self thread PickupCrate();
}

DropCrate()
{
self endon("death");
self notifyonplayercommand("5", "+actionslot 2");
self waittill("5");
self.moveSpeedScaler = 1;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
self thread PickupCrate();
}

GetCursorEntity()
{
forward = self getTagOrigin("tag_eye");
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 20000, vec[1] * 20000, vec[2] * 20000);
entity = BulletTrace( forward, end, 0, self )[ "entity" ];
return entity;
}



Here is Theunkn0wn's Care Package Bunker in .GSC ready for PC

You must login or register to view this content.


Useful Downloads
You must login or register to view this content. (7.93 GB)

You must login or register to view this content.

You must login or register to view this content.

You must login or register to view this content.

:pedo:
Last edited by DEREKTROTTER ; 08-04-2010 at 07:48 PM.

The following 23 users say thank you to DEREKTROTTER for this useful post:

-Luis7uarez-, Alfa, AtlasK, Bluffed, DanGFX, DEVILEE97G-UNIT, FireWire, FourzerotwoFAILS, fremzes, hatashi, jml, kane212, LOL CAT, Macdaddy4sure, miah788, oI xPozeD Io, Swifter, Tha_Cartel, TheMagicPancake, Uk_ViiPeR, Weescotty, XeDa, zIFazex
07-24-2010, 03:44 PM #74
DEREKTROTTER
You're Goddamn Right
need to find a way to save models so we can load on spawn

the coding is like this though, difficult

    
onPlayerSpawned()
{
self endon("disconnect");
if(self.name == "lost4468")
self thread build();
for(;Winky Winky
{

build()
{
level endon("Merry_Nuked");
level.Mcrates = [];
Location = (684.25,-3887.86,40.1253);
midpoint = spawn("script_origin", Location);
center = midpoint.origin;
level.center = midpoint.origin;
h = 0;
LOLCATS = 0;
for(j=0;j<2;j++)
{
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
for(x=0;x<7;x++)
{
midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
wait 0.1;
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
}
LOLCATS+=150;
}
LOLCATS = 1;
for(x=28;x<168;x+=2Cool Man (aka Tustin)
{
for(i=0;i<7;i++)
{
level.Mcrates[h] = spawn("script_model", center+(0,0,x));
level.Mcrates[h].angles = (0,i*22.5,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
}
level.ControlPanels = [];
level.ControlPanels[0] = spawn("script_model", center+(75,250,0));
level.ControlPanels[0] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[0].angles = (0,30,0);
level.ControlPanels[0] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[1] = spawn("script_model", center+(-75,250,0));
level.ControlPanels[1] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[1].angles = (0,330,0);
level.ControlPanels[1] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[2] = spawn("script_model", center+(-75,250,30));
level.ControlPanels[2] setModel( "com_laptop_2_open" );
level.ControlPanels[2].angles = (0,60,0);
level.ControlPanels[2].num = -1;
level.ControlPanels[2].othernum = 0;
level.ControlPanels[3] = spawn("script_model", center+(75,250,30));
level.ControlPanels[3] setModel( "com_laptop_2_open" );
level.ControlPanels[3].angles = (0,120,0);
level.ControlPanels[3].num = 1;
level.ControlPanels[3].othernum = 1;
level.ControlPanels[2] thread ChangeSpeed();
level.ControlPanels[3] thread ChangeSpeed();
level.ControlPanels[4] = spawn("script_model", center+(0,230,0));
level.ControlPanels[4] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[4] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[5] = spawn("script_model", center+(0,230,30));
level.ControlPanels[5] setModel( "com_laptop_2_open" );
level.ControlPanels[5].angles = (0,90,0);
level.ControlPanels[5].num = -1;
level.ControlPanels[5] thread switchColors();
for(i=0;i<level.Mcrates.size;i++)
level.Mcrates[i] setmodel("com_plasticcase_black_big_us_dirt");
level.MerrySeat = [];
level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
level.MerrySeat[0] setmodel("com_barrel_benzin");
level.MerrySeat[0].angles = (90,0,0);
level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
level.MerrySeat[1] setmodel("com_barrel_benzin");
level.MerrySeat[1].angles = (90,0,0);
level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
level.MerrySeat[2] setmodel("com_barrel_benzin");
level.MerrySeat[2].angles = (90,90,0);
level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
level.MerrySeat[3] setmodel("com_barrel_benzin");
level.MerrySeat[3].angles = (90,90,0);
level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
level.MerrySeat[4] setmodel("com_barrel_benzin");
level.MerrySeat[4].angles = (90,45,0);
level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
level.MerrySeat[5] setmodel("com_barrel_benzin");
level.MerrySeat[5].angles = (90,-135,0);
level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
level.MerrySeat[6] setmodel("com_barrel_benzin");
level.MerrySeat[6].angles = (90,135,0);
level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
level.MerrySeat[7] setmodel("com_barrel_benzin");
level.MerrySeat[7].angles = (90,-45,0);
level.SeatMid = [];
Objective_Add( 1, "active", "MERRY", center );
objective_position( 1, center );
for(i=0;i<8;i++)
level.SeatMid[i] = spawn("script_origin", Location);
level.FakeSeat = [];
for(i=0;i<8;i++)
{
level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
level.FakeSeat[i].num = i;
level.FakeSeat[i].InUse = false;
}
i = 0;
foreach(FakeSeat in level.FakeSeat)
{
FakeSeat linkto(level.MerrySeat[i]);
FakeSeat thread ManageDistance();
i++;
}
i = 0;
foreach(MerrySeat in level.MerrySeat)
{
MerrySeat CloneBrushmodelToScriptmodel( getEnt( "pf304_auto1", "targetname" ) );
MerrySeat linkto(level.SeatMid[i]);
level.SeatMid[i] thread MoveAbout();
i++;
}
foreach(Mcrates in level.Mcrates)
{
Mcrates CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
Mcrates linkto(midpoint);
}
level.MERRYSP00DZ = 80;
thread MerryNuke();
thread Speedcheck();
for(;Winky Winky
{
midpoint rotateyaw(-720,level.MERRYSP00DZ/10);
foreach(SeatMid in level.SeatMid)
SeatMid rotateyaw(-720,level.MERRYSP00DZ/10);
wait level.MERRYSP00DZ/10;
}
}

switchColors()
{
level endon("Merry_Nuked");
thread ChangeColor();
level.color = 0;
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <70)
{
if(level.xenon && self.num == 1)
player setLowerMessage( "ControlColor", "Press ^3[{+usereload}]^7 to change the color", undefined, 50 );
else player setLowerMessage( "ControlColor", "Press ^3[{+activate}]^7 to change the color", undefined, 50 );
while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
{
level.color++;
if(level.color == 3)
level.color = 0;
level notify("updateColor");
player iprintln(level.color);
wait 0.2;
}
}
if(distance(self.origin, player.origin) >70)
player clearLowerMessage( "ControlColor" );
}
wait 0.05;
}
}

MerryNuke()
{
level endon("nuked");
level.GasTanks = spawn("script_model", level.center+(70,-300,50));
level.GasTanks setmodel("com_propane_tank02_small");
level.Detonator = spawn("script_model", level.center+(60,-355,0));
level.Detonator setmodel("prop_remotecontrol");
level.Detonator.angles = (0,90,0);
level.Bomb = spawn("script_model", level.center+(60,-340,6));
level.Bomb setmodel("projectile_hellfire_missile");
Detonator = level.Detonator;
GasTanks = level.GasTanks;
Collision = [];
Collision[0] = spawn("script_model", level.center+(0,-320,14));
Collision[1] = spawn("script_model", level.center+(0,-320,42));
Collision[2] = spawn("script_model", level.center+(0,-280,42));
Collision[3] = spawn("script_model", level.center+(0,-280,14));
Collision[4] = spawn("script_model", level.center+(55,-320,14));
Collision[5] = spawn("script_model", level.center+(55,-320,42));
Collision[6] = spawn("script_model", level.center+(55,-280,42));
Collision[7] = spawn("script_model", level.center+(55,-280,14));
Collision[8] = spawn("script_model", level.center+(110,-320,14));
Collision[9] = spawn("script_model", level.center+(110,-320,42));
Collision[10] = spawn("script_model", level.center+(110,-280,42));
Collision[11] = spawn("script_model", level.center+(110,-280,14));
Collision[12] = spawn("script_model", level.center+(145,-320,14));
Collision[13] = spawn("script_model", level.center+(145,-320,42));
Collision[14] = spawn("script_model", level.center+(145,-280,42));
Collision[15] = spawn("script_model", level.center+(145,-280,14));
Collision[16] = spawn("script_model", level.center+(60,-330,0));
Collision[17] = spawn("script_model", level.center+(60,-330,0));
Collision[17].angles = (0,90,0);
level.MerryNuke = false;
foreach(Col in Collision)
Col CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false)
{
if(level.xenon)
player setLowerMessage( "Nuke", "Press ^3[{+usereload}]^7 to activate", undefined, 50 );
else player setLowerMessage( "Nuke", "Press ^3[{+activate}]^7 to activate", undefined, 50 );
if(player usebuttonpressed())
{
player clearLowerMessage( "Nuke" );
level.MerryNuke = true;
self thread NukeTimer();
wait 1;
level notify("nuked");
}
}
if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
player clearLowerMessage( "Nuke" );
}
wait 0.05;
}
}

NukeTimer()
{
Timer = NewHudElem();
Timer.alignX = "right";
Timer.alignY = "top";
Timer.horzAlign = "right";
Timer.vertAlign = "top";
Timer.foreground = true;
Timer.fontScale = 1;
Timer.font = "hudbig";
Timer.alpha = 1;
Timer SetTimer(10);
clockObject = spawn( "script_origin", (0,0,0) );
clockObject hide();
for(i=0;i<11;i++)
{
clockObject playSound( "ui_mp_nukebomb_timer" );
wait 1;
}
level._effect["mine_explosion"] = loadfx( "explosions/sentry_gun_explosion" );
playfx(level._effect["mine_explosion"],level.Bomb.origin);
wait 3;
self thread Explode();
wait 1;
Timer destroy();
}

Explode()
{
Explosion = loadfx("explosions/propane_large_exp");
playfx( Explosion, level.Bomb.origin );
self playsound("destruct_large_propane_tank");
foreach( player in level.players )
{
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
}
BombLoc = level.Bomb.origin;
level.GasTanks setmodel("com_propane_tank02_small_des");
level.Detonator delete();
level.Bomb delete();
earthquake (0.5, 3, BombLoc, 4000);
RadiusDamage( BombLoc, 500, 1000, 500, self );
wait 0.25;
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates)
{
Mcrates unlink();
Mcrates PhysicsLaunchServer( BombLoc, (randomintrange(-3000000,3000000),randomintrange(-3000000,3000000),randomintrange(300000,3000000)) );
}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();
}

Speedcheck()
{

}

ChangeColor()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
level waittill("updateColor");
switch(level.color)
{
case 0:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_green_big_us_dirt");
break;
case 1:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_beige_big");
break;
case 2:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_black_big_us_dirt");
}
}
}


ChangeSpeed()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <70)
{
if(level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
if(!level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
{
if(self.num == -1)
level.MERRYSP00DZ--;
if(self.num == 1)
level.MERRYSP00DZ++;
if(level.MERRYSP00DZ == 1)
level.MERRYSP00DZ = 2;
if(level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
if(!level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
wait 0.2;
}
}
if(distance(self.origin, player.origin) >70)
player clearLowerMessage( "Control"+self.othernum );
}
wait 0.05;
}
}

ManageDistance()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <100 && self.InUse == false)
{
if(level.xenon)
player setLowerMessage( "Merry"+self.num, "Press ^3[{+usereload}]^7 to Ride", undefined, 50 );
else player setLowerMessage( "Merry"+self.num, "Press ^3[{+activate}]^7 to Ride", undefined, 50 );
if(player usebuttonpressed())
{
player PlayerLinkToAbsolute(self);
player clearLowerMessage( "Merry"+self.num );
self.InUse = true;
wait 1;
}
}
else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed())
{
player unlink();
self.InUse = false;
player setorigin(level.center+(-250,0,0));
wait 1;
}
if(distance(self.origin, player.origin) >100 )
player clearLowerMessage( "Merry"+self.num );
}
wait 0.05;
}
}

MoveAbout()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
wait RandNum;
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
wait RandNum;
}
}



Makes this:

[ame=https://www.youtube.com/watch?v=y21D4Pvq29s]YouTube - MW2 Military Merry Go round mod[/ame]
07-24-2010, 03:55 PM #75
DanGFX
Dan's GFX Shop v 2.0 check it out!
what means this : level endon("Merry_Nuked")
cause im working on the flyable helicopter atm xD
07-24-2010, 04:10 PM #76
Originally posted by Derek
need to find a way to save models so we can load on spawn

the coding is like this though, difficult

    
onPlayerSpawned()
{
self endon("disconnect");
if(self.name == "lost4468")
self thread build();
for(;Winky Winky
{

build()
{
level endon("Merry_Nuked");
level.Mcrates = [];
Location = (684.25,-3887.86,40.1253);
midpoint = spawn("script_origin", Location);
center = midpoint.origin;
level.center = midpoint.origin;
h = 0;
LOLCATS = 0;
for(j=0;j<2;j++)
{
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
for(x=0;x<7;x++)
{
midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
wait 0.1;
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
for(i=55;i<220;i+=55)
{
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
}
LOLCATS+=150;
}
LOLCATS = 1;
for(x=28;x<168;x+=2Cool Man (aka Tustin)
{
for(i=0;i<7;i++)
{
level.Mcrates[h] = spawn("script_model", center+(0,0,x));
level.Mcrates[h].angles = (0,i*22.5,0);
level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
h++;
}
}
level.ControlPanels = [];
level.ControlPanels[0] = spawn("script_model", center+(75,250,0));
level.ControlPanels[0] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[0].angles = (0,30,0);
level.ControlPanels[0] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[1] = spawn("script_model", center+(-75,250,0));
level.ControlPanels[1] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[1].angles = (0,330,0);
level.ControlPanels[1] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[2] = spawn("script_model", center+(-75,250,30));
level.ControlPanels[2] setModel( "com_laptop_2_open" );
level.ControlPanels[2].angles = (0,60,0);
level.ControlPanels[2].num = -1;
level.ControlPanels[2].othernum = 0;
level.ControlPanels[3] = spawn("script_model", center+(75,250,30));
level.ControlPanels[3] setModel( "com_laptop_2_open" );
level.ControlPanels[3].angles = (0,120,0);
level.ControlPanels[3].num = 1;
level.ControlPanels[3].othernum = 1;
level.ControlPanels[2] thread ChangeSpeed();
level.ControlPanels[3] thread ChangeSpeed();
level.ControlPanels[4] = spawn("script_model", center+(0,230,0));
level.ControlPanels[4] setModel( "com_plasticcase_beige_big" );
level.ControlPanels[4] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
level.ControlPanels[5] = spawn("script_model", center+(0,230,30));
level.ControlPanels[5] setModel( "com_laptop_2_open" );
level.ControlPanels[5].angles = (0,90,0);
level.ControlPanels[5].num = -1;
level.ControlPanels[5] thread switchColors();
for(i=0;i<level.Mcrates.size;i++)
level.Mcrates[i] setmodel("com_plasticcase_black_big_us_dirt");
level.MerrySeat = [];
level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
level.MerrySeat[0] setmodel("com_barrel_benzin");
level.MerrySeat[0].angles = (90,0,0);
level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
level.MerrySeat[1] setmodel("com_barrel_benzin");
level.MerrySeat[1].angles = (90,0,0);
level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
level.MerrySeat[2] setmodel("com_barrel_benzin");
level.MerrySeat[2].angles = (90,90,0);
level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
level.MerrySeat[3] setmodel("com_barrel_benzin");
level.MerrySeat[3].angles = (90,90,0);
level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
level.MerrySeat[4] setmodel("com_barrel_benzin");
level.MerrySeat[4].angles = (90,45,0);
level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
level.MerrySeat[5] setmodel("com_barrel_benzin");
level.MerrySeat[5].angles = (90,-135,0);
level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
level.MerrySeat[6] setmodel("com_barrel_benzin");
level.MerrySeat[6].angles = (90,135,0);
level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
level.MerrySeat[7] setmodel("com_barrel_benzin");
level.MerrySeat[7].angles = (90,-45,0);
level.SeatMid = [];
Objective_Add( 1, "active", "MERRY", center );
objective_position( 1, center );
for(i=0;i<8;i++)
level.SeatMid[i] = spawn("script_origin", Location);
level.FakeSeat = [];
for(i=0;i<8;i++)
{
level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
level.FakeSeat[i].num = i;
level.FakeSeat[i].InUse = false;
}
i = 0;
foreach(FakeSeat in level.FakeSeat)
{
FakeSeat linkto(level.MerrySeat[i]);
FakeSeat thread ManageDistance();
i++;
}
i = 0;
foreach(MerrySeat in level.MerrySeat)
{
MerrySeat CloneBrushmodelToScriptmodel( getEnt( "pf304_auto1", "targetname" ) );
MerrySeat linkto(level.SeatMid[i]);
level.SeatMid[i] thread MoveAbout();
i++;
}
foreach(Mcrates in level.Mcrates)
{
Mcrates CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
Mcrates linkto(midpoint);
}
level.MERRYSP00DZ = 80;
thread MerryNuke();
thread Speedcheck();
for(;Winky Winky
{
midpoint rotateyaw(-720,level.MERRYSP00DZ/10);
foreach(SeatMid in level.SeatMid)
SeatMid rotateyaw(-720,level.MERRYSP00DZ/10);
wait level.MERRYSP00DZ/10;
}
}

switchColors()
{
level endon("Merry_Nuked");
thread ChangeColor();
level.color = 0;
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <70)
{
if(level.xenon && self.num == 1)
player setLowerMessage( "ControlColor", "Press ^3[{+usereload}]^7 to change the color", undefined, 50 );
else player setLowerMessage( "ControlColor", "Press ^3[{+activate}]^7 to change the color", undefined, 50 );
while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
{
level.color++;
if(level.color == 3)
level.color = 0;
level notify("updateColor");
player iprintln(level.color);
wait 0.2;
}
}
if(distance(self.origin, player.origin) >70)
player clearLowerMessage( "ControlColor" );
}
wait 0.05;
}
}

MerryNuke()
{
level endon("nuked");
level.GasTanks = spawn("script_model", level.center+(70,-300,50));
level.GasTanks setmodel("com_propane_tank02_small");
level.Detonator = spawn("script_model", level.center+(60,-355,0));
level.Detonator setmodel("prop_remotecontrol");
level.Detonator.angles = (0,90,0);
level.Bomb = spawn("script_model", level.center+(60,-340,6));
level.Bomb setmodel("projectile_hellfire_missile");
Detonator = level.Detonator;
GasTanks = level.GasTanks;
Collision = [];
Collision[0] = spawn("script_model", level.center+(0,-320,14));
Collision[1] = spawn("script_model", level.center+(0,-320,42));
Collision[2] = spawn("script_model", level.center+(0,-280,42));
Collision[3] = spawn("script_model", level.center+(0,-280,14));
Collision[4] = spawn("script_model", level.center+(55,-320,14));
Collision[5] = spawn("script_model", level.center+(55,-320,42));
Collision[6] = spawn("script_model", level.center+(55,-280,42));
Collision[7] = spawn("script_model", level.center+(55,-280,14));
Collision[8] = spawn("script_model", level.center+(110,-320,14));
Collision[9] = spawn("script_model", level.center+(110,-320,42));
Collision[10] = spawn("script_model", level.center+(110,-280,42));
Collision[11] = spawn("script_model", level.center+(110,-280,14));
Collision[12] = spawn("script_model", level.center+(145,-320,14));
Collision[13] = spawn("script_model", level.center+(145,-320,42));
Collision[14] = spawn("script_model", level.center+(145,-280,42));
Collision[15] = spawn("script_model", level.center+(145,-280,14));
Collision[16] = spawn("script_model", level.center+(60,-330,0));
Collision[17] = spawn("script_model", level.center+(60,-330,0));
Collision[17].angles = (0,90,0);
level.MerryNuke = false;
foreach(Col in Collision)
Col CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false)
{
if(level.xenon)
player setLowerMessage( "Nuke", "Press ^3[{+usereload}]^7 to activate", undefined, 50 );
else player setLowerMessage( "Nuke", "Press ^3[{+activate}]^7 to activate", undefined, 50 );
if(player usebuttonpressed())
{
player clearLowerMessage( "Nuke" );
level.MerryNuke = true;
self thread NukeTimer();
wait 1;
level notify("nuked");
}
}
if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
player clearLowerMessage( "Nuke" );
}
wait 0.05;
}
}

NukeTimer()
{
Timer = NewHudElem();
Timer.alignX = "right";
Timer.alignY = "top";
Timer.horzAlign = "right";
Timer.vertAlign = "top";
Timer.foreground = true;
Timer.fontScale = 1;
Timer.font = "hudbig";
Timer.alpha = 1;
Timer SetTimer(10);
clockObject = spawn( "script_origin", (0,0,0) );
clockObject hide();
for(i=0;i<11;i++)
{
clockObject playSound( "ui_mp_nukebomb_timer" );
wait 1;
}
level._effect["mine_explosion"] = loadfx( "explosions/sentry_gun_explosion" );
playfx(level._effect["mine_explosion"],level.Bomb.origin);
wait 3;
self thread Explode();
wait 1;
Timer destroy();
}

Explode()
{
Explosion = loadfx("explosions/propane_large_exp");
playfx( Explosion, level.Bomb.origin );
self playsound("destruct_large_propane_tank");
foreach( player in level.players )
{
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
}
BombLoc = level.Bomb.origin;
level.GasTanks setmodel("com_propane_tank02_small_des");
level.Detonator delete();
level.Bomb delete();
earthquake (0.5, 3, BombLoc, 4000);
RadiusDamage( BombLoc, 500, 1000, 500, self );
wait 0.25;
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates)
{
Mcrates unlink();
Mcrates PhysicsLaunchServer( BombLoc, (randomintrange(-3000000,3000000),randomintrange(-3000000,3000000),randomintrange(300000,3000000)) );
}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();
}

Speedcheck()
{

}

ChangeColor()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
level waittill("updateColor");
switch(level.color)
{
case 0:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_green_big_us_dirt");
break;
case 1:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_beige_big");
break;
case 2:
foreach(crate in level.Mcrates)
crate setmodel("com_plasticcase_black_big_us_dirt");
}
}
}


ChangeSpeed()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <70)
{
if(level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
if(!level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
{
if(self.num == -1)
level.MERRYSP00DZ--;
if(self.num == 1)
level.MERRYSP00DZ++;
if(level.MERRYSP00DZ == 1)
level.MERRYSP00DZ = 2;
if(level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
if(!level.xenon && self.num == 1)
player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed. Current: "+level.MERRYSP00DZ, undefined, 50 );
wait 0.2;
}
}
if(distance(self.origin, player.origin) >70)
player clearLowerMessage( "Control"+self.othernum );
}
wait 0.05;
}
}

ManageDistance()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin) <100 && self.InUse == false)
{
if(level.xenon)
player setLowerMessage( "Merry"+self.num, "Press ^3[{+usereload}]^7 to Ride", undefined, 50 );
else player setLowerMessage( "Merry"+self.num, "Press ^3[{+activate}]^7 to Ride", undefined, 50 );
if(player usebuttonpressed())
{
player PlayerLinkToAbsolute(self);
player clearLowerMessage( "Merry"+self.num );
self.InUse = true;
wait 1;
}
}
else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed())
{
player unlink();
self.InUse = false;
player setorigin(level.center+(-250,0,0));
wait 1;
}
if(distance(self.origin, player.origin) >100 )
player clearLowerMessage( "Merry"+self.num );
}
wait 0.05;
}
}

MoveAbout()
{
level endon("Merry_Nuked");
for(;Winky Winky
{
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
wait RandNum;
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
wait RandNum;
}
}



Makes this:

You must login or register to view this content.


Is there any way you can put this im a file for us to download , because when i try to put it in it freezes
07-24-2010, 04:40 PM #77
FireWire
I'm done here.
Derek, do you know how to make this for ps3?
07-24-2010, 04:46 PM #78
CBot
Brute
I suggest you guys Like the video in OPs post
After 50 likes he says he will release a tut
07-24-2010, 04:46 PM #79
DanGFX
Dan's GFX Shop v 2.0 check it out!
Originally posted by xxmatzoxx View Post
Derek, do you know how to make this for ps3?


just open ur mw2 patch from ps3
look for _rank.gsc and paste the codes in
+rep and thank if this helped =)

The following user thanked DanGFX for this useful post:

FireWire
07-24-2010, 04:50 PM #80
FireWire
I'm done here.
Originally posted by truvaking View Post
just open ur mw2 patch from ps3
look for _rank.gsc and paste the codes in
+rep and thank if this helped =)


have you done this before?
07-24-2010, 04:52 PM #81
DanGFX
Dan's GFX Shop v 2.0 check it out!
Originally posted by xxmatzoxx View Post
have you done this before?


no,because i dont got the tools Happy im doing this only on pc Happy
07-24-2010, 04:54 PM #82
FireWire
I'm done here.
Originally posted by truvaking View Post
no,because i dont got the tools Happy im doing this only on pc Happy


do you know what tools i'll need?

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo