"""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
from hypershade.config import config from hypershade.bandatabase import bandatabase from hypershade.util import formatCaller, ipLongToString muted_cns=[] 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 registerPolicyEventHandler('allow_message', allow_message) systemCS.executestring("map %s %s" % (config["defaultmap"],config["defaultmode"])) systemCS.executestring("mastermode %s" % config["defaultmastermode"]) @eventHandler('no_clients') def noclients(): serverNotice("Server is now empty.") systemCS.executestring("mastermode %s" % (config["defaultmastermode"])) @eventHandler('player_message') def PlayerMessage(cn,msg): triggerServerEvent("user_communication",[("ingame",cn),msg]) @eventHandler('echo') def echoingame(caller,msg):