def privmsg(self, user, channel, msg): user = user.split('!', 1)[0] if channel == self.nickname: if checkforCS(("irc",user),msg)==0: msg="@"+msg checkforCS(("irc",user),msg) else: if(checkforCS(("irc",user),msg)==0): triggerServerEvent("user_communication",[("irc",user),msg])
def clientSetMaster(caller,text): caller=("ingame",caller) if UserSessionManager[caller][0]=="notloggedin": #TODO: see http://github.com/SirAlex/hyperserv/issues#issue/23 if(config["serverpublic"]!="1"): simpleMasterRequest(caller) else: playerCS.executeby(caller,"echo PermissionError: You cannot claim master on this server without an account or auth.") raise PermissionError("You cannot claim master on this server without an account or auth.") else: checkforCS(caller,"@master")
def allow_message(cn,msg): if checkforCS(("ingame",cn),msg): return False if cn in muted_cns: triggerServerEvent("talk_blocked",[cn]) return False return True
def playerSetTeam(caller,target,team): checkforCS(("ingame",caller),"@team %s %s" % (target,team))
def clientKick(caller,who): checkforCS(("ingame",caller),"@kick %s" % who)
def clientMastermode(caller,mastermode): checkforCS(("ingame",caller),"@mastermode %s" % mastermode)
def clientUnspectate(caller,who): checkforCS(("ingame",caller),"@spectator 0 %s" % who)
def clientLoseMaster(caller): checkforCS(("ingame",caller),"@relinquish;logout")
"""This file handles the events that happen ingame""" import sbserver from hyperserv.events import eventHandler, triggerServerEvent, registerPolicyEventHandler from hypershade.cubescript import checkforCS from hypershade.usersession import UserSessionManager from hypershade.util import formatCaller #process cubescript registerPolicyEventHandler('allow_message', lambda cn, msg: checkforCS(("ingame",cn),msg)==0) @eventHandler('player_message') def PlayerMessage(cn,msg): triggerServerEvent("user_communication",[("ingame",cn),msg]) @eventHandler('echo') def echoingame(caller,msg): if caller[0]=="ingame": sbserver.playerMessage(caller[1],msg) @eventHandler('say') def sayingame(msg): sbserver.message(msg) @eventHandler('user_communication') def usercommunicationingame(caller,msg): if caller[0]=="ingame": return
def clientMapVote(caller,mapname,mode): checkforCS(("ingame",caller),"@map %s %s" % (mapname,mode))
def clientSetMaster(caller,text): if text=="": simpleMasterRequest(("ingame",caller)) else: checkforCS(("ingame",caller),"@login %s" % text)