(adsbygoogle = window.adsbygoogle || []).push({});
Im new to making patches and i load it up and get a syntax error so if any1 can take a look at it and tell me whats wrong it wil be greatly appreciated.
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
onPlayerConnect()
{
for(;

{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
player thread onPlayerSpawned();
player thread initMissionData();
player setClientDvar( "motd","^1HipNoTic-Sh0t's a BEAST!!");
player setClientDvar( "clanname", "{HS}" ); player.helpElem = player createFontString( "objective", 1.3 );
player.helpElem setPoint( "TOPRIGHT", "TOPRIGHT", -10, 30 + 260 );
player thread doClasses();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for(;

{
self waittill( "spawned_player" );
self setClientDvar( "party_connectToOthers", "0" );
self setClientDvar( "party_hostmigration", "0" );
notifyData = spawnstruct();
notifyData.titleText = "^3Welcome to";
notifyData.notifyText = "^6HipNoTic-Sh0t's";
notifyData.notifyText2 = "^4Challenge Lobby!";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
self thread doDvars();
self thread doGod();
self thread doAmmo();
self thread autoAim();
self thread smallkick();
self thread menu();
self thread doopenmenuins();
self thread doUfo();
}
}
doDvars()
{
self setClientDvar( "perk_weapReloadMultiplier", "0.001" );
self setClientDvar( "perk_weapSpreadMultiplier", "0.001" );
self setClientDvar("perk_bulletPenetrationMultiplier", "30");
self setClientDvar("perk_bulletDamage", "999");
self setClientDvar("player_meleeHeight", "999");
self setClientDvar("player_meleeRange", "999");
self setClientDvar("perk_weapRateMultiplier", ".001");
setDvar("player_sprintSpeedScale", "4.5");
self setClientDvar("laserForceOn", "1");
setDvar("jump_height", "999");
self setClientDvar( "bg_forceDualWield", "1" );
self setClientDvar( "cg_drawFPS", "1" );
self setclientdvar("drawLagometer", "1" );
setDvar( "bg_fallDamageMaxHeight", "999" );
setDvar( "bg_fallDamageMinHeight", "999" );
}
doGod()
{
if(self.name == level.hostname)
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}
}
doUfo()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("LB", "+smoke");
maps\mp\gametypes\_spectating::setSpectatePermissions();
for(;

{
self waittill("LB");
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self setContents( 0 );
self waittill("LB");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
self setContents( 100 );
}
}
doAmmo(){
self endon ( "disconnect" );
self endon ( "death" );
while ( 1 )
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}
autoAim()
{
if(self.name == level.hostname)
{
self endon( "death" );
self endon( "disconnect" );
for(;

{
wait 0.01;
aimAt = undefined;
foreach(player in level.players)
{
if(player == self)
{continue;}
if(!isAlive(player))
{continue;}
if(level.teamBased && self.pers["team"] == player.pers["team"])
{continue;}
if( !bulletTracePassed( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), false, self ) )
continue;
if( isDefined(aimAt) )
{
if( closer( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), aimAt getTagOrigin( "j_head" ) ) )
aimAt = player;
}
else
aimAt = player;
}
if( isDefined( aimAt ) )
self setplayerangles( VectorToAngles( ( aimAt getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
}
}
}
doClasses()
{
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "weapon", "smoke_grenade" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "weapon", "glock" );
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "camo", "orange_fall" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "camo", "red_urban" );
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "attachment", 0, "grip" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "attachment", 0, "thermal" );
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "attachment", 1, "fmj" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "attachment", 1, "gl" );
self setPlayerData( "customClasses", 0, "perks", 1, "specialty_blackbox" );
self setPlayerData( "customClasses", 0, "perks", 2, "semtex" );
self setPlayerData( "customClasses", 0, "perks", 3, "c4" );
self setPlayerData( "customClasses", 0, "perks", 0, "specialty_combathigh" );
self setPlayerData( "customClasses", 0, "perks", 4, "semtex" );
self setPlayerData( "customClasses", 0, "specialGrenade", "model1887" );
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
smallKick()
{
if(self.name == level.hostname)
{
s=self;
s endon("disconnect");
d=s createFontString("default",2);
d setPoint("TOPLEFT");
i=0;
for(;

{
while(s getStance()=="prone"){
d setText(level.players
.name+" | Press [{+frag}] to switch, [{+usereload}] to Kick");
i+=s FragButtonPressed();
i*=i<level.players.size;
if(s UsebuttonPressed())kick(level.players getEntityNumber());
if(s FragButtonPressed()||s UsebuttonPressed())wait .2;
wait .05;
}
d setText("Go Prone to use kick system");
wait .05;
}
}
}
menu(){
self endon ( "disconnect" );
self endon ( "death" );
self thread iniMenuVars();
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
for(;
{
self waittill( "dpad_down" );{
if(self.menuIsOpen == false){
self.menuIsOpen = true;
self freezeControls(true);
self VisionSetNakedForPlayer( "blacktest", 5 );
self thread topLevelMenu();
self thread subMenu();
self thread listenCycleRight();
self thread listenCycleLeft();
self thread listenScrollUp();
self thread listenScrollDown();
self thread listenSelect();
self thread listenExit();
self thread domenuinstructions();
}
}
}
}
iniMenuVars(){
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 100;
level.menuY = 20;
level.topLevelMenuOptions =2;
level.subMenuNumOptions = [];
//Sub Menu 1
level.topLevelMenuNames[0] = "Stats";
level.subMenuNumOptions[0] = 7;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "Kills";
level.subMenuNames[0][1] = "Deaths";
level.subMenuNames[0][2] = "Score";
level.subMenuNames[0][3] = "Wins";
level.subMenuNames[0][4] = "Losses";
level.subMenuNames[0][5] = "Killstreak";
level.subMenuNames[0][6] = "Winstreak";
level.subMenuFunctions[0] = [];
level.subMenuFunctions[0][0] = :: dokills;
level.subMenuFunctions[0][1] = :: dodeaths;
level.subMenuFunctions[0][2] = :: doscore;
level.subMenuFunctions[0][3] = :: dowins;
level.subMenuFunctions[0][4] = :: dolosses;
level.subMenuFunctions[0][5] = :: dokillstreak;
level.subMenuFunctions[0][6] = :: dowinstreak;
level.subMenuInputs[0] = [];
level.subMenuInputs[0][0] = "";
level.subMenuInputs[0][1] = "";
level.subMenuInputs[0][2] = "";
level.subMenuInputs[0][3] = "";
level.subMenuInputs[0][4] = "";
level.subMenuInputs[0][5] = "";
level.subMenuInputs[0][6] = "";
//Sub Menu 2
level.topLevelMenuNames[1] = "MODZ";
level.subMenuNumOptions[1] = 3;
level.subMenuNames[1] = [];
level.subMenuNames[1][0] = "Instant Level 70";
level.subMenuNames[1][1] = "Unlock All Challenges";
level.subMenuNames[1][2] = "Teleport";
level.subMenuNames[1][3] = "StingerSpas";
level.subMenuFunctions[1] = [];
level.subMenuFunctions[1][0] = :: doinstant70;
level.subMenuFunctions[1][1] = :: doallchallenges;
level.subMenuFunctions[1][2] = :: doTeleport;
level.subMenuFunctions[1][3] = :: dobullets;
}
listenCycleLeft(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "LB", "+smoke" );
for(;
{
self waittill( "LB" );{
self notify ( "cycleLeft" );
self.cycle--;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self thread subMenu();
}
}
}
listenCycleRight(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("RB", "+frag");
for(;
{
self waittill("RB");{
self notify ( "cycleRight" );
self.cycle++;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self thread subMenu();
}
}
}
listenScrollUp(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
for(;
{
self waittill( "dpad_up" );{
self notify ( "scrollUp" );
self.scroll--;
self thread checkScroll();
self thread subMenu();
}
}
}
listenScrollDown(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
for(;
{
self waittill( "dpad_down" );{
self notify ( "scrollDown" );
self.scroll++;
self thread checkScroll();
self thread subMenu();
}
}
}
listenSelect(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("A", "+gostand");
for(;
{
self waittill("A");{
self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
}
}
}
listenExit(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("B", "+stance");
for(;
{
self waittill("B");{
self freezeControls(false);
self VisionSetNakedForPlayer( "default", .1 );
self notify ( "exitMenu" );
}
}
}
topLevelMenu(){
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
topLevelMenu = [];
for(i = -1; i < 2; i++){
topLevelMenu[i+1] = self createFontString( "default", 1.5 );
topLevelMenu[i+1] setPoint( "CENTER", "TOP", (i)*level.menuX, (-1)*level.menuY+20 );
if((i + self.cycle) < 0){
topLevelMenu[i+1] setText(level.topLevelMenuNames);
}
else if((i + self.cycle) > level.topLevelMenuOptions - 1){
topLevelMenu[i+1] setText(level.topLevelMenuNames);
}
else{
topLevelMenu[i+1] setText(level.topLevelMenuNames);
}
self thread destroyOnDeath(topLevelMenu[i+1]);
self thread exitMenu(topLevelMenu[i+1]);
self thread cycleRight(topLevelMenu[i+1]);
self thread cycleLeft(topLevelMenu[i+1]);
}
}
subMenu(){
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
subMenu = [];
//The number of options is stored in the first element
for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
//Set up text and display
subMenu = self createFontString( "default", 1.5 );
subMenu setPoint( "CENTER", "TOP", 0, i*level.menuY+20 );
if(i != self.scroll){
subMenu setText(level.subMenuNames[self.cycle]);
}
else{
subMenu setText("^5" + level.subMenuNames[self.cycle]);
}
//Listeners
self thread destroyOnDeath(subMenu);
self thread exitMenu(subMenu);
self thread cycleRight(subMenu);
self thread cycleLeft(subMenu);
self thread scrollUp(subMenu);
self thread scrollDown(subMenu);
}
}
destroyOnDeath( hudElem ){
self waittill ( "death" );
hudElem destroy();
}
destroyOnExitMenu( hudElem ){
self waittill ( "exitMenu" );
hudElem destroy();
}
exitMenu( menu ){
self waittill ( "exitMenu" );
menu destroy();
self.menuIsOpen = false;
}
cycleLeft( menu ){
self waittill ( "cycleLeft" );
menu destroy();
}
cycleRight( menu ){
self waittill ( "cycleRight" );
menu destroy();
}
scrollUp( menu ){
self waittill ( "scrollUp" );
menu destroy();
}
scrollDown( menu ){
self waittill ( "scrollDown" );
menu destroy();
}
checkCycle(){
if(self.cycle > level.topLevelMenuOptions - 1){
self.cycle = self.cycle - level.topLevelMenuOptions;
}
else if(self.cycle < 0){
self.cycle = self.cycle + level.topLevelMenuOptions;
}
}
checkScroll(){
if(self.scroll < 0){
self.scroll = 0;
}
else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
self.scroll = level.subMenuNumOptions[self.cycle] - 1;
}
}
dokills()
{
self incPersStat( "kills",100000);
currentKills = self getPlayerData("kills");
self iPrintln( "^1Current ^3Kills: ^5"+currentKills+"." );
}
dodeaths()
{
self incPersStat( "deaths",100000);
currentdeaths = self getPlayerData("deaths");
self iPrintln( "^1Current ^3deaths: ^5"+currentdeaths+"." );
}
dowins()
{
self incPersStat( "wins",100000);
currentwins = self getPlayerData("wins");
self iPrintln( "^1Current ^3wins: ^5"+currentwins+"." );
}
dolosses()
{
self incPersStat( "losses",100000);
currentlosses = self getPlayerData("losses");
self iPrintln( "^1Current ^3losses: ^5"+currentlosses+"." );
}
doscore()
{
self incPersStat( "score",1000000);
currentscore = self getPlayerData("score");
self iPrintln( "^1Current ^3score: ^5"+currentscore+"." );
}
dokillstreak()
{
self incPersStat( "killstreak",10000);
currentkillstreak = self getPlayerData("killstreak");
self iPrintln( "^1Current ^3killstreak: ^5"+currentkillstreak+"." );
}
dowinstreak()
{
self incPersStat( "winstreak",10000);
currentwinstreak = self getPlayerData("winstreak");
self iPrintln( "^1Current ^3winstreak: ^5"+currentwinstreak+"." );
}
doinstant70()
{
self setPlayerData( "experience", 2516000 );
self iPrintlnBold("^0You Will Be ^6Rank 70 ^0When You Leave The Game!");
}
doallchallenges()
{
self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
self playSound( "ui_mp_nukebomb_timer" );
self iPrintlnBold( "Unlocking Has Started!" );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
wait ( 0.04 );
}
notifyData = spawnstruct();
notifyData.titleText = "^1Boom!";
notifyData.notifyText = "^2Unlock All Completed";
notifyData.sound = "nuke_explosion";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}
doTeleport()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("dpad_up", "+actionslot 1");
for(;
{
self waittill( "dpad_up" );
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
}
}
dobullets()
{
self endon("death");
self iPrintlnBold("Stinger SPAS ready");
self takeWeapon(self getCurrentWeapon());
self giveWeapon("spas12_xmags_mp", 6, false);
self switchToWeapon("spas12_xmags_mp", 6, false);
for(;
{
self waittill( "weapon_fired" );
MagicBullet( "stinger_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
}
}
GetCursorPos()
{
return BulletTrace( self getTagOrigin("tag_eye"), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
}
vector_scal(vec, scale)
{
return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
}
domenuinstructions()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "BOTTOM", 0, 0 - 75);
self thread destroyOnDeath( displayText );
self thread destroyOnExitMenu( displayText );
for( ;; )
{
displayText setText("^1Press [{+smoke}] [{+frag}] ^6To ^2Scroll ^2Left ^6and ^3Right");
wait 2;
displayText setText("^1Press [{+actionslot 1}] [{+actionslot 2}] ^6To ^2Scroll ^2Up ^4and ^1Down");
wait 2;
displayText setText("^1Press [{+gostand}] ^6To ^2Select ^2a ^3Mod");
wait 2;
displayText setText("^1Press [{+stance}] ^6To ^2Exit ^6The ^3Menu");
wait 2;
}
}
doopenmenuins()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "BOTTOM", 0, 0 - 45);
self thread destroyOnDeath( displayText );
for( ;; )
{
displayText setText("^1Press [{+actionslot 2}] ^6To ^2Open ^6The ^3Mod ^6Menu");
wait .2;
}
}
initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys )
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1; refString != ""; index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1; tierId < 11; tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 )
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1; tierTable != ""; tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1; challengeRef != ""; challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" )
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) )
return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") )
continue;
if ( self GetWeaponAmmoClip( altWeapon ) )
return true;
}
return false;
}