Post: [SCRIPT] My Personal SkyBase (with video)
02-27-2012, 11:09 PM #1
Choco
Respect my authoritah!!
(adsbygoogle = window.adsbygoogle || []).push({}); Hey guys, I've been getting a lot of hate lately but I've decided to not let that set me back and release this anyways.

This is the skybase I use in my private patch. It's a solid care package platform (you can walk and not get stuck) with a Random Weapon Box, a Pack-a-Punch machine, and 2 mounted turrets (only on supporting maps). It will work on any map, just without the turrets on certain ones. It spawns it up above you in the sky.

Video by Advisable:


Make sure these are in init():
    precacheModel("com_plasticcase_beige_big");
precacheModel("prop_flag_american");


Thread it with this:
    self thread SkyBase();


Here's the script:
    SkyBase()
{
origin=self.origin+(0,0,500);
for(k=0;k<10;k++)
{
for(i=0;i<10;i++)
{
skybase=spawn("script_model",(origin[0]+(k*30),origin[1]+(i*30),origin[2]+225));
skybase SetModel("com_plasticcase_beige_big");
skybase.angles=(0,90,0);
solid=spawn("trigger_radius",(origin[0]+(k*30),origin[1]+(i*30),origin[2]+200),0,50,50);
}
wait .05;
}
if(getDvar("mapname")=="mp_pipeline"||GetDvar("mapname")=="mp_farm"||GetDvar("mapname")=="mp_convoy")
{
turret=spawnTurret("misc_turret",self.origin+(0,0,775),"saw_bipod_stand_mp");
turret2=spawnTurret("misc_turret",self.origin+(0,275,775),"saw_bipod_stand_mp");
turret.weaponinfo="saw_bipod_stand_mp";
turret2.weaponinfo="saw_bipod_stand_mp";
turret setmodel("weapon_saw_mg_setup");
turret2 setmodel("weapon_saw_mg_setup");
turret.angles=(0,-90,0);
turret2.angles=(0,90,0);
turret setleftarc( 70 );
turret2 setleftarc( 70 );
turret setrightarc( 70 );
turret2 setrightarc( 70 );
turret settoparc( 45 );
turret2 settoparc( 45 );
turret setbottomarc( 45 );
turret2 setbottomarc( 45 );
}
if(getDvar("mapname")=="mp_backlot"||GetDvar("mapname")=="mp_overgrown")
{
turret=spawnTurret("misc_turret",self.origin+(0,0,775),"saw_bipod_crouch_mp");
turret2=spawnTurret("misc_turret",self.origin+(0,275,775),"saw_bipod_crouch_mp");
turret.weaponinfo="saw_bipod_crouch_mp";
turret2.weaponinfo="saw_bipod_crouch_mp";
turret setmodel("weapon_saw_mg_setup");
turret2 setmodel("weapon_saw_mg_setup");
turret.angles=(0,-90,0);
turret2.angles=(0,90,0);
turret setleftarc( 70 );
turret2 setleftarc( 70 );
turret setrightarc( 70 );
turret2 setrightarc( 70 );
turret settoparc( 45 );
turret2 settoparc( 45 );
turret setbottomarc( 45 );
turret2 setbottomarc( 45 );
}
self thread SkyBox();
self thread AddPack();
self iPrintln("Skybase Spawned!");
self setOrigin(self.origin+(100,50,755));
}
SkyBox() {
level.circle=loadfx( "misc/ui_pickup_unavailable" );
O=self.origin+(200,50,755);
wait .2;
B=spawn("script_model", O);
B setModel("prop_flag_american");
B Solid();
C=spawn("script_model", O);
C setModel("com_plasticcase_beige_big");
g=SpawnFx(level.circle, O);
TriggerFX(g);
W=spawn("script_model", B.origin);
W Solid();
for (;Winky Winky {
for (i=0;i<level.players.size;i++) {
P=level.players[i];
wait 0.01;
P thread StopText();
R=distance(B.origin, P.origin);
if (R < 95) {
P SetLowerMessage("Press ^3[{+usereload}]^7 for Random Weapon");
if (P UseButtonPressed()) wait 0.1;
if (P UseButtonPressed()) {
P.oldGun=P GetCurrentWeapon();
RW="";
i=randomint(75);
j=randomint(6);
RW=level.weaponList[i];
W setModel(getWeaponModel(RW, j));
W MoveTo(B.origin + (0, 0, 50), 1);
wait 1;
if (P GetWeaponsListPrimaries().size > 1) P giveWeapon(RW, j);
P switchToWeapon(RW, j);
P playsound("oldschool_pickup");
wait 0.2;
W MoveTo(B.origin, 1);
wait 0.2;
W setModel("");
P TakeWeapon(P.oldGun);
wait 2;
}
} else {
P notify("lol");
}
}
}
}
StopText()
{
for(;Winky Winky {
self waittill("lol");
self ClearLowerMessage(1);
}
}
AddPack() {
level.packpunch=spawn("script_model", self.origin+(250,250,755));
level.packpunch.angles = (0,90,0);
level.packpunch setModel( "com_plasticcase_beige_big" );
level.packpunch setContents(1);
for(i=0;i<=level.players.size;i++) level.players[i] thread doPack2();
}
doPack2()
{
self thread textPack();
for(;Winky Winky
{
if(distance(self.origin,level.packpunch.origin)<50)
{
self setLowerMessage("Press [{+usereload}] to Pack-a-Punch");
if(self usebuttonpressed())
{
weap = self getCurrentWeapon();
if( self.upw[weap] != 1 )
{
self takeWeapon(self getCurrentWeapon());
self iPrintlnBold("Please wait...");
wait 4;
self iPrintlnBold("Done!");
self.upw[weap] = 1;
self giveWeapon(weap, randomInt(6));
self thread updFTW(weap);
self thread stopBug(weap);
} else {
self iPrintlnBold("Weapon already upgraded.");
wait 1;
}
}
}
wait 0.05;
}
}
textPack()
{
for(;Winky Winky
{
if(distance(self.origin,level.packpunch.origin)>50)
self clearLowerMessage(1);
wait 0.05;
}
wait 0.05;
}
stopBug(gun)
{
self waittill("death");
self.upw[gun] = 0;
}
updFTW( gun )
{
self endon("disconnect");
self endon("death");
for(;Winky Winky
{
self waittill("weapon_fired");
weap=self getCurrentWeapon();
if(weap==gun)
{
forward=self getTagOrigin("j_head");
end=self thread maps\mp\_utility::vector_scale(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
playfx(level.expbullt, SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 300, 200, 100, self );
}
}
}


As far as I know, there are no bugs.

Credits:
-x_DaftVader_x for the random weapon box (I tweaked it a bit Winky Winky)
-IELIITEMODZX for the script to spawn the platform
-x_DaftVader_x for the Spawn Turret scripts (adjusted to work on more maps)
-Me for the Pack-a-Punch script

Turrets will work on Backlot, Overgrown, Pipeline, Ambush, and Downpour.

Enjoy it Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following user thanked Choco for this useful post:

Jeremy
03-01-2012, 11:02 PM #29
Originally posted by DlBSY993 View Post
If you use steps like he does in this video.. you will get stuck easily.. you need to expand the TR .. It makes it so much more usable.
nahh if you use steps with that it will be fine, ive got mine at 40 and i can walk up and down them fine Happy
03-08-2012, 07:59 AM #30
Choco
Respect my authoritah!!
Originally posted by DlBSY993 View Post
Btw if you actually read my thread and not just used the code and ran off. You would see why your person is constantly jumping.. If you adjust the diameters of the trigger_radius it will reduce movement when standing on the boxes. Maybe you should actually try and read how things work before using them, it will give you a better understanding off it.

---------- Post added at 03:07 AM ---------- Previous post was at 03:05 AM ----------



And that is also not the reason why it lags.


I didn't use your trigger_radius, I used the create floor function by IELIITEMODZX. It works great for me, in fact I have both my skybase and your bunker and to be honest the skybase is less laggy and less bumpy when walking on it. I know what I'm talking about, I understand trigger_radius... it's a very simple concept...
03-08-2012, 03:59 PM #31
Originally posted by .Choco View Post
I didn't use your trigger_radius, I used the create floor function by IELIITEMODZX. It works great for me, in fact I have both my skybase and your bunker and to be honest the skybase is less laggy and less bumpy when walking on it. I know what I'm talking about, I understand trigger_radius... it's a very simple concept...
the one i made can be abit more stable but i like it so i have 1 solid for each model so im not useing lots of models, and i can spawn more bunkers Winky Winky
03-09-2012, 02:09 AM #32
Rin1
I am error
how do you get back up there after you fall off or die. respawn it?
03-09-2012, 02:33 AM #33
Choco
Respect my authoritah!!
Originally posted by Rin1 View Post
how do you get back up there after you fall off or die. respawn it?


Use noclip

The following user thanked Choco for this useful post:

Rin1

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo