#A Match Script for HL2DM By: J3ff #Requested By: List Here: http://forums.mattie.info/cs/forums/viewtopic.php?t=20375 #Number of kills a player needs before the match ends neededkills = 20 #Number of Players allowed to play on each team players = 1 #Don't Edit below here -- things may break import es, playerlib count2 = 0 count3 = 0 match_active = 0 idlist = {} def round_start(event_var): if match_active: es.msg('#multi', '#green[Match] #defaultActive - %i v %i - Please Join a team that is not full with !join. Use !stop to stop the match.'%(players, players)) else: es.msg('#multi', '#green[Match] #defaultSome can say !start to start the match!') def player_activate(event_var): global idlist userid = int(event_var['userid']) if not idlist.has_key(userid): idlist[userid] = {} idlist[userid]['kills'] = 0 def player_say(event_var): global match_active if event_var['text'] == '!spec': es.changeteam(event_var['userid'], 1) elif event_var['text'] == '!start': es.msg('#multi', '#green[Match] #defaultActive - %i v %i - Please Join a team that is not full with !join. Use !stop to stop the match.'%(players, players)) match_active = 1 for int_id in playerlib.getUseridList('#all'): es.changeteam(int_id, 1) idlist[int_id]['kills'] = 0 elif event_var['text'] == '!stop': match_active = 0 elif event_var['text'] == '!join': if count2 < players and count2 <= count3: es.changeteam(event_var['userid'], 2) elif count3 < players: es.changeteam(event_var['userid'], 3) else: es.tell(event_var['userid'], '#multi', '#green[Match] #defaultThe teams are currently full!') def player_disconnect(event_var): global islist userid = int(event_var['userid']) if idlist.has_key(userid): del idlist[userid] def player_team(event_var): if match_active: global players global count2 global count3 team = int(event_var['team']) if team == 2: if count2 < players: count2 += 1 else: es.changeteam(event_var['userid'], 1) es.tell(userid, '#multi','#green[Match] #defaultYou may not join a team just yet! #lightgreenOnly #green%i #lightgreenplayers are allowed on each team.'%players) elif team == 3: if count3 < players: count3 += 1 else: es.changeteam(event_var['userid'], 1) es.tell(userid, '#multi','#green[Match] #defaultYou may not join a team just yet! Only #green%i #defaultplayers are allowed on each team.'%players) oldteam = int(event_var['oldteam']) if oldteam == 2: count2 -= 1 es.msg('#multi', '#green[Match] #defaultA player has left a team use !join to take their place.') elif oldteam == 3: count3 -= 1 es.msg('#multi', '#green[Match] #defaultA player has left a team use !join to take their place.') def player_death(event_var): if match_active: global idlist Akey = idlist[int(event_var['attacker'])] if Akey.has_key('kills'): Akey['kills'] += 1 else: Akey['kills'] = 1 if Akey['kills'] >= neededkills: es.msg('#multi', '#green[Match] #lightgreen%s #defaulthas scored #lightgreen%i #defaultkills and has won the round!'%(event_var['es_attackername'], Akey['kills'])) es.msg('#multi', '#green[Match]Round restarting please join a team to play!') for int_id in playerlib.getUseridList('#all'): es.changeteam(int_id, 1) idlist[int_id]['kills'] = 0