#anti-bhop.py ### imports ### import es import playerlib import time ############################ ####### Variablen ######### ############################ # Number of warnings before the Player get banned numWarnings = 2 # The number of minutes a player get banned # Tip: write 0 for permban timeOfBan = '60' #intern used variable Data = {} default = str(es.ServerVar('eventscripts_noisy')) def load(): es.setinfo('eventscripts_noisy', '1') def unload(): es.setinfo('eventscripts_noisy', default) def warnPlayer(userid): if Data[userid]['warnings']+1 == numWarnings: es.tell(userid, "#multi", "#green [Anti-Bhop]#lightgreen LAST WARNING#default STOP USING BUNNYHOPSCRIPTS!") else: es.tell(userid, "#multi", "#green [Anti-Bhop]#default WARNING STOP USING BUNNYHOPSCRIPTS!") def player_disconnect(ev): if Data.has_key(ev['userid']): del Data[ev['userid']] def player_footstep(ev): if not Data.has_key(ev['userid']): Data[ev['userid']] = {} Data[ev['userid']]['laststep'] = 0 Data[ev['userid']]['warnings'] = 0 Now = float(time.time()) Old = float(Data[ev['userid']]['laststep']) Data[ev['userid']]['laststep'] = Now if (Now - Old) <= 0.01: if Data[ev['userid']]['warnings'] < numWarnings: warnPlayer(ev['userid']) Data[ev['userid']]['warnings'] += 1 else: es.server.queuecmd("kickid %s [Anti-Bhop] Kicked and banned" % ev['userid']) es.server.queuecmd("banid %s %s" % (timeOfBan, es.getplayersteamid(ev['userid'])))