MfGZitat
# CheeTaH: Rules & Admin
# Add admins/rules in the admins_and_rules.txt file, should be in the same folder as this file.
# CONFIG #
# CONFIG #
# Send crules/admins menu when a player connects?
crules_send_on_connect = 1
# If crules_send_on_connect is enabled the menu will be sent on connect.
# Here you can change after how much time, the menu will be sent (seconds)
crules_timer = 5
# These aer the commands that will open the menu.
# They must be lower cased!
# Add as many as you want
Activators = ('!admins','!members','!owner','!rules','!regler','!reglen','!info')
# CONFIG DONE - Editing more might cause script to not work!
# CONFIG DONE - Editing more might cause script to not work!
import es
import gamethread
import popuplib
import playerlib
variables = [["crules_version","v1.6CheeTaH","Script version.",1],]
FileToRead_Admins = []
FileToRead_Rules = []
FileToRead_ = open(es.getAddonPath('crules') + '/admins_and_rules.txt').readlines()
for Line in FileToRead_:
if Line.startswith("|Add Rule|"):
LineSplit = Line.split("|")
if len(LineSplit) == 5:
FileToRead_Rules.append(LineSplit[2:4])
elif Line.startswith("|Add Admin|"):
LineSplit = Line.split("|")
if len(LineSplit) == 6:
FileToRead_Admins.append(LineSplit[2:5])
def load():
SetUpVars()
es.msg('#multi','#green[CheeTaH Rules \x05%s#green] #defaultLoaded' %(str(es.ServerVar("crules_version")).strip("CheeTaH")))
global crules_main
crules_main = popuplib.easymenu('crules_main',None, SendMenu)
crules_main.settitle("- CRules \n-- Main Menu")
crules_main.addoption('crules_rules_main', 'Rules')
crules_main.addoption('crules_admins_main', 'Admins')
global crules_rules_main
crules_rules_main = popuplib.easymenu('crules_rules_main',None, SendMenu)
crules_rules_main.settitle("- CRules \n-- Rules")
crules_rules_main.submenu(10, crules_main)
global crules_admins_main
crules_admins_main = popuplib.easymenu('crules_admins_main',None, SendMenu)
crules_admins_main.settitle("- CRules \n-- Admins")
crules_admins_main.submenu(10, crules_main)
AdminsCategorys = {}
for Line in FileToRead_Rules:
if Line[0] not in AdminsCategorys: AdminsCategorys[Line[0]] = Line[0]
for cat in sorted(AdminsCategorys.keys()):
crules_rules_main.addoption("crules_rules__%s" %cat,cat)
AddRule(cat)
AdminsCategorys = {}
for Line in FileToRead_Admins:
if Line[0] not in AdminsCategorys: AdminsCategorys[Line[0]] = Line[0]
for cat in sorted(AdminsCategorys.keys()):
crules_admins_main.addoption("crules_admins__%s" %cat,cat)
def unload():
es.msg('#multi','#green[CheeTaH Rules \x05%s#green] #defaultLoaded' %(str(es.ServerVar("crules_version")).strip("CheeTaH")))
def es_map_start(ev):
SetUpVars()
def AddRule(category):
tempmenu = popuplib.easymenu('crules_rules__%s'%category,None, SendMenu)
tempmenu.settitle("- CRules \n-- Rules\n--- %s" %(category))
tempmenu.submenu(10, crules_rules_main)
for Line in FileToRead_Rules:
if Line[0] == category:
tempmenu.addoption(0,Line[1],0)
def SendMenu(userid,choice,popupname):
if choice.startswith("crules_admins__"):
Category = choice.split("crules_admins__")[1]
tempcatemenu = popuplib.easymenu("crules_admins__%s"%Category,None,SendMenu)
tempcatemenu.settitle("- CRules\n-- Admins\n--- %s" %(Category))
tempcatemenu.submenu(10,"crules_admins_main")
for Line in FileToRead_Admins:
if Line[0] == Category:
IsOnline = 0
for Player in playerlib.getUseridList('#human'):
if str(es.getplayersteamid(Player)).lower() == str(Line[1]).lower(): IsOnline = Player
if IsOnline: tempcatemenu.addoption(choice,"%s - %s"%(Line[2],es.getplayername(IsOnline)),1)
else: tempcatemenu.addoption(choice,"%s - %s"%(Line[2],"Offline"),0)
popuplib.send(choice,userid)
def SetUpVars():
for var in variables:
vari = es.ServerVar(var[0],var[1],var[2])
vari.set(var[1])
if var[3]: vari.makepublic()
def player_say(ev):
if ev['text'].lower() in Activators:
crules_main.send(ev['userid'])
def player_activate(ev):
if crules_send_on_connect:
gamethread.delayed(crules_timer, crules_main.send, (ev['userid']))
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# CheeTaH: Rules & Admin
# Add admins/rules in the admins_and_rules.txt file, should be in the same folder as this file.
# CONFIG #
# CONFIG #
# Send crules/admins menu when a player connects?
crules_send_on_connect = 1
# If crules_send_on_connect is enabled the menu will be sent on connect.
# Here you can change after how much time, the menu will be sent (seconds)
crules_timer = 5
# These aer the commands that will open the menu.
# They must be lower cased!
# Add as many as you want
Activators = ('!admins','!members','!owner','!rules','!regler','!reglen','!info')
# CONFIG DONE - Editing more might cause script to not work!
# CONFIG DONE - Editing more might cause script to not work!
import es
import gamethread
import popuplib
import playerlib
variables = [["crules_version","v1.6CheeTaH","Script version.",1],]
FileToRead_Admins = []
FileToRead_Rules = []
FileToRead_ = open(es.getAddonPath('crules') + '/admins_and_rules.txt').readlines()
for Line in FileToRead_:
if Line.startswith("|Add Rule|"):
LineSplit = Line.split("|")
if len(LineSplit) == 5:
FileToRead_Rules.append(LineSplit[2:4])
elif Line.startswith("|Add Admin|"):
LineSplit = Line.split("|")
if len(LineSplit) == 6:
FileToRead_Admins.append(LineSplit[2:5])
def load():
SetUpVars()
es.msg('#multi','#green[CheeTaH Rules \x05%s#green] #defaultLoaded' %(str(es.ServerVar("crules_version")).strip("CheeTaH")))
global crules_main
crules_main = popuplib.easymenu('crules_main',None, SendMenu)
crules_main.settitle("- CRules \n-- Main Menu")
crules_main.addoption('crules_rules_main', 'Rules')
crules_main.addoption('crules_admins_main', 'Admins')
global crules_rules_main
crules_rules_main = popuplib.easymenu('crules_rules_main',None, SendMenu)
crules_rules_main.settitle("- CRules \n-- Rules")
crules_rules_main.submenu(10, crules_main)
global crules_admins_main
crules_admins_main = popuplib.easymenu('crules_admins_main',None, SendMenu)
crules_admins_main.settitle("- CRules \n-- Admins")
crules_admins_main.submenu(10, crules_main)
AdminsCategorys = {}
for Line in FileToRead_Rules:
if Line[0] not in AdminsCategorys: AdminsCategorys[Line[0]] = Line[0]
for cat in sorted(AdminsCategorys.keys()):
crules_rules_main.addoption("crules_rules__%s" %cat,cat)
AddRule(cat)
AdminsCategorys = {}
for Line in FileToRead_Admins:
if Line[0] not in AdminsCategorys: AdminsCategorys[Line[0]] = Line[0]
for cat in sorted(AdminsCategorys.keys()):
crules_admins_main.addoption("crules_admins__%s" %cat,cat)
def unload():
es.msg('#multi','#green[CheeTaH Rules \x05%s#green] #defaultLoaded' %(str(es.ServerVar("crules_version")).strip("CheeTaH")))
def es_map_start(ev):
SetUpVars()
def AddRule(category):
tempmenu = popuplib.easymenu('crules_rules__%s'%category,None, SendMenu)
tempmenu.settitle("- CRules \n-- Rules\n--- %s" %(category))
tempmenu.submenu(10, crules_rules_main)
for Line in FileToRead_Rules:
if Line[0] == category:
tempmenu.addoption(0,Line[1],0)
def SendMenu(userid,choice,popupname):
if choice.startswith("crules_admins__"):
Category = choice.split("crules_admins__")[1]
tempcatemenu = popuplib.easymenu("crules_admins__%s"%Category,None,SendMenu)
tempcatemenu.settitle("- CRules\n-- Admins\n--- %s" %(Category))
tempcatemenu.submenu(10,"crules_admins_main")
for Line in FileToRead_Admins:
if Line[0] == Category:
IsOnline = 0
for Player in playerlib.getUseridList('#human'):
if str(es.getplayersteamid(Player)).lower() == str(Line[1]).lower(): IsOnline = Player
if IsOnline: tempcatemenu.addoption(choice,"%s - %s"%(Line[2],es.getplayername(IsOnline)),1)
else: tempcatemenu.addoption(choice,"%s - %s"%(Line[2],"Offline"),0)
popuplib.send(choice,userid)
def SetUpVars():
for var in variables:
vari = es.ServerVar(var[0],var[1],var[2])
vari.set(var[1])
if var[3]: vari.makepublic()
def player_say(ev):
if ev['text'].lower() in Activators:
crules_main.send(ev['userid'])
def player_activate(ev):
if crules_send_on_connect:
gamethread.delayed(crules_timer, crules_main.send, (ev['userid']))
|