示例#1
0
文件: cssrc.py 项目: cdrttn/fragmon
 def __init__(
     self,
     game_ip="",
     game_dir="",
     dedicated=0,
     os="",
     is_mod=0,
     mod_urlinfo="",
     mod_urldl="",
     mod_vers=0,
     mod_size=0,
     mod_svonly=0,
     mod_cldll=0,
     secure=0,
     numbots=0,
     *args,
     **kwargs
 ):
     Overview.__init__(self, *args, **kwargs)
     self.is_mod = is_mod
     self.mod_vers = mod_vers
     self.mod_size = mod_size
     self.mod_svonly = mod_svonly
     self.mod_cldll = mod_cldll
     self.mod_urlinfo = mod_svinfo
     self.mod_urldl = mod_urldl
     self.secure = secure
     self.dedicated = dedicated
     self.numbots = numbots
     self.os = os
     self.game_dir = game_dir
     self.game_ip = game_ip
示例#2
0
文件: cssrc.py 项目: cdrttn/fragmon
 def __init__(self, game_dir="", appid="", numbots=0, dedicated=0, os="", secure=0, *args, **kwargs):
     Overview.__init__(self, *args, **kwargs)
     self.game_dir = game_dir
     self.appid = appid
     self.numbots = numbots
     self.dedicated = dedicated
     self.secure = secure
     self.os = os
示例#3
0
文件: q3.py 项目: cdrttn/fragmon
def q3_make_goods(rules):
    headers = []
    overview = Overview(teamAname='Red', teamBname='Blue', teamAcolor=0xffb1b1, teamBcolor=0xa6acff)
    activels = []
    pi = Plusinfo()

    #From Commander keen's q3 console page:
    #0 - Free For All  	1 - Tournament  	2 - Single Player
    #3 - Team Deathmatch 	4 - Capture the Flag
    #5 - One Flag CTF  	6 - Overload  	7 - Harvester (Team Arena only)
    #XXX: 5 is CA in osp
    #make the headers and overview
    splited = rules.split('\\')[1:]
    for i in range(0, len(splited), 2):
        r = Rule(key=splited[i], value=splited[i+1])
        k = r.key
        v = r.value

        types = ['FFA', '1v1', 'Single player', 'TDM', 'CTF', 'CA', 'Overload', 'Harvester']
        k = k.lower()
        if k == 'sv_hostname':
            overview.hostname = v
        elif k == 'g_gametype':
            overview.type = v
            try:
                overview.type = types[int(v)]
            except KeyError,ValueError:
                pass
            if overview.type in ('CTF', 'TDM', 'CA'):
                overview.mode = 'team'
            elif overview.type == '1v1':
                overview.mode = '1v1'

        elif k == 'sv_maxclients':
            overview.maxplayers = v
示例#4
0
文件: ut2.py 项目: cdrttn/fragmon
 def __init__(self, game_port=0, *args, **kwargs):
     Overview.__init__(self, *args, **kwargs)
     game_port = game_port
示例#5
0
文件: q4.py 项目: cdrttn/fragmon
def q4_make_goods(rbuf):
    overview = Overview(teamAname = 'Strogg', teamBname = 'Marines', teamAcolor = 0xffc37d, teamBcolor = 0x82ff8b)

    rules = []
    rbuf = rbuf.split('\x00') 
    if len(rbuf) % 2:
        rbuf.append('xxx')
    plusinfoitms = ('.players_strogg', '.players_marine', '.players_active', '.score_strogg', '.score_marine', '.score')   
    plusinfo = {}
    for item in plusinfoitms:
        plusinfo[item[1:]] = []

    for i in xrange(0, len(rbuf), 2):
        k = rbuf[i]
        v = rbuf[i+1]
        rules.append(Rule(k, v))

        k = k.lower()
        if k == 'si_name':
            overview.hostname = v
        elif k == 'si_gametype':
            overview.type = v
            v = v.lower()
            if v in ('team dm', 'ctf'):
                overview.mode = 'team'
            elif v in ('tourney', 'duel'):
                overview.mode = '1v1'
        elif k == 'si_maxplayers':
            overview.maxplayers = int(v)
        elif k == 'si_map':
            overview.map = v
        elif k == 'si_version':
            overview.version = v
        elif k == 'si_usepass':
            overview.password = int(v)
        elif k == 'gamename':
            overview.mod = v
        elif k in plusinfoitms:
            list = Plusinfo.make_list(v)
            plusinfo[k[1:]] = list
        elif k == '.score_time':
            overview.time = v

    #q4max stores the team score as the first item in the list, followed by the player ids
    if plusinfo['score_strogg']:
        overview.teamAscore = plusinfo['score_strogg'][0]
    if plusinfo['score_marine']:
        overview.teamBscore = plusinfo['score_marine'][0]

    pi = Plusinfo()
    pi.add_map(0, plusinfo['players_strogg'], plusinfo['score_strogg'][1:])
    pi.add_map(1, plusinfo['players_marine'], plusinfo['score_marine'][1:])
    pi.add_map(0, plusinfo['players_active'], plusinfo['score'])

    return pi, rules, overview