Advertisement
highv0ltage

Untitled

Apr 20th, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. spawn_time = 30
  2. # how many seconds after round_start a player can join
  3.  
  4.  
  5.  
  6. import es
  7. import time
  8.  
  9. nospam = {}
  10. round_start_time = 0
  11. dead_players = []
  12.  
  13. def load():
  14. es.addons.registerClientCommandFilter(cc_filter)
  15. es.server.queuecmd('mp_restartgame 1')
  16.  
  17. def unload():
  18. es.addons.unregisterClientCommandFilter(cc_filter)
  19.  
  20. def es_map_start(ev):
  21. nospam.clear()
  22.  
  23. def round_start(ev):
  24. global round_start_time
  25. round_start_time = time.time()
  26. del dead_players[:]
  27.  
  28. def player_death(ev):
  29. dead_players.append(es.getplayersteamid(int(ev['userid'])))
  30.  
  31. def cc_filter(userid, args):
  32. global round_start_time
  33. now = time.time()
  34. if now - nospam.get(userid, 0) >= 1: # anti spam method needed, or server can be crashed :O
  35. nospam[userid] = now
  36. if str(args[0]).lower() == 'jointeam':
  37. if str(args[1]) == '2':
  38. if es.getplayersteamid(userid) in dead_players: # players that already died, shouldnt be able to respawn again?!
  39. es.msg('player already died')
  40. return False
  41. es.msg(int(now - round_start_time))
  42. if (now - round_start_time) < spawn_time:
  43. es.server.queuecmd('es_xsetplayerprop %s "CCSPlayer.baseclass.m_lifeState" 512' %userid)
  44. es.server.queuecmd('es_xsetplayerprop %s "CCSPlayer.m_iPlayerState" 0' %userid)
  45. es.server.queuecmd('es_xspawnplayer %s' %userid)
  46. else:
  47. es.msg('spawn time over')
  48. return False
  49. else:
  50. return False
  51. return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement