예제 #1
0
파일: irc.py 프로젝트: crcollins/hyperserv
	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])
예제 #2
0
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")
예제 #3
0
파일: ingame.py 프로젝트: Pat61/hyperserv
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
예제 #4
0
def playerSetTeam(caller,target,team):
	checkforCS(("ingame",caller),"@team %s %s" % (target,team))
예제 #5
0
def clientKick(caller,who):
	checkforCS(("ingame",caller),"@kick %s" % who)
예제 #6
0
def clientMastermode(caller,mastermode):
	checkforCS(("ingame",caller),"@mastermode %s" % mastermode)
예제 #7
0
def clientUnspectate(caller,who):
	checkforCS(("ingame",caller),"@spectator 0 %s" % who)
예제 #8
0
def clientLoseMaster(caller):
	checkforCS(("ingame",caller),"@relinquish;logout")
예제 #9
0
"""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
예제 #10
0
def clientMapVote(caller,mapname,mode):
	checkforCS(("ingame",caller),"@map %s %s" % (mapname,mode))
예제 #11
0
def clientSetMaster(caller,text):
	if text=="":
		simpleMasterRequest(("ingame",caller))
	else:
		checkforCS(("ingame",caller),"@login %s" % text)