MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
now wat u want is to add a bind Looks like this
if(self actionslotwobuttonpressed() && self getstance() == "crouch")
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self actionslottwobuttonpressed() && self getstance() == "crouch")
{
self thread toggleEB(); //// thats what i call explosive bullets but u might hv difrent just put ur call in there
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
toggleEB()
{
if(self.Range == "Off")
{
self notify("NewRange");
self thread radiusShot(150);
self.Range = "150";
}
else if(self.Range == "150")
{
self notify("NewRange");
self thread radiusShot(200);
self.Range = "200";
}
else if(self.Range == "200")
{
self notify("NewRange");
self thread radiusShot(300);
self.Range = "300";
}
else if(self.Range == "300")
{
self notify("NewRange");
self thread radiusShot(400);
self.Range = "400";
}
else if(self.Range == "400")
{
self notify("NewRange");
self thread radiusShot(500);
self.Range = "500";
}
else if(self.Range == "500")
{
self notify("NewRange");
self thread radiusShot(0);
self.Range = "Off";
}
self iPrintln("Explosive Bullets: ^1" + self.Range);
}
radiusShot(range)
{
self endon( "disconnect" );
self endon("death");
self endon( "game_ended" );
self endon( "NewRange" );
for(;
{
aimAt = undefined;
self waittill ("weapon_fired");
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
ExpLocation = BulletTrace( forward, end, false, self )["position"];
foreach(player in level.players)
{
if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
continue;
if(isDefined(aimAt))
{
if(closer(ExpLocation, player getTagOrigin("pelvis"), aimAt getTagOrigin("pelvis")))
aimAt = player;
}
else aimAt = player;
}
if(distance( aimAt.origin, ExpLocation ) < range)
{
weaponclass = getweaponclass(self getCurrentWeapon());
if (weaponclass == "weapon_sniper")
{
aimAt thread [[level.callbackPlayerDamage]]( self, self, 2000000, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 );
}
}
}
}
playerAnglesToForward(player, distance)
{
return player.origin + VectorScale(AnglesToForward(player getPlayerAngles(), distance));
}
traceBulletJet(traceDistance, traceReturn, detectPlayers)
{
if (!isDefined(traceDistance))
traceDistance = 10000000;
if (!isDefined(traceReturn))
traceReturn = "position";
if (!isDefined(detectPlayers))
detectPlayers = false;
return bulletTrace(self getEye(), self getEye() + VectorScale(AnglesToForward(self getPlayerAngles()), traceDistance), detectPlayers, self)[traceReturn];
}
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
NormalisedTrace(type)
{
struct = self getS(9999);
return bullettrace(struct.start, struct.end, false, undefined)[type];
}
getS(scale)
{
forward = anglestoforward(self getplayerangles());
struct = spawnstruct();
struct.start = self geteye();
struct.end = struct.start + vectorScale(forward, scale);
return struct;
}
G_Weapon(weap)
{
current = self getCurrentWeapon();
self takeWeapon(current);
wait 0.01;
randy = RandomIntRange( 17, 45 );
self giveWeapon( weap, 0, true ( randy, 0, 0, 0, 0 ));
self switchToWeapon( weap );
}
GiveTempWep(weap)
{
self giveWeapon(weap);
self switchToWeapon(weap);
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
now wat u want is to add a bind Looks like this
if(self actionslotwobuttonpressed() && self getstance() == "crouch")
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) // Open.
{
openMenu();
}
if(self actionslottwobuttonpressed() && self getstance() == "crouch")
{
self thread toggleEB(); //// thats what i call explosive bullets but u might hv difrent just put ur call in there
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
toggleEB()
{
if(self.Range == "Off")
{
self notify("NewRange");
self thread radiusShot(150);
self.Range = "150";
}
else if(self.Range == "150")
{
self notify("NewRange");
self thread radiusShot(200);
self.Range = "200";
}
else if(self.Range == "200")
{
self notify("NewRange");
self thread radiusShot(300);
self.Range = "300";
}
else if(self.Range == "300")
{
self notify("NewRange");
self thread radiusShot(400);
self.Range = "400";
}
else if(self.Range == "400")
{
self notify("NewRange");
self thread radiusShot(500);
self.Range = "500";
}
else if(self.Range == "500")
{
self notify("NewRange");
self thread radiusShot(0);
self.Range = "Off";
}
self iPrintln("Explosive Bullets: ^1" + self.Range);
}
radiusShot(range)
{
self endon( "disconnect" );
self endon("death");
self endon( "game_ended" );
self endon( "NewRange" );
for(;
{
aimAt = undefined;
self waittill ("weapon_fired");
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
ExpLocation = BulletTrace( forward, end, false, self )["position"];
foreach(player in level.players)
{
if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
continue;
if(isDefined(aimAt))
{
if(closer(ExpLocation, player getTagOrigin("pelvis"), aimAt getTagOrigin("pelvis")))
aimAt = player;
}
else aimAt = player;
}
if(distance( aimAt.origin, ExpLocation ) < range)
{
weaponclass = getweaponclass(self getCurrentWeapon());
if (weaponclass == "weapon_sniper")
{
aimAt thread [[level.callbackPlayerDamage]]( self, self, 2000000, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 );
}
}
}
}
playerAnglesToForward(player, distance)
{
return player.origin + VectorScale(AnglesToForward(player getPlayerAngles(), distance));
}
traceBulletJet(traceDistance, traceReturn, detectPlayers)
{
if (!isDefined(traceDistance))
traceDistance = 10000000;
if (!isDefined(traceReturn))
traceReturn = "position";
if (!isDefined(detectPlayers))
detectPlayers = false;
return bulletTrace(self getEye(), self getEye() + VectorScale(AnglesToForward(self getPlayerAngles()), traceDistance), detectPlayers, self)[traceReturn];
}
traceBullet()
{
return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
}
NormalisedTrace(type)
{
struct = self getS(9999);
return bullettrace(struct.start, struct.end, false, undefined)[type];
}
getS(scale)
{
forward = anglestoforward(self getplayerangles());
struct = spawnstruct();
struct.start = self geteye();
struct.end = struct.start + vectorScale(forward, scale);
return struct;
}
G_Weapon(weap)
{
current = self getCurrentWeapon();
self takeWeapon(current);
wait 0.01;
randy = RandomIntRange( 17, 45 );
self giveWeapon( weap, 0, true ( randy, 0, 0, 0, 0 ));
self switchToWeapon( weap );
}
GiveTempWep(weap)
{
self giveWeapon(weap);
self switchToWeapon(weap);
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.