Post: ***Chrome Playa's Forge Patch v2***
02-28-2011, 03:49 AM #1
Chrome Playa
Chrome Gaming Reloaded
(adsbygoogle = window.adsbygoogle || []).push({});
Chrome Playa's Forge Patch v2.0
Good For In-Game Bunker Creations


Thank you -Bad-Man- for the idea Smile

*****New Features******

[NEW]Save Your Codes to a Text File with PC Version!!!!
Host Menu
Build Force Field
Build Door
Build Random Weapon Box
Build Ammo Box
Forge Mode
Support for All Objects By Map
Support For All Primary Weapons by Type
Guns to Wall
Full Scroll Capability for Menu
Rank Up Player
Unlock All Player
Teleport Player to Me
Teleport to Player
[/size]

Features
Full List Of Features


Forge Menu
Build Wall
Build Grid
Build Ramp
Build Door
Build Teleporter
Build Moving Platform
Build Force Field
Build Random Weapon Box
Build Ammo Box
Toggle Forge Mode
Weapons Menu
Models Menu

Host Menu
Force Host
Unlimited Time
Fast Restart
End Game
Advertise
Toggle Super Jump
Toggle Super Speed
Toggle No Friction
Toggle Aimbot
Change Map (All Non-DLC Maps)
Toggle Modded Bullets
Change Bullet Type

Player Menu
Kick Player
Rank to Level 70
Unlock All
Teleport to Me
Teleport to Player

Weapons Menu
Sniper Rifles
Assault Rifles
Sub Machine Guns
Launchers
Predator Missle
Deployable Sentry
Deployable Mingun

Models Menu
Afghan
Derail
Estate
Favela
Highrise
Invasion
Karachi
Quarry
Rundown
Scrapyard
Skidrow
Sub Base
Terminal
Underpass
Killstreak Models
Silver Sphere
Tactical Insertion



VIDEO:

[ame=https://www.youtube.com/watch?v=yeNcyV4l66Y]YouTube - Chrome Playa's Forge Patch v2[/ame]

DOWNLOASad Awesome

You must login or register to view this content.

How To Save Your Codes With PC Version:
With the PC Version of my Forge Patch, when you spawn anything, your code will be saved to your games_mp.log. This file is located in your MW2 Directory in the "main" folder. After you end a game, every code will be saved to that file. To find your codes, open up games_mp.log and scroll to the bottom. Your codes will be at the bottom of the file.


How To Make Your Bunker Code:

Every time you build a structure, a code will be generated on the screen. Add that code to myBunker() which is located in Coordinates.gsc. After you finish your code, just call it from a menu option or whatever you prefer.

If you would like to add your code to another patch, then you need to add this to the init() of your patch's missions.gsc:


    	level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
precacheModel( level.elevator_model["enter"] );
precacheModel( level.elevator_model["exit"] );
precacheModel( "test_sphere_silver" );
precacheModel("furniture_blowupdoll01");



You also need to have these codes along with your bunker code:

    //Map Building Functions ***(If You are putting your bunker into another patch, make sure to include these)***
CreateWalls(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateGrids(corner1,corner2,angle){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block LinkTo(center);block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}}}center.angles=angle;}
CreateRamps(top,bottom){D=Distance(top,bottom);blocks=roundUp(D/30);CX=top[0] - bottom[0];CY=top[1] - bottom[1];CZ=top[2] - bottom[2];XA=CX/blocks;YA=CY/blocks;ZA=CZ/blocks;CXY=Distance((top[0],top[1],0),(bottom[0],bottom[1],0));Temp=VectorToAngles(top - bottom);BA =(Temp[2],Temp[1] + 90,Temp[0]);for(b=0;b < blocks;b++){block=spawn("script_model",(bottom +((XA,YA,ZA)* B)));block setModel("com_plasticcase_friendly");block.angles=BA;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}block=spawn("script_model",(bottom +((XA,YA,ZA)* blocks)-(0,0,5)));block setModel("com_plasticcase_friendly");block.angles =(BA[0],BA[1],0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}
CreateElevator(enter,exit,angle){flag=spawn("script_model",enter);flag setModel(level.elevator_model["enter"]);wait 0.01;flag=spawn("script_model",exit);flag setModel(level.elevator_model["exit"]);wait 0.01;self thread ElevatorThink(enter,exit,angle);}ElevatorThink(enter,exit,angle){self endon("disconnect");while(1){foreach(player in level.players){if(Distance(enter,player.origin)<= 50){player SetOrigin(exit);player SetPlayerAngles(angle);}}wait .25;}}
CreatePlate(corner1,corner2,arivee,angle,time){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);block thread Escalatore((corner1 +(XA * r,YA * c,ZA * h)),(arivee +(XA * r,YA * c,ZA * h)),time);wait 0.01;}}}center.angles=angle;center thread Escalatore(corner1,arivee,time);center CloneBrushmodelToScriptmodel(level.airDropCrateCollision);}Escalatore(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*2.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*2.5);self.state="open";continue;}}}CreateAsc(depart,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Escalator(depart,arivee,time);}Escalator(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*1.5);self.state="open";continue;}}}CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);}Circle(depart,pass1,pass2,pass3,pass4,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="op";continue;}if(self.state=="op"){self MoveTo(pass1,time);wait(time);self.state="opi";continue;}if(self.state=="opi"){self MoveTo(pass2,time);wait(time);self.state="opa";continue;}if(self.state=="opa"){self MoveTo(pass3,time);wait(time);self.state="ope";continue;}if(self.state=="ope"){self MoveTo(pass4,time);wait(time);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time);self.state="open";continue;}}}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce,angle,gun){self endon("disconnect");gun delete();weapon_model=getWeaponModel(Weapon);if(weapon_model=="")weapon_model=Weapon;Wep=spawn("script_model",Location+(0,0,0));Wep setModel(weapon_model);Wep.angles=angle;for(;Winky Winky{foreach(player in level.players){Radius=distance(Location,player.origin);if(Radius<80){player setLowerMessage(WeaponName,"Press ^3[{+usereload}]^7 to swap for "+WeaponName);if(player UseButtonPressed())wait 0.2;if(player UseButtonPressed()){if(!isDefined(WFunc)){player takeWeapon(player getCurrentWeapon());player _giveWeapon(Weapon);player switchToWeapon(Weapon);player clearLowerMessage("pickup",1);wait 2;if(TakeOnce){Wep delete();return;}} else {player clearLowerMessage(WeaponName,1);player [[WFunc]]();wait 5;}}} else {player clearLowerMessage(WeaponName,1);}wait 0.1;}wait 0.5;}}
roundUp( floatVal ) { if ( int( floatVal ) != floatVal ) return int( floatVal+1 ); else return int( floatVal ); }
GetCursorPos(){f=self getTagOrigin("tag_eye");e=self Vector_Scal(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}vector_scal(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
UsePredators(){maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId); }
CreateTurret(type,angles,location){if(!isDefined(location)|| !isDefined(type))return;if(!isDefined(angles))angles =(0,0,0);if(type=="sentry"){turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");turret setModel("sentry_minigun");turret.angles=angles;} else if(type=="minigun"){turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");turret setModel("weapon_minigun");turret.angles=angles;}}
SpawnModel(Model,Location){self endon("disconnect");Obj=spawn("script_model",Location);Obj PhysicsLaunchServer((0,0,0),(0,0,0));Obj.angles=self.angles+(0,90,0);Obj setModel(Model);}
CreateForce(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateTac(pos){efx=loadfx("misc/flare_ambient");playFx(efx,pos);wait 0.01;}
CreateDoors(open,close,angle,size,height,hp,range){ offset =(((size / 2)- 0.5)* -1); center=spawn("script_model",open); for(j=0;j < size;j++){ door=spawn("script_model",open +((0,30,0)* offset)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); for(h=1;h < height;h++){ door=spawn("script_model",open +((0,30,0)* offset)-((70,0,0)* h)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); } offset += 1; } center.angles=angle; center.state="open"; center.hp=hp; center.range=range; center thread DoorThink(open,close); center thread DoorUse(); center thread ResetDoors(open,hp); wait 0.01;} DoorThink(open,close){ while(1) { if(self.hp > 0){ self waittill("triggeruse" ,player); if(player.team=="allies"){ if(self.state=="open"){ self MoveTo(close,level.doorwait); wait level.doorwait; self.state="close"; continue; } if(self.state=="close"){ self MoveTo(open,level.doorwait); wait level.doorwait; self.state="open"; continue; } } if(player.team=="axis"){ if(self.state=="close"){ self.hp--; player iPrintlnBold("HIT"); wait 1; continue; } } }else{ if(self.state=="close"){ self MoveTo(open,level.doorwait); } self.state="broken"; wait .5; } }} DoorUse(range){ self endon("disconnect"); while(1) { foreach(player in level.players) { if(Distance(self.origin,player.origin)<= self.range){ if(player.team=="allies"){ if(self.state=="open"){ player.hint="Press ^3[{+activate}] ^7to ^2Close ^7the door"; } if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Open ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.team=="axis"){ if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Attack ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.buttonPressed[ "+activate" ]==1){ player.buttonPressed[ "+activate" ]=0; self notify("triggeruse" ,player); } } } wait .045; }} ResetDoors(open,hp){ while(1) { level waittill("RESETDOORS"); self.hp=hp; self MoveTo(open,level.doorwait); self.state="open"; }}
CreateCrate(pos,angles){crate=spawn("script_model",pos);crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);crate setModel("com_plasticcase_friendly");crate .angles=angles;}
EliteWeaponBox(pos,WhatTeam){if(!isDefined(WhatTeam)){T=self.pers["team"];} else {T=WhatTeam;}Mossy=spawn("script_model",pos+(0,0,15));Mossy setModel("com_plasticcase_friendly");Mossy.angles=self.angles+(0,90,0);Mossy Solid();Mossy CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Elite=spawn("script_model",pos);Elite.angles=self.angles+(0,90,0);Elite Solid();RM=randomint(9999);for(;Winky Winky{foreach(P in level.players){wait 0.05;if(P.pers["team"]!=T)continueAwesome face=distance(pos,P.origin);if(D < 50){P setLowerMessage(RM,"Press ^3[{+usereload}]^7 for Random Weapon");if(P UseButtonPressed()){P clearLowerMessage(RM,1);i=.1;Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));Elite MoveTo(pos+(0,0,55),0.9);while(i<.6){OldWep=Wep;Wep=level.weaponList[randomint(level.weaponList.size)];if(Wep!=OldWep){Elite setModel(getWeaponModel(Wep));} else {Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));}wait i;i+=.02;}i=0;if(P GetWeaponsListPrimaries().size > 1)P takeWeapon(P getCurrentWeapon());P giveWeapon(Wep,randomIntRange(0,Cool Man (aka Tustin),true);P switchToWeapon(Wep);Elite MoveTo(pos,.01);wait .2;Elite setModel("");}} else {P clearLowerMessage(RM,1);}}}}EliteCursorPos(){f=self getTagOrigin("tag_eye");e=self Elite_Scale(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}Elite_Scale(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
CreateAmmoBox(pos,T){B=spawn("script_model",pos+(0,0,15));B setModel("com_plasticcase_friendly");B.angles=self.angles+(0,90,0);B Solid();B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);RAM=randomint(9999);for(;Winky Winky{foreach(P in level.players){wait 0.05;if(IsDefined(T)&&P.pers["team"]!=T)continue;R=distance(pos,P.origin);if(R<50){P setLowerMessage(RAM,"Press ^3[{+usereload}]^7 to Refill Ammo");if(P UseButtonPressed()){P clearLowerMessage(RAM,1);p thread refillAmmo();wait 1.5;}}else{P clearLowerMessage(RAM,1);}}}}
refillAmmo(){weaponList=self GetWeaponsListAll();if(self _hasPerk("specialty_tacticalinsertion")&&self getAmmoCount("flare_mp")<1)self _setPerk("specialty_tacticalinsertion"); foreach(weaponName in weaponList){if(isSubStr(weaponName,"grenade")){if(self getAmmoCount(weaponName)>=1)continue;}self giveMaxAmmo(weaponName);}}

The following 38 users say thank you to Chrome Playa for this useful post:

_L@ND!NRoCk_, -Whiteboy-, Ada Wong, agtiger, Amir-Habeeb, Baby-panama, CAMMO-ECKERT, Casper_HD, Cien, CleanMODSHD, DEREKTROTTER, Dreamcather, drive4567, Extractz92, GangsterDean, GetDeleted -_-, iHaXz_xD, IRiSe_GodFather, jonnyman69, LINUX♥, Mabez96, Matt1511, Mrs.Drake, Pauly, Cmd-X, ReX-05, RusterG, ryankite1, sigmund24, Skyl1n3, Swifter, T_m_b07, TRBZA, tycoon177, W0W, xR4G3x, XxAKASHIxX, YouRecognizeMe
02-28-2011, 03:57 AM #2
emsp
Space Ninja
JizzzZZZZZZZzzzzzzzz

The following 6 users say thank you to emsp for this useful post:

_L@ND!NRoCk_, Amir-Habeeb, Chrome Playa, Cien, DEREKTROTTER, Mrs.Drake
02-28-2011, 03:58 AM #3
Blackstorm
Veni. Vidi. Vici.
Very nice sir, I'm making my own forge patch atm, but this is good Claps
02-28-2011, 03:59 AM #4
agtiger
lolololololololololololol
OH MY GAMMIT!!!!!!!!!!!!!!!!





What does forge mean? :carling:
02-28-2011, 04:01 AM #5
GangsterDean
Can’t trickshot me!
cool patch Smile

The following user thanked GangsterDean for this useful post:

Cien
02-28-2011, 04:03 AM #6
wowaka
Former Staff
Nice, but leave zombland to hawkin?
02-28-2011, 04:11 AM #7
viralhysteria
74261700027
Originally posted by Chrome
Chrome Playa's Forge Patch v2.0


I love it, keep up the good work :carling:
02-28-2011, 04:26 AM #8
This is awesome but there should be more stuff like Pack o Punch.. you could spawn a flyable harrier idk just ideas

The following user thanked PlutoFTW for this useful post:

coolz3
02-28-2011, 07:17 AM #9
-Whiteboy-
┌∩┐ (◣◢Winky Winky┌∩┐
Originally posted by Chrome
Chrome Playa's Forge Patch v2.0
Good For In-Game Bunker Creations


Thank you -Bad-Man- for the idea Smile

*****New Features******

[NEW]Save Your Codes to a Text File with PC Version!!!!
Host Menu
Build Force Field
Build Door
Build Random Weapon Box
Build Ammo Box
Forge Mode
Support for All Objects By Map
Support For All Primary Weapons by Type
Guns to Wall
Full Scroll Capability for Menu
Rank Up Player
Unlock All Player
Teleport Player to Me
Teleport to Player
[/size]

Features
Full List Of Features


Forge Menu
Build Wall
Build Grid
Build Ramp
Build Door
Build Teleporter
Build Moving Platform
Build Force Field
Build Random Weapon Box
Build Ammo Box
Toggle Forge Mode
Weapons Menu
Models Menu

Host Menu
Force Host
Unlimited Time
Fast Restart
End Game
Advertise
Toggle Super Jump
Toggle Super Speed
Toggle No Friction
Toggle Aimbot
Change Map (All Non-DLC Maps)
Toggle Modded Bullets
Change Bullet Type

Player Menu
Kick Player
Rank to Level 70
Unlock All
Teleport to Me
Teleport to Player

Weapons Menu
Sniper Rifles
Assault Rifles
Sub Machine Guns
Launchers
Predator Missle
Deployable Sentry
Deployable Mingun

Models Menu
Afghan
Derail
Estate
Favela
Highrise
Invasion
Karachi
Quarry
Rundown
Scrapyard
Skidrow
Sub Base
Terminal
Underpass
Killstreak Models
Silver Sphere
Tactical Insertion



VIDEO:

You must login or register to view this content.

DOWNLOASad Awesome

You must login or register to view this content.

How To Save Your Codes With PC Version:
With the PC Version of my Forge Patch, when you spawn anything, your code will be saved to your games_mp.log. This file is located in your MW2 Directory in the "main" folder. After you end a game, every code will be saved to that file. To find your codes, open up games_mp.log and scroll to the bottom. Your codes will be at the bottom of the file.


How To Make Your Bunker Code:

Every time you build a structure, a code will be generated on the screen. Add that code to myBunker() which is located in Coordinates.gsc. After you finish your code, just call it from a menu option or whatever you prefer.

If you would like to add your code to another patch, then you need to add this to the init() of your patch's missions.gsc:


    	level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
precacheModel( level.elevator_model["enter"] );
precacheModel( level.elevator_model["exit"] );
precacheModel( "test_sphere_silver" );
precacheModel("furniture_blowupdoll01");



You also need to have these codes along with your bunker code:

    //Map Building Functions ***(If You are putting your bunker into another patch, make sure to include these)***
CreateWalls(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel("com_plasticcase_friendly");block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateGrids(corner1,corner2,angle){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block LinkTo(center);block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}}}center.angles=angle;}
CreateRamps(top,bottom){D=Distance(top,bottom);blocks=roundUp(D/30);CX=top[0] - bottom[0];CY=top[1] - bottom[1];CZ=top[2] - bottom[2];XA=CX/blocks;YA=CY/blocks;ZA=CZ/blocks;CXY=Distance((top[0],top[1],0),(bottom[0],bottom[1],0));Temp=VectorToAngles(top - bottom);BA =(Temp[2],Temp[1] + 90,Temp[0]);for(b=0;b < blocks;b++){block=spawn("script_model",(bottom +((XA,YA,ZA)* B)));block setModel("com_plasticcase_friendly");block.angles=BA;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}block=spawn("script_model",(bottom +((XA,YA,ZA)* blocks)-(0,0,5)));block setModel("com_plasticcase_friendly");block.angles =(BA[0],BA[1],0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.01;}
CreateElevator(enter,exit,angle){flag=spawn("script_model",enter);flag setModel(level.elevator_model["enter"]);wait 0.01;flag=spawn("script_model",exit);flag setModel(level.elevator_model["exit"]);wait 0.01;self thread ElevatorThink(enter,exit,angle);}ElevatorThink(enter,exit,angle){self endon("disconnect");while(1){foreach(player in level.players){if(Distance(enter,player.origin)<= 50){player SetOrigin(exit);player SetPlayerAngles(angle);}}wait .25;}}
CreatePlate(corner1,corner2,arivee,angle,time){W=Distance((corner1[0],0,0),(corner2[0],0,0));L=Distance((0,corner1[1],0),(0,corner2[1],0));H=Distance((0,0,corner1[2]),(0,0,corner2[2]));CX=corner2[0] - corner1[0];CY=corner2[1] - corner1[1];CZ=corner2[2] - corner1[2];ROWS=roundUp(W/55);COLUMNS=roundUp(L/30);HEIGHT=roundUp(H/20);XA=CX/ROWS;YA=CY/COLUMNS;ZA=CZ/HEIGHT;center=spawn("script_model",corner1);for(r=0;r<=ROWS;r++){for(c=0;c<=COLUMNS;c++){for(h=0;h<=HEIGHT;h++){block=spawn("script_model",(corner1 +(XA * r,YA * c,ZA * h)));block setModel("com_plasticcase_friendly");block.angles =(0,0,0);block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);block thread Escalatore((corner1 +(XA * r,YA * c,ZA * h)),(arivee +(XA * r,YA * c,ZA * h)),time);wait 0.01;}}}center.angles=angle;center thread Escalatore(corner1,arivee,time);center CloneBrushmodelToScriptmodel(level.airDropCrateCollision);}Escalatore(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*2.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*2.5);self.state="open";continue;}}}CreateAsc(depart,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Escalator(depart,arivee,time);}Escalator(depart,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time*1.5);self.state="open";continue;}}}CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time){Asc=spawn("script_model",depart);Asc setModel("com_plasticcase_friendly");Asc.angles=angle;Asc Solid();Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);}Circle(depart,pass1,pass2,pass3,pass4,arivee,time){while(1){if(self.state=="open"){self MoveTo(depart,time);wait(time*1.5);self.state="op";continue;}if(self.state=="op"){self MoveTo(pass1,time);wait(time);self.state="opi";continue;}if(self.state=="opi"){self MoveTo(pass2,time);wait(time);self.state="opa";continue;}if(self.state=="opa"){self MoveTo(pass3,time);wait(time);self.state="ope";continue;}if(self.state=="ope"){self MoveTo(pass4,time);wait(time);self.state="close";continue;}if(self.state=="close"){self MoveTo(arivee,time);wait(time);self.state="open";continue;}}}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce,angle,gun){self endon("disconnect");gun delete();weapon_model=getWeaponModel(Weapon);if(weapon_model=="")weapon_model=Weapon;Wep=spawn("script_model",Location+(0,0,0));Wep setModel(weapon_model);Wep.angles=angle;for(;Winky Winky{foreach(player in level.players){Radius=distance(Location,player.origin);if(Radius<80){player setLowerMessage(WeaponName,"Press ^3[{+usereload}]^7 to swap for "+WeaponName);if(player UseButtonPressed())wait 0.2;if(player UseButtonPressed()){if(!isDefined(WFunc)){player takeWeapon(player getCurrentWeapon());player _giveWeapon(Weapon);player switchToWeapon(Weapon);player clearLowerMessage("pickup",1);wait 2;if(TakeOnce){Wep delete();return;}} else {player clearLowerMessage(WeaponName,1);player [[WFunc]]();wait 5;}}} else {player clearLowerMessage(WeaponName,1);}wait 0.1;}wait 0.5;}}
roundUp( floatVal ) { if ( int( floatVal ) != floatVal ) return int( floatVal+1 ); else return int( floatVal ); }
GetCursorPos(){f=self getTagOrigin("tag_eye");e=self Vector_Scal(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}vector_scal(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
UsePredators(){maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId); }
CreateTurret(type,angles,location){if(!isDefined(location)|| !isDefined(type))return;if(!isDefined(angles))angles =(0,0,0);if(type=="sentry"){turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");turret setModel("sentry_minigun");turret.angles=angles;} else if(type=="minigun"){turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");turret setModel("weapon_minigun");turret.angles=angles;}}
SpawnModel(Model,Location){self endon("disconnect");Obj=spawn("script_model",Location);Obj PhysicsLaunchServer((0,0,0),(0,0,0));Obj.angles=self.angles+(0,90,0);Obj setModel(Model);}
CreateForce(start,end){D=Distance((start[0],start[1],0),(end[0],end[1],0));H=Distance((0,0,start[2]),(0,0,end[2]));blocks=roundUp(D/55);height=roundUp(H/30);CX=end[0] - start[0];CY=end[1] - start[1];CZ=end[2] - start[2];XA =(CX/blocks);YA =(CY/blocks);ZA =(CZ/height);TXA =(XA/4);TYA =(YA/4);Temp=VectorToAngles(end - start);Angle =(0,Temp[1],90);for(h=0;h < height;h++){block=spawn("script_model",(start +(TXA,TYA,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;for(i=1;i < blocks;i++){block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));block setModel(level.chopper_fx["light"]["belly"]);block.angles=Angle;block Solid();block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);wait 0.001;}}
CreateTac(pos){efx=loadfx("misc/flare_ambient");playFx(efx,pos);wait 0.01;}
CreateDoors(open,close,angle,size,height,hp,range){ offset =(((size / 2)- 0.5)* -1); center=spawn("script_model",open); for(j=0;j < size;j++){ door=spawn("script_model",open +((0,30,0)* offset)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); for(h=1;h < height;h++){ door=spawn("script_model",open +((0,30,0)* offset)-((70,0,0)* h)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel(level.airDropCrateCollision); door EnableLinkTo(); door LinkTo(center); } offset += 1; } center.angles=angle; center.state="open"; center.hp=hp; center.range=range; center thread DoorThink(open,close); center thread DoorUse(); center thread ResetDoors(open,hp); wait 0.01;} DoorThink(open,close){ while(1) { if(self.hp > 0){ self waittill("triggeruse" ,player); if(player.team=="allies"){ if(self.state=="open"){ self MoveTo(close,level.doorwait); wait level.doorwait; self.state="close"; continue; } if(self.state=="close"){ self MoveTo(open,level.doorwait); wait level.doorwait; self.state="open"; continue; } } if(player.team=="axis"){ if(self.state=="close"){ self.hp--; player iPrintlnBold("HIT"); wait 1; continue; } } }else{ if(self.state=="close"){ self MoveTo(open,level.doorwait); } self.state="broken"; wait .5; } }} DoorUse(range){ self endon("disconnect"); while(1) { foreach(player in level.players) { if(Distance(self.origin,player.origin)<= self.range){ if(player.team=="allies"){ if(self.state=="open"){ player.hint="Press ^3[{+activate}] ^7to ^2Close ^7the door"; } if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Open ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.team=="axis"){ if(self.state=="close"){ player.hint="Press ^3[{+activate}] ^7to ^2Attack ^7the door"; } if(self.state=="broken"){ player.hint="^1Door is Broken"; } } if(player.buttonPressed[ "+activate" ]==1){ player.buttonPressed[ "+activate" ]=0; self notify("triggeruse" ,player); } } } wait .045; }} ResetDoors(open,hp){ while(1) { level waittill("RESETDOORS"); self.hp=hp; self MoveTo(open,level.doorwait); self.state="open"; }}
CreateCrate(pos,angles){crate=spawn("script_model",pos);crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);crate setModel("com_plasticcase_friendly");crate .angles=angles;}
EliteWeaponBox(pos,WhatTeam){if(!isDefined(WhatTeam)){T=self.pers["team"];} else {T=WhatTeam;}Mossy=spawn("script_model",pos+(0,0,15));Mossy setModel("com_plasticcase_friendly");Mossy.angles=self.angles+(0,90,0);Mossy Solid();Mossy CloneBrushmodelToScriptmodel(level.airDropCrateCollision);Elite=spawn("script_model",pos);Elite.angles=self.angles+(0,90,0);Elite Solid();RM=randomint(9999);for(;Winky Winky{foreach(P in level.players){wait 0.05;if(P.pers["team"]!=T)continueAwesome face=distance(pos,P.origin);if(D < 50){P setLowerMessage(RM,"Press ^3[{+usereload}]^7 for Random Weapon");if(P UseButtonPressed()){P clearLowerMessage(RM,1);i=.1;Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));Elite MoveTo(pos+(0,0,55),0.9);while(i<.6){OldWep=Wep;Wep=level.weaponList[randomint(level.weaponList.size)];if(Wep!=OldWep){Elite setModel(getWeaponModel(Wep));} else {Wep=level.weaponList[randomint(level.weaponList.size)];Elite setModel(getWeaponModel(Wep));}wait i;i+=.02;}i=0;if(P GetWeaponsListPrimaries().size > 1)P takeWeapon(P getCurrentWeapon());P giveWeapon(Wep,randomIntRange(0,Cool Man (aka Tustin),true);P switchToWeapon(Wep);Elite MoveTo(pos,.01);wait .2;Elite setModel("");}} else {P clearLowerMessage(RM,1);}}}}EliteCursorPos(){f=self getTagOrigin("tag_eye");e=self Elite_Scale(anglestoforward(self getPlayerAngles()),1000000);l=BulletTrace(f,e,0,self)["position"];return l;}Elite_Scale(vec,scale){vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);return vec;}
CreateAmmoBox(pos,T){B=spawn("script_model",pos+(0,0,15));B setModel("com_plasticcase_friendly");B.angles=self.angles+(0,90,0);B Solid();B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);RAM=randomint(9999);for(;Winky Winky{foreach(P in level.players){wait 0.05;if(IsDefined(T)&&P.pers["team"]!=T)continue;R=distance(pos,P.origin);if(R<50){P setLowerMessage(RAM,"Press ^3[{+usereload}]^7 to Refill Ammo");if(P UseButtonPressed()){P clearLowerMessage(RAM,1);p thread refillAmmo();wait 1.5;}}else{P clearLowerMessage(RAM,1);}}}}
refillAmmo(){weaponList=self GetWeaponsListAll();if(self _hasPerk("specialty_tacticalinsertion")&&self getAmmoCount("flare_mp")<1)self _setPerk("specialty_tacticalinsertion"); foreach(weaponName in weaponList){if(isSubStr(weaponName,"grenade")){if(self getAmmoCount(weaponName)>=1)continue;}self giveMaxAmmo(weaponName);}}


Great update Happy
02-28-2011, 09:59 AM #10
DEREKTROTTER
You're Goddamn Right
Sick

The only thing missing no is a built in game switcher to zombies

Zombieland has gotten old and boring IMO, need something like teh1337s zombie forge

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

Mabez96, Vampytwistッ

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo