
precacheModel("test_sphere_silver");

startBigBall()
{
self beginLocationselection( "map_artillery_selector", false, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location );
newLocation = PhysicsTrace( location + ( 0, 0, 10000 ), location - ( 0, 0, 10000 ) );
self endLocationselection();
self.selectingLocation = undefined;
plane = spawn("script_model", self.origin+(-10000, 0, 200));
plane setModel("vehicle_mig29_desert");
plane.angles = (0,0,0);
plane playLoopSound("veh_b2_dist_loop");
self thread planeEffects(plane);
plane moveTo( newLocation+(0, 0, 1300), 5 );
wait 6;
plane stopLoopSound();
ball = spawn("script_model", plane.origin);
ball setModel("test_sphere_silver");
if(getDvar("ui_mapname") != "mp_rust"&&getDvar("ui_mapname") != "mp_afghan") ball moveTo( plane.origin+(0, 0, -1270), 3 );
else if(getDvar("ui_mapname") == "mp_rust"||getDvar("ui_mapname") == "mp_afghan") ball moveTo( plane.origin+(0, 0, -2600), 3 );
wait 1.7;
plane moveTo( plane.origin+(10000, 0, 0), 4 );
plane playLoopSound("veh_b2_dist_loop");
wait 1.3;
self thread runBall(ball);
foreach(p in level.players) p thread getBallDis(ball,self);
self thread endBallDis();
wait 3.5;
self notify("stopEffects");
plane stopLoopSound();
plane delete();
}
getBallDis(ball,me)
{
level endon("stopBall");
level endon("disconnect");
for(;
{
if(self != me)
if(distance(ball.origin,self.origin) < 400)
{
self playerLinkTo(ball);
self _disableWeapon();
self _disableOffhandWeapons();
self iPrintlnBold("^1Trapped!");
self.isTrapped = 1;
}
else self.isTrapped = 0;
wait 3.5; //You got to put this, or else the game will lag.
}
}
runBall(ball)
{
wait 3.5; //Wait 'til the ball effects stop
Earthquake(0.2,1,ball.origin,900000); //The earthquake effect
MagicBullet("ac130_40mm_mp", ball.origin+(0,0,1), ball.origin, self); //AC130 bullet kills the trapped players
level.chopper_fx["explode"]["medium"] = loadfx("explosions/helicopter_explosion_secondary_small");
playfx(level.chopper_fx["explode"]["medium"], ball.origin); //The ball effect when it destroys
ball delete(); //When it destroys/delete
wait .1; //Give a break 
foreach(p in level.players)
{
if(p.isTrapped) //If the player didnt die.
{
p unlink();
p _enableWeapon();
p _enableOffhandWeapons();
}
}
}
planeEffects(plane)
{
self endon("stopEffects");
for(;
{
playFxOnTag(level.fx_airstrike_contrail,plane,"tag_left_wingtip"); //The plane/harrier effects
playFxOnTag(level.fx_airstrike_contrail,plane,"tag_right_wingtip");
playFxOnTag(level.harrier_smoke,plane,"tag_engine_right");
playFxOnTag(level.harrier_smoke,plane,"tag_engine_left");
wait .05;
}
}
endBallDis()
{
wait 3.6;
level notify("stopBall"); //End the ball effects (trapping effect)
wait .1;
foreach(p in level.players) p.isTrapped = undefined;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.