示例#1
0
def _play_quakesound(soundname, userid, attackerid):
    if soundname in quake_sounds_kv:
        if 'mode' in quake_sounds_kv[soundname]:
            mode = int(quake_sounds_kv[soundname]['mode'])
        else:
            mode = '1'
        if 'visual_mode' in quake_sounds_kv[soundname]:
            visual_mode = int(quake_sounds_kv[soundname]['visual_mode'])
        else:
            visual_mode = '1'
        if mode == 0:
            useridlist_sound = []
        elif mode == 1:
            useridlist_sound = playerlib.getUseridList('#human')
        elif mode == 2:
            useridlist_sound = [userid, attackerid]
        elif mode == 3:
            useridlist_sound = [attackerid]
        elif mode == 4:
            useridlist_sound = [userid]
        else:
            useridlist_sound = playerlib.getUseridList('#human')
        if visual_mode == 0:
            useridlist_text = []
        elif visual_mode == 1:
            useridlist_text = playerlib.getUseridList('#human')
        elif visual_mode == 2:
            useridlist_text = [userid, attackerid]
        elif visual_mode == 3:
            useridlist_text = [attackerid]
        elif visual_mode == 4:
            useridlist_text = [userid]
        else:
            useridlist_text = playerlib.getUseridList('#human')
        if (userid > 0) and (attackerid > 0):
            langdata = {"username":es.getplayername(userid), "attackername":es.getplayername(attackerid)}
        elif userid > 0:
            langdata = {"username":es.getplayername(userid)}
        elif attackerid > 0:
            langdata = {"attackername":es.getplayername(attackerid)}
        else:
            langdata = {}
        for userid in useridlist_sound:
            if not es.isbot(userid):
                soundfile = None
                style = str(quake_sounds_setting.get(userid))
                if style != 'off':
                    if style in quake_sounds_kv[soundname]['sound']:
                        soundfile = str(quake_sounds_kv[soundname]['sound'][style])
                    elif 'standard' in quake_sounds_kv[soundname]['sound']:
                        soundfile = str(quake_sounds_kv[soundname]['sound']['standard'])
                    if soundfile:
                        es.playsound(userid, soundfile, 1.0)
        for userid in useridlist_text:
            if not es.isbot(userid):
                style = str(quake_sounds_setting.get(userid))
                if style != 'off':
                    player = playerlib.getPlayer(userid)
                    soundtext = quake_sounds_language(soundname, langdata, player.get("lang"))
                    usermsg.centermsg(userid, str(soundtext))
示例#2
0
def _run_bomb(tick):
    if tick.isdigit():
        soundtext = '%s sec'%tick
    elif tick == 'P':
        soundtext = 'Bomb Planted'
    elif tick == 'D':
        soundtext = 'Bomb Defused'
    elif tick == 'E':
        soundtext = 'Bomb Exploded'
    if 'command_%s'%tick in bomb_timer_language.keys():
        for commandname in bomb_timer_language['command_%s'%tick].keys():
            es.server.queuecmd(bomb_timer_language['command_%s'%tick][commandname].strip())
    for userid in playerlib.getUseridList('#human'):
        if bomb_timer_setting.get('display', userid):
            if int(bomb_timer_middle_screen) == 1:
                usermsg.hudhint(userid, soundtext)
            elif int(bomb_timer_middle_screen) == 2:
                usermsg.centermsg(userid, soundtext)
        if bomb_timer_setting.get('text', userid):
            if 'text_%s'%tick in bomb_timer_language.keys():
                es.tell(userid, '#multi', bomb_timer_language('text_%s'%tick, {}, playerlib.getPlayer(userid).get('lang')))
        if bomb_timer_setting.get('sound', userid):
            if int(es.getplayerteam(userid)) < 2:
                keyname = 'spec'
            elif int(es.getplayerteam(userid)) == 2:
                keyname = 't'
            elif int(es.getplayerteam(userid)) == 3:
                keyname = 'ct'
            if 'sound_%s'%tick in bomb_timer_language.keys():
                es.playsound(userid, bomb_timer_language['sound_%s'%tick][keyname], 1.0)
示例#3
0
def usermsg_cmd(args):
    if len(args) == 1:
        if args[0] == 'list':
            es.dbgmsg(0, "usermsg fade: Syntax: fade <userid> <0 = no fade, 1 = fade Out 2 = fade in> <time to fade (in frames)> <time faded (in frames)> <red> <green> <blue> <alpha>")
            es.dbgmsg(0, "usermsg shake: Syntax: shake <userid> <magnitude> <time>")
            es.dbgmsg(0, "usermsg motd: Syntax: motd <userid> <0 = text, 2 = url> <title> <msg>")
            es.dbgmsg(0, "usermsg hudhint: Syntax: hudhint <userid> <msg>")
            es.dbgmsg(0, "usermsg keyhint: Syntax: keyhint <userid> <msg>")
            es.dbgmsg(0, "usermsg centermsg: Syntax: centermsg <userid> <msg>")
        else:
            es.dbgmsg(0, 'usermsg: Invalid parameters, type "usermsg list" to see a list of valid subcommands')
    elif len(args) > 1:
        subcommand = args[0]
        if subcommand == 'fade':
            if len(args) > 8:
              usermsg.fade(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8])
            else:
              es.dbgmsg(0, "usermsg fade: Syntax: fade <userid> <0 = no fade, 1 = fade Out 2 = fade in> <time to fade (in frames)> <time faded (in frames)> <red> <green> <blue> <alpha>")
        elif subcommand == 'shake':
            if len(args) > 3:
              usermsg.shake(args[1], args[2], args[3])
            else:
              es.dbgmsg(0, "usermsg shake: Syntax: shake <userid> <magnitude> <time>")
        elif subcommand == 'motd':
            if len(args) > 4:
              usermsg.motd(args[1], args[2], args[3], args[4])
            else:
              es.dbgmsg(0, "usermsg motd: Syntax: motd <userid> <0 = text, 2 = url> <title> <msg>")
        elif subcommand == 'hudhint':
            if len(args) > 2:
              usermsg.hudhint(args[1], args[2])
            else:
              es.dbgmsg(0, "usermsg hudhint: Syntax: hudhint <userid> <msg>")
        elif subcommand == 'keyhint':
            if len(args) > 2:
              usermsg.keyhint(args[1], args[2])
            else:
              es.dbgmsg(0, "usermsg keyhint: Syntax: keyhint <userid> <msg>")
        elif subcommand == 'centermsg':
            if len(args) > 2:
              usermsg.centermsg(args[1], args[2])
            else:
              es.dbgmsg(0, "usermsg centermsg: Syntax: centermsg <userid> <msg>")
        elif subcommand == 'echo':
            if len(args) > 2:
              usermsg.echo(args[1], args[2])
            else:
              es.dbgmsg(0, "usermsg echo: Syntax: echo <userid> <msg>")
        else:
            es.dbgmsg(0, 'usermsg: Invalid subcommand, type "usermsg list" to see a list of valid subcommands')
    else:
        es.dbgmsg(0, 'usermsg: Missing userid and subcommand, type "usermsg list" to see a list of valid subcommands')
示例#4
0
def _run_bomb(tick):
    if tick.isdigit():
        soundtext = '%s sec' % tick
    elif tick == 'P':
        soundtext = 'Bomb Planted'
    elif tick == 'D':
        soundtext = 'Bomb Defused'
    elif tick == 'E':
        soundtext = 'Bomb Exploded'
    if 'command_%s' % tick in bomb_timer_language.keys():
        for commandname in bomb_timer_language['command_%s' % tick].keys():
            es.server.queuecmd(bomb_timer_language['command_%s' %
                                                   tick][commandname].strip())
    for userid in playerlib.getUseridList('#human'):
        if bomb_timer_setting.get('display', userid):
            if int(bomb_timer_middle_screen) == 1:
                usermsg.hudhint(userid, soundtext)
            elif int(bomb_timer_middle_screen) == 2:
                usermsg.centermsg(userid, soundtext)
        if bomb_timer_setting.get('text', userid):
            if 'text_%s' % tick in bomb_timer_language.keys():
                es.tell(
                    userid, '#multi',
                    bomb_timer_language(
                        'text_%s' % tick, {},
                        playerlib.getPlayer(userid).get('lang')))
        if bomb_timer_setting.get('sound', userid):
            if int(es.getplayerteam(userid)) < 2:
                keyname = 'spec'
            elif int(es.getplayerteam(userid)) == 2:
                keyname = 't'
            elif int(es.getplayerteam(userid)) == 3:
                keyname = 'ct'
            if 'sound_%s' % tick in bomb_timer_language.keys():
                es.playsound(userid,
                             bomb_timer_language['sound_%s' % tick][keyname],
                             1.0)
示例#5
0
    def centermsg(self, filter, string, tokens={}):
        # Setup filter
        filter = self.__format_filter(filter)

        # Check if this is a normal message
        if not str(string) in __strings__:
            # Send message to the userid
            if isinstance(filter, int):
                return usermsg.centermsg(filter, string)

            # Send message to the userids from the playerlib filter
            for userid in getUseridList(filter):
                usermsg.centermsg(userid, string)
        else:
            # Send message to the userid
            if isinstance(filter, int):
                return usermsg.centermsg(
                    filter, self.__format_string(string, tokens, filter))

            # Send message to the userids from the playerlib filter
            for userid in getUseridList(filter):
                usermsg.centermsg(userid,
                                  self.__format_string(string, tokens, userid))
示例#6
0
    def centermsg(self, filter, string, tokens={}):
        # Setup filter
        filter = self.__format_filter(filter)

        # Check if this is a normal message
        if not str(string) in __strings__:
            # Send message to the userid
            if isinstance(filter, int):
                return usermsg.centermsg(filter, string)

            # Send message to the userids from the playerlib filter
            for userid in getUseridList(filter):
                usermsg.centermsg(userid, string)
        else:
            # Send message to the userid
            if isinstance(filter, int):
                return usermsg.centermsg(filter,
                    self.__format_string(string, tokens, filter))

            # Send message to the userids from the playerlib filter
            for userid in getUseridList(filter):
                usermsg.centermsg(userid,
                    self.__format_string(string, tokens, userid))
def usermsg_cmd(args):
    if len(args) == 1:
        if args[0] == 'list':
            es.dbgmsg(
                0,
                "usermsg fade: Syntax: fade <userid> <0 = no fade, 1 = fade Out 2 = fade in> <time to fade (in frames)> <time faded (in frames)> <red> <green> <blue> <alpha>"
            )
            es.dbgmsg(
                0, "usermsg shake: Syntax: shake <userid> <magnitude> <time>")
            es.dbgmsg(
                0,
                "usermsg motd: Syntax: motd <userid> <0 = text, 2 = url> <title> <msg>"
            )
            es.dbgmsg(0, "usermsg hudhint: Syntax: hudhint <userid> <msg>")
            es.dbgmsg(0, "usermsg keyhint: Syntax: keyhint <userid> <msg>")
            es.dbgmsg(0, "usermsg centermsg: Syntax: centermsg <userid> <msg>")
        else:
            es.dbgmsg(
                0,
                'usermsg: Invalid parameters, type "usermsg list" to see a list of valid subcommands'
            )
    elif len(args) > 1:
        subcommand = args[0]
        if subcommand == 'fade':
            if len(args) > 8:
                usermsg.fade(args[1], args[2], args[3], args[4], args[5],
                             args[6], args[7], args[8])
            else:
                es.dbgmsg(
                    0,
                    "usermsg fade: Syntax: fade <userid> <0 = no fade, 1 = fade Out 2 = fade in> <time to fade (in frames)> <time faded (in frames)> <red> <green> <blue> <alpha>"
                )
        elif subcommand == 'shake':
            if len(args) > 3:
                usermsg.shake(args[1], args[2], args[3])
            else:
                es.dbgmsg(
                    0,
                    "usermsg shake: Syntax: shake <userid> <magnitude> <time>")
        elif subcommand == 'motd':
            if len(args) > 4:
                usermsg.motd(args[1], args[2], args[3], args[4])
            else:
                es.dbgmsg(
                    0,
                    "usermsg motd: Syntax: motd <userid> <0 = text, 2 = url> <title> <msg>"
                )
        elif subcommand == 'hudhint':
            if len(args) > 2:
                usermsg.hudhint(args[1], args[2])
            else:
                es.dbgmsg(0, "usermsg hudhint: Syntax: hudhint <userid> <msg>")
        elif subcommand == 'keyhint':
            if len(args) > 2:
                usermsg.keyhint(args[1], args[2])
            else:
                es.dbgmsg(0, "usermsg keyhint: Syntax: keyhint <userid> <msg>")
        elif subcommand == 'centermsg':
            if len(args) > 2:
                usermsg.centermsg(args[1], args[2])
            else:
                es.dbgmsg(
                    0, "usermsg centermsg: Syntax: centermsg <userid> <msg>")
        elif subcommand == 'echo':
            if len(args) > 2:
                usermsg.echo(args[1], args[2])
            else:
                es.dbgmsg(0, "usermsg echo: Syntax: echo <userid> <msg>")
        else:
            es.dbgmsg(
                0,
                'usermsg: Invalid subcommand, type "usermsg list" to see a list of valid subcommands'
            )
    else:
        es.dbgmsg(
            0,
            'usermsg: Missing userid and subcommand, type "usermsg list" to see a list of valid subcommands'
        )
示例#8
0
def _play_quakesound(soundname, userid, attackerid):
    if soundname in quake_sounds_kv:
        if 'mode' in quake_sounds_kv[soundname]:
            mode = int(quake_sounds_kv[soundname]['mode'])
        else:
            mode = '1'
        if 'visual_mode' in quake_sounds_kv[soundname]:
            visual_mode = int(quake_sounds_kv[soundname]['visual_mode'])
        else:
            visual_mode = '1'
        if mode == 0:
            useridlist_sound = []
        elif mode == 1:
            useridlist_sound = playerlib.getUseridList('#human')
        elif mode == 2:
            useridlist_sound = [userid, attackerid]
        elif mode == 3:
            useridlist_sound = [attackerid]
        elif mode == 4:
            useridlist_sound = [userid]
        else:
            useridlist_sound = playerlib.getUseridList('#human')
        if visual_mode == 0:
            useridlist_text = []
        elif visual_mode == 1:
            useridlist_text = playerlib.getUseridList('#human')
        elif visual_mode == 2:
            useridlist_text = [userid, attackerid]
        elif visual_mode == 3:
            useridlist_text = [attackerid]
        elif visual_mode == 4:
            useridlist_text = [userid]
        else:
            useridlist_text = playerlib.getUseridList('#human')
        if (userid > 0) and (attackerid > 0):
            langdata = {
                "username": es.getplayername(userid),
                "attackername": es.getplayername(attackerid)
            }
        elif userid > 0:
            langdata = {"username": es.getplayername(userid)}
        elif attackerid > 0:
            langdata = {"attackername": es.getplayername(attackerid)}
        else:
            langdata = {}
        for userid in useridlist_sound:
            if not es.isbot(userid):
                soundfile = None
                style = str(quake_sounds_setting.get(userid))
                if style != 'off':
                    if style in quake_sounds_kv[soundname]['sound']:
                        soundfile = str(
                            quake_sounds_kv[soundname]['sound'][style])
                    elif 'standard' in quake_sounds_kv[soundname]['sound']:
                        soundfile = str(
                            quake_sounds_kv[soundname]['sound']['standard'])
                    if soundfile:
                        es.playsound(userid, soundfile, 1.0)
        for userid in useridlist_text:
            if not es.isbot(userid):
                style = str(quake_sounds_setting.get(userid))
                if style != 'off':
                    player = playerlib.getPlayer(userid)
                    soundtext = quake_sounds_language(soundname, langdata,
                                                      player.get("lang"))
                    usermsg.centermsg(userid, str(soundtext))