''' Shaun Hellar, 08-26-2008 Nade limiter script to stop rebuying of all types of grenades per round. Updated by Satoon to remove EST requirments ''' import es, playerlib nades = {'hegrenade':'he','flashbang':'fb','smokegrenade':'sg'} grenadecount = {} ''' Events ''' # Create user data on load def load(): for player in es.getUseridList(): reset_nades(player) # Create user data on new connects def player_connect(event_var): reset_nades(event_var['userid']) # Remove them on a disconnect def player_disconnect(event_var): userid = int(event_var['userid']) del grenadecount[userid] # Check if they picked up a grenade def item_pickup(event_var): check_nades(event_var['userid'], event_var['item']) # Reset nade count on round start def round_start(event_var): for player in es.getUseridList(): reset_nades(player) ''' Functions ''' # See if they picked up a grenade and if they can keep it def check_nades(userid, weapon): if userid > 0: userid = int(userid) if weapon in nades: if grenadecount[userid][weapon] > 0: grenadecount[userid][weapon] = (grenadecount[userid][weapon] - 1) else: es.tell(userid, '#multi', '#green You have reached your limit on %ss' % weapon) reserves = playerlib.getPlayer(userid).get(nades[weapon]) reserves -= 1 playerlib.getPlayer(userid).set(nades[weapon], reserves) if weapon == 'flashbang': playerlib.getPlayer(userid).add('cash', 200) else: playerlib.getPlayer(userid).add('cash', 300) # Reset the users nade count def reset_nades(userid): userid = int(userid) grenadecount[userid] = { 'hegrenade': 1, 'flashbang': 2, 'smokegrenade': 1, }