Exemplo n.º 1
0
 def format(self, argDict):
     try:
         sessionProvider = BigWorld.player().guiSessionProvider
         argDict.update({
             'randPart':
             '',
             'viewPos':
             minimap_utils.getCellName(CellHelper.getPosCellId(True)),
             'ownPos':
             minimap_utils.getCellName(CellHelper.getPosCellId(False)),
             'reload':
             '%.3g' % sessionProvider.shared.ammo.getGunReloadingState(
             ).getTimeLeft(),
             'ammo':
             sessionProvider.shared.ammo.getCurrentShells()[1],
             'ownVehicle':
             sessionProvider.getArenaDP().getVehicleInfo().vehicleType.
             shortName
         })
         argDict['randPart'], self.lastRandId = pickRandomPart(
             self.variantList, self.lastRandId, self.randomChoice)
         argDict['randPart'] = safeFmt.vformat(argDict['randPart'], (),
                                               argDict)
         return safeFmt.vformat(self.text, (), argDict)
     except StandardError:
         traceback.print_exc()
         return ''
Exemplo n.º 2
0
def i18n_hook_makeString(key, *args, **kwargs):
    if _config.data['enabled'] and key in _config.sectDict:
        if key not in _config.wasReplaced or not _config.wasReplaced[key]:
            mode = _config.sectDict[key]['mode']
            textList = _config.sectDict[key]['textList']
            if not textList:
                print '%s: empty text list for key %s' % (_config.ID, key)
            else:
                if mode == 'single':
                    _config.textStack[key], _config.textId[key] = textList[
                        0], 0
                elif mode in ('circle', 'random'):
                    _config.textStack[key], _config.textId[
                        key] = pickRandomPart(textList,
                                              _config.textId.get(key, -1),
                                              mode == 'circle')
                elif mode == 'bindToKey':
                    _config.textStack[key] = textList[min(
                        _config.textId.get(
                            _config.sectDict[key].get('bindToKey', key), 0),
                        len(textList) - 1)]
                if mode in ('single', 'random', 'circle', 'bindToKey'):
                    _config.wasReplaced[key] = True
        text = _config.textStack.get(key)
        if text is not None:
            try:
                text = text.encode('utf-8')
                if args:
                    try:
                        text %= args
                    except TypeError:
                        LOG_WARNING(
                            "Arguments do not match string read by key '%s': %s",
                            (key, args))
                        return key

                elif kwargs:
                    try:
                        text %= kwargs
                    except TypeError:
                        LOG_WARNING(
                            "Arguments do not match string read by key '%s': %s",
                            (key, kwargs))
                        return key

                return text
            except StandardError:
                traceback.print_exc()
                print key

    return old_makeString(key, *args, **kwargs)
Exemplo n.º 3
0
def calltext():
    try:
        chatType = getCrosshairType()
        target = BigWorld.target()
        player = BigWorld.player()
        if target is None:
            target = BigWorld.entities.get(player.playerVehicleID)
        curVariantList = _config.i18n[chatType + 'Text']
        msg, _config.lastRandID[chatType] = pickRandomPart(
            curVariantList, _config.lastRandID[chatType])
        if '{name}' in msg:
            msg = msg.format(name=target.publicInfo.name)
        if msg:
            sendChatMessage(msg, 1, 1.0)
    except StandardError:
        traceback.print_exc()