Post: *NEW* Bunker [UNDERPASS]
02-27-2011, 09:37 PM #1
GangstaCupcake1
HELLO FRIEND Happy
(adsbygoogle = window.adsbygoogle || []).push({}); I have finished my bunker for underpass. Not really much, but with 1.12 coming out, might as well release it :black:
Download - You must login or register to view this content.
Here's the actual coding. (if you already have a CreateWalls and such, then don't add that stuff, only the myBunker)
Put in init()
    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"] );


Add in onPlayerSpawned()
    self thread myBunker();


Add anywhere
    myBunker(){
CreateWalls((-1113.21, -1820.85, 472.125), (-1113.21, -1581.88, 675));
CreateWalls((-1113.21, -1820.85, 472.125), (-762.483, -1820.85, 675));
CreateWalls((-1113.21, -1581.88, 472.125), (-762.483, -1581.88, 675));
CreateGrids((-1113.21, -1820.85, 650), (-762.483, -1657.14, 650), (0, 0, 0));
CreateGrids((-762.483, -1581.88, 650), (-878.126, -1657.14, 650), (0, 0, 0));
CreateRamps((-776.719, -1612.01, 472.125), (-1082.41, -1612.01, 650));
CreateElevator((-600.874, -1232.55, 320.125), (-63.1253, -1840.86, 376.125), (0, 0, 0));
CreateElevator((-63.1269, -1383.41, 332.443), (-152.875, -1264.85, 320.125), (0, 0, 0));
self thread SpawnWeapons(undefined,"cheytac_fmj_xmags_mp","Gangsta's Intervention",(-1083.08, -1790.68, 472.125),0);
self thread SpawnWeaponsUpside Down Happy:UsePredators,"prop_suitcase_bomb","Genocide's Predator Missile",(-1083.08, -1612.01, 472.125),0);
self thread SpawnWeapons(undefined,"deserteaglegold_mp","xHiiTm4N's Golden Deagle",(-1083.08, -1656.6775, 472.125),0);
self thread SpawnWeapons(undefined,"rpg_mp","Infected's RPG-7",(-1083.08, -1701.345, 472.125),0);
}
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;
}
}


roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}
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;
}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce){
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,0));
Wep setModel(weapon_model);
for(;Winky Winky{
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<60){
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;
}
}
UsePredators(){
maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
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;
}
}

Some screenshots:
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.
You must login or register to view this content.
Credits To Chrome Playa again for the tutorial. Without him, I couldn't have made this.
Please tell me what you think. Thanks Happy
NOTE: I was going to add more, but I got really bored, so I just decided to stop there.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 3 users say thank you to GangstaCupcake1 for this useful post:

Chrome Playa, emsp, Jannis96
02-27-2011, 09:39 PM #2
Vultra
Can’t trickshot me!
Originally posted by tacobells199 View Post
I have finished my bunker for underpass. Not really much, but with 1.12 coming out, might as well release it :black:
Download - You must login or register to view this content.
Here's the actual coding. (if you already have a CreateWalls and such, then don't add that stuff, only the myBunker)
Put in init()
    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"] );


Add in onPlayerSpawned()
    self thread myBunker();


Add anywhere
    myBunker(){
CreateWalls((-1113.21, -1820.85, 472.125), (-1113.21, -1581.88, 675));
CreateWalls((-1113.21, -1820.85, 472.125), (-762.483, -1820.85, 675));
CreateWalls((-1113.21, -1581.88, 472.125), (-762.483, -1581.88, 675));
CreateGrids((-1113.21, -1820.85, 650), (-762.483, -1657.14, 650), (0, 0, 0));
CreateGrids((-762.483, -1581.88, 650), (-878.126, -1657.14, 650), (0, 0, 0));
CreateRamps((-776.719, -1612.01, 472.125), (-1082.41, -1612.01, 650));
CreateElevator((-600.874, -1232.55, 320.125), (-63.1253, -1840.86, 376.125), (0, 0, 0));
CreateElevator((-63.1269, -1383.41, 332.443), (-152.875, -1264.85, 320.125), (0, 0, 0));
self thread SpawnWeapons(undefined,"cheytac_fmj_xmags_mp","Gangsta's Intervention",(-1083.08, -1790.68, 472.125),0);
self thread SpawnWeaponsUpside Down Happy:UsePredators,"prop_suitcase_bomb","Genocide's Predator Missile",(-1083.08, -1612.01, 472.125),0);
self thread SpawnWeapons(undefined,"deserteaglegold_mp","xHiiTm4N's Golden Deagle",(-1083.08, -1656.6775, 472.125),0);
self thread SpawnWeapons(undefined,"rpg_mp","Infected's RPG-7",(-1083.08, -1701.345, 472.125),0);
}
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;
}
}


roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}
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;
}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce){
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,0));
Wep setModel(weapon_model);
for(;Winky Winky{
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<60){
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;
}
}
UsePredators(){
maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
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;
}
}

Some screenshots:
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.
You must login or register to view this content.
Credits To Chrome Playa again for the tutorial. Without him, I couldn't have made this.
Please tell me what you think. Thanks Happy
NOTE: I was going to add more, but I got really bored, so I just decided to stop there.


sweet dude
02-27-2011, 09:41 PM #3
GangstaCupcake1
HELLO FRIEND Happy
Originally posted by TeOzFuSioN View Post
sweet dude


thx dude Happy
02-27-2011, 10:14 PM #4
emsp
Space Ninja
Originally posted by tacobells199 View Post
thx dude Happy


Nice could you post pics of my Bunker
02-27-2011, 10:17 PM #5
Chrome Playa
Chrome Gaming Reloaded
Originally posted by tacobells199 View Post
I have finished my bunker for underpass. Not really much, but with 1.12 coming out, might as well release it :black:
Download - You must login or register to view this content.
Here's the actual coding. (if you already have a CreateWalls and such, then don't add that stuff, only the myBunker)
Put in init()
    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"] );


Add in onPlayerSpawned()
    self thread myBunker();


Add anywhere
    myBunker(){
CreateWalls((-1113.21, -1820.85, 472.125), (-1113.21, -1581.88, 675));
CreateWalls((-1113.21, -1820.85, 472.125), (-762.483, -1820.85, 675));
CreateWalls((-1113.21, -1581.88, 472.125), (-762.483, -1581.88, 675));
CreateGrids((-1113.21, -1820.85, 650), (-762.483, -1657.14, 650), (0, 0, 0));
CreateGrids((-762.483, -1581.88, 650), (-878.126, -1657.14, 650), (0, 0, 0));
CreateRamps((-776.719, -1612.01, 472.125), (-1082.41, -1612.01, 650));
CreateElevator((-600.874, -1232.55, 320.125), (-63.1253, -1840.86, 376.125), (0, 0, 0));
CreateElevator((-63.1269, -1383.41, 332.443), (-152.875, -1264.85, 320.125), (0, 0, 0));
self thread SpawnWeapons(undefined,"cheytac_fmj_xmags_mp","Gangsta's Intervention",(-1083.08, -1790.68, 472.125),0);
self thread SpawnWeaponsUpside Down Happy:UsePredators,"prop_suitcase_bomb","Genocide's Predator Missile",(-1083.08, -1612.01, 472.125),0);
self thread SpawnWeapons(undefined,"deserteaglegold_mp","xHiiTm4N's Golden Deagle",(-1083.08, -1656.6775, 472.125),0);
self thread SpawnWeapons(undefined,"rpg_mp","Infected's RPG-7",(-1083.08, -1701.345, 472.125),0);
}
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;
}
}


roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}
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;
}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce){
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,0));
Wep setModel(weapon_model);
for(;Winky Winky{
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<60){
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;
}
}
UsePredators(){
maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
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;
}
}

Some screenshots:
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.
You must login or register to view this content.
Credits To Chrome Playa again for the tutorial. Without him, I couldn't have made this.
Please tell me what you think. Thanks Happy
NOTE: I was going to add more, but I got really bored, so I just decided to stop there.


Looks sick.

---------- Post added at 05:17 PM ---------- Previous post was at 05:17 PM ----------

Originally posted by emsp View Post
Nice could you post pics of my Bunker


Did you ever get doors to work?
02-27-2011, 10:19 PM #6
emsp
Space Ninja
Originally posted by Chrome
Looks sick.

---------- Post added at 05:17 PM ---------- Previous post was at 05:17 PM ----------



Did you ever get doors to work?


The Doors?? nope im thinking about takeing Almost Everything out of a zombie patch And Puting the Forge Patch in there
02-27-2011, 10:20 PM #7
Chrome Playa
Chrome Gaming Reloaded
Originally posted by emsp View Post
The Doors?? nope im thinking about takeing Almost Everything out of a zombie patch And Puting the Forge Patch in there


Ok, let Me know if you figure it out.
02-27-2011, 10:22 PM #8
emsp
Space Ninja
Originally posted by Chrome
Ok, let Me know if you figure it out.


ok i will let u know do u know what Godlymodz used for his Garage to open the Door?
02-27-2011, 10:35 PM #9
Jannis96
This is ****ing annoying.
Originally posted by tacobells199 View Post
I have finished my bunker for underpass. Not really much, but with 1.12 coming out, might as well release it :black:
Download - You must login or register to view this content.
Here's the actual coding. (if you already have a CreateWalls and such, then don't add that stuff, only the myBunker)
Put in init()
    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"] );
Add in onPlayerSpawned()
    self thread myBunker();
Add anywhere
    myBunker(){
CreateWalls((-1113.21, -1820.85, 472.125), (-1113.21, -1581.88, 675));
CreateWalls((-1113.21, -1820.85, 472.125), (-762.483, -1820.85, 675));
CreateWalls((-1113.21, -1581.88, 472.125), (-762.483, -1581.88, 675));
CreateGrids((-1113.21, -1820.85, 650), (-762.483, -1657.14, 650), (0, 0, 0));
CreateGrids((-762.483, -1581.88, 650), (-878.126, -1657.14, 650), (0, 0, 0));
CreateRamps((-776.719, -1612.01, 472.125), (-1082.41, -1612.01, 650));
CreateElevator((-600.874, -1232.55, 320.125), (-63.1253, -1840.86, 376.125), (0, 0, 0));
CreateElevator((-63.1269, -1383.41, 332.443), (-152.875, -1264.85, 320.125), (0, 0, 0));
self thread SpawnWeapons(undefined,"cheytac_fmj_xmags_mp","Gangsta's Intervention",(-1083.08, -1790.68, 472.125),0);
self thread SpawnWeaponsUpside Down Happy:UsePredators,"prop_suitcase_bomb","Genocide's Predator Missile",(-1083.08, -1612.01, 472.125),0);
self thread SpawnWeapons(undefined,"deserteaglegold_mp","xHiiTm4N's Golden Deagle",(-1083.08, -1656.6775, 472.125),0);
self thread SpawnWeapons(undefined,"rpg_mp","Infected's RPG-7",(-1083.08, -1701.345, 472.125),0);
}
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;
}
}


roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}
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;
}
SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce){
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,0));
Wep setModel(weapon_model);
for(;Winky Winky{
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<60){
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;
}
}
UsePredators(){
maps\mp\killstreaks\_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
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;
}
}
Some screenshots:
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.
You must login or register to view this content.
Credits To Chrome Playa again for the tutorial. Without him, I couldn't have made this.
Please tell me what you think. Thanks Happy
NOTE: I was going to add more, but I got really bored, so I just decided to stop there.


Looks good Smile
Thanked you for your hard work Cool Man (aka Tustin):y:
02-27-2011, 11:12 PM #10
GangstaCupcake1
HELLO FRIEND Happy
Originally posted by emsp View Post
Nice could you post pics of my Bunker


yea sure. just PM me the patch/coding

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo