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 ''
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)
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()