Ayuto

player_limit

Sep 11th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.53 KB | None | 0 0
  1. # =============================================================================
  2. # >> IMPORTS
  3. # =============================================================================
  4. # Source.Python
  5. import core
  6.  
  7. from commands.server import ServerCommand
  8. from filters.players import PlayerIter
  9. from listeners import ClientConnect
  10. from engines.server import global_vars
  11.  
  12.  
  13. # =============================================================================
  14. # >> GLOBAL VARIABLES
  15. # =============================================================================
  16. max_players = global_vars.max_clients
  17.  
  18.  
  19. # =============================================================================
  20. # >> LISTENERS
  21. # =============================================================================
  22. @ServerCommand('pl_change_max_players')
  23. def on_change_max_players(command):
  24.     invalid_usage = 'pl_change_max_players <max_players>'
  25.     if command.get_arg_count() != 2:
  26.         core.echo_console(invalid_usage)
  27.         return
  28.  
  29.     global max_players
  30.     try:
  31.         max_players = int(command[1])
  32.     except:
  33.         core.echo_console(invalid_usage)
  34.  
  35. @ClientConnect
  36. def on_client_connect(allow_connect_ptr, entity, name, address,
  37.         reject_msg_ptr, max_reject_length):
  38.     """Called when a player tries to connect."""
  39.     if len(PlayerIter()) < max_players:
  40.         return
  41.  
  42.     reject_message = 'Player limit is set to "{0}".'.format(max_players)
  43.     reject_msg_ptr.set_string_array(reject_message[:max_reject_length])
  44.     allow_connect_ptr.set_bool(False)
Advertisement
Add Comment
Please, Sign In to add comment