ItsMods

Full Version: limit weapon problem
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
PHP Code:
            else if( response == "give_m14" )
            {
            
self.nosnipe undefined;
            
self.nosnipe false;
            for(
i=0;i<level.players.size;i++)
               {
                    
player level.players[i];
             
                 if (
self != player && player.pers["team"] == game["attackers"] && self.pers["team"] == game["attackers"] && player.pers["mod_primary"] == "mosin_sp" || self != player && player.pers["team"] == game["attackers"] && self.pers["team"] == game["attackers"] && player.pers["mod_primary"] == "l96a1_mp" )
                 {
                    
self.nosnipe true;
                 }
                 if (
self != player && player.pers["team"] == game["defenders"] && self.pers["team"] == game["defenders"] && player.pers["mod_primary"] == "mosin_sp" || self != player && player.pers["team"] == game["defenders"] && self.pers["team"] == game["defenders"] && player.pers["mod_primary"] == "l96a1_mp" )
                 {
                    
self.nosnipe true
                 }
            }    
            
            
            if( 
self.pers["mod_menuallow"] != false && self.nosnipe != true ) {
            
self thread takemains();
            
self giveWeapon"mosin_sp" );
            
self switchToWeapon"mosin_sp" );
            
self.pers["mod_primary"] = "mosin_sp";
            }
            else if ( 
self.nosnipe != true )
            {
            
self.pers["mod_primary"] = "mosin_sp";
            }    
            
self.nosnipe false;    
        } 



It seems to only store it for one side, though i think it should work? any ideas why its not with out me having to re-write it completely.
(07-19-2011, 09:57)koil Wrote: [ -> ]
PHP Code:
            else if( response == "give_m14" )
            {
            
self.nosnipe undefined;
            
self.nosnipe false;
            for(
i=0;i<level.players.size;i++)
               {
                    
player level.players[i];
             
                 if (
self != player && player.pers["team"] == game["attackers"] && self.pers["team"] == game["attackers"] && player.pers["mod_primary"] == "mosin_sp" || self != player && player.pers["team"] == game["attackers"] && self.pers["team"] == game["attackers"] && player.pers["mod_primary"] == "l96a1_mp" )
                 {
                    
self.nosnipe true;
                 }
                 if (
self != player && player.pers["team"] == game["defenders"] && self.pers["team"] == game["defenders"] && player.pers["mod_primary"] == "mosin_sp" || self != player && player.pers["team"] == game["defenders"] && self.pers["team"] == game["defenders"] && player.pers["mod_primary"] == "l96a1_mp" )
                 {
                    
self.nosnipe true
                 }
            }    
            
            
            if( 
self.pers["mod_menuallow"] != false && self.nosnipe != true ) {
            
self thread takemains();
            
self giveWeapon"mosin_sp" );
            
self switchToWeapon"mosin_sp" );
            
self.pers["mod_primary"] = "mosin_sp";
            }
            else if ( 
self.nosnipe != true )
            {
            
self.pers["mod_primary"] = "mosin_sp";
            }    
            
self.nosnipe false;    
        } 



It seems to only store it for one side, though i think it should work? any ideas why its not with out me having to re-write it completely.

wtf is it supposed to do? doesn't make sense at all
it works now, nvm.. it limits sniper/mosin to 1 a side..
C++ Code
  1. init()
  2. {
  3. level.weaponLimit = [];
  4. level.weaponLimit["weapon_assault"] = getDvarInt( "limit_assault_count" );
  5. level.weaponLimit["weapon_shotgun"] = getDvarInt( "limit_shotgun_count" );
  6. level.weaponLimit["weapon_smg"] = getDvarInt( "limit_smg_count" );
  7. level.weaponLimit["weapon_sniper"] = getDvarInt( "limit_sniper_count" );
  8. }
  9.  
  10. isAvailable( type )
  11. {
  12. if( level.weaponLimit[type] == 0 )
  13. return true;
  14.  
  15. classUsers = 0;
  16. for( i = 0; i < level.players.size; i++ )
  17. {
  18. if( self.pers["team"] != level.players[i].pers["team"] )
  19. continue;
  20.  
  21. if( getWeaponClass( level.players[i].pers["mod_primary"] ) == type )
  22. classUsers++;
  23. }
  24.  
  25. if( classUsers < level.weaponLimit[type] )
  26. return true;
  27.  
  28. return false;
  29. }


I made this for a mw2 promod,

C++ Code
  1. if( isAvailable( getWeaponClass( weapon ) ) )
  2. {
  3. giveWeapon shit
  4. }
  5. else
  6. {
  7. other shit
  8. }

thanks, def alot neater then mine..
why u didnt make any wait in your for( ; ; ) ?
why would u need to wait for anything? it does the for loop first then proceeds to the next statement?