#!/usr/bin/env python import es import os import time import cfglib import langlib import usermsg import services import popuplib import playerlib import weaponlib import gamethread import iptocountry # addonInfo info = es.AddonInfo() info.name = "eWW-Tools" info.author = "shell" info.version = "0.0.2" info.basename = "eWWTools" # configFiles cfgVersion = info.version.replace('.', '') cfgSettings = '%s/_%s_%s.cfg' % (es.getAddonPath(info.basename), info.basename, cfgVersion) cfgLanguage = '%s/_%s_%s.ini' % (es.getAddonPath(info.basename), info.basename, cfgVersion) # configObjects ini = cfglib.AddonINI(cfgLanguage) config = cfglib.AddonCFG(cfgSettings) # languageStore languageData = {} languageStrings = None # rulesData popRules = None rulesDB = open(os.path.join(es.getAddonPath(info.basename), '_eWWTools_rules.db'), "rb") rulesList = rulesDB.readlines() rulesDB.close() # found that on easyrules, adopted rules = filter(bool, map(lambda x: x[:x.find("//")] if x.find("//") > -1 else x, map(lambda x: x.strip(), rulesList))) # initSettings config.text(info.name + ' ' + info.version) config.text('eWW | gSettings') eTag = config.cvar('eTag', 'eWW', 'Servertag to display in Messages') eTagColor = config.cvar('eTagColor', '#green', 'Servertagcolor?') eTagShow = config.cvar('eTagShow', 1, 'Show Servertag?') config.text('eWW | iTools') iTools = config.cvar('iTools', 1, 'Hide dInfo if clanMember and enables other iTools to be run on server if they are enabled') iToolsKnife = config.cvar('iToolsKnife', 1, 'Will clanMembers get double knifeKill HP?') iToolsArmor = config.cvar('iToolsArmor', 1, 'Will clanMembers get some Armor on spawn?') iToolsHealth = config.cvar('iToolsHealth', 1, 'Will clanMembers get some more Health on spawn?') iToolsHealthM = config.cvar('iToolsHealthM', 1.5, 'How much Health to give (basehealth + baseHealth * thisValue) (min 1.1; max 3.0)') iToolsGodMode = config.cvar('iToolsGodMode', 0, 'Admins can make herself immortal?') iToolsSpeedMode = config.cvar('iToolsSpeedMode', 0, 'Admins can make herself faster then other players (3x faster)?') config.text('eWW | welcomeInfo') wInfoActive = config.cvar('wInfoActive', 1, 'Show a welcome Message to a users (clanmember always will be shown)?') wInfoRoot = config.cvar('wInfoRoot', 1, 'Show a root connect (if not root is a clanmember)?') wInfoAdmin = config.cvar('wInfoAdmin', 1, 'Show a admin connect (if not admin is a clanmember)?') wInfoGuest = config.cvar('wInfoGuest', 1, 'Show a message on guests?') config.text('eWW | knifeKill') kKillActive = config.cvar('kKillActive', 1, 'knifeKill active?') kKillBonus = config.cvar('kKillBonus', 10, 'How much HP give on knifeKill?') config.text('eWW | noBlock') nBlockActive = config.cvar('nBlockActive', 1, 'noBlock active?') config.text('eWW | damageInfo') dInfoActive = config.cvar('dInfoActive', 1, 'dmageInfo active?') dInfoHit = config.cvar('dInfoHit', 1, 'Show Message on each Hit?') dInfoKill = config.cvar('dInfoKill', 1, 'Show HPLeft information to victim on kill?') config.write() def load(): global languageStrings, languageData, popRules _initLanguage() languageStrings = langlib.Strings(cfgLanguage) _getAuthProvider() _updateIPData() es.ServerVar('eWW_tools', info.version, 'created by shell').makepublic() config.execute() # _root iTool es.regclientcmd('_eClip', info.basename + '/eClipMode', 'noClip for _root') # _admin iTool es.regclientcmd('_eGod', info.basename + '/eGodMode', 'godMode for _admin') es.regclientcmd('_eSpeed', info.basename + '/eSpeedMode', 'speedMode for _admin') es.regclientcmd('_eAdmin', info.basename + '/eAdminMenu', 'adminMenu for _admin') es.regclientcmd('_eKnifeRound', info.basename + '/eKnifeRound', 'knifeRound for _admin') es.addons.registerSayFilter(eww_chat) popRules = popuplib.create('popRules') popRules.timeout('view', 10) myHeader = { 'de': 0, 'en': 0, 'fr': 0, 'pl': 0 } for rule in rules: cLang, cType, cText = rule.split('|') if cType == 'X': popRules.addline(cText, cLang) popRules.addline('----------------------', cLang) popRules.addline(' ', cLang) else: if cType == '1': myHeader[cLang] += 1 cText = '->%i. %s' % (myHeader[cLang], cText) popRules.addline(cText, cLang) def unload(): for eSetting in config.getCvars(): es.ServerVar(eSetting).set(0) es.unregclientcmd('_eGod') es.unregclientcmd('_eClip') es.unregclientcmd('_eSpeed') es.unregclientcmd('_eAdmin') es.addons.unregisterSayFilter(eww_chat) popuplib.delete('popRules') # start | esLogic def round_end(eX): global knifeRound knifeRound = 0 def player_connect(eX): _updateTag() def player_disconnect(eX): _updateIPData() def player_activate(eX): userid = int(eX['userid']) myPlayer = playerlib.getPlayer(userid) if wInfoActive: tokens = languageData tokens['userName'] = myPlayer.name tokens['userClan'] = es.ServerVar('eTag') playerIP = myPlayer.address.split(':')[0] if myPlayer.steamid != 'BOT': playerLoc = iptocountry.get_country(playerIP)[0] userLevel = _getPlayerLevel(userid) tokens['userIP'] = playerIP tokens['userSteam'] = myPlayer.steamid tokens['userCountry'] = playerLoc if userLevel == '_root': _messagePlayers("wInfo:root", tokens) if userLevel == '_admin': _messagePlayers("wInfo:admin", tokens) if userLevel == '_clan': _messagePlayers("wInfo:clan", tokens) if userLevel == '_nobody': _messagePlayers("wInfo:guest", tokens) else: _messagePlayers('wInfo:bot', tokens) if kKillActive: tokens = languageData tokens['killBonus'] = es.ServerVar('kKillBonus') es.tell(userid, '#multi', languageStrings('kKill:info', tokens, myPlayer.get('lang'))) if nBlockActive: es.tell(userid, '#multi', languageStrings('nBlock:info', languageData, myPlayer.get('lang'))) gamethread.delayed(5, popuplib.send, ('popRules', userid)) def player_spawn(eX): userid = int(eX['userid']) if nBlockActive: es.server.queuecmd('es_setplayerprop %s "CBaseEntity.m_CollisionGroup" 2' % (userid)) # set iTools startOptions if (iTools and (iToolsArmor or iToolsHealth) and _isClan(_getPlayerLevel(userid))) or _isClan(_getPlayerLevel(userid), 1): myPlayer = playerlib.getPlayer(userid) if iToolsArmor: myPlayer.setArmor(100) if iToolsHealth: myPlayer.setHealth(myPlayer.getHealth() + (myPlayer.getHealth() * iToolsHealthM)) _updateTag() def player_hurt(eX): userid = int(eX['userid']) myPlayer = playerlib.getPlayer(userid) myAttacker = playerlib.getPlayer(eX['attacker']) _updateTag() if (not _isClan(_getPlayerLevel(userid))) or (_isClan(_getPlayerLevel(userid) and _isClan(_getPlayerLevel(int(eX['attacker'])))) or (_isClan(_getPlayerLevel(int(eX['attacker'])), 1))): if dInfoActive and dInfoHit: tokens = languageData tokens['damageDealt'] = eX['dmg_health'] tokens['damageVictim'] = eX['es_username'] es.tell(int(eX['attacker']), '#multi', languageStrings('dInfo:hit', tokens, myAttacker.get('lang'))) def player_death(eX): userid = int(eX['userid']) myPlayer = playerlib.getPlayer(userid) _updateTag() if kKillActive: if eX['es_attackerteam'] != eX['es_userteam']: if eX['es_attackerweapon'] == "weapon_knife": attacker = int(eX['attacker']) myPlayer = playerlib.getPlayer(attacker) killBonus = int(es.ServerVar('kKillBonus')) if _isClan(_getPlayerLevel(attacker)): killBonus = int(killBonus) * 2 myPlayer.health += killBonus tokens = languageData tokens['killBonus'] = killBonus tokens['killerName'] = eX['es_attackername'] tokens['killerVictim'] = eX['es_username'] if _isClan(_getPlayerLevel(attacker)): tokens['killerName'] = '%s #green[%s]#default' % (eX['es_attackername'], es.ServerVar('eTag')) _messagePlayers("kKill:kill", tokens) attacker = int(eX['attacker']) if (not _isClan(_getPlayerLevel(attacker))) or (_isClan(_getPlayerLevel(userid)) and _isClan(_getPlayerLevel(attacker))) or (_isClan(_getPlayerLevel(userid), 1)): if dInfoActive and dInfoKill: weapon = weaponlib.getWeapon(eX['weapon']) myPlayer = playerlib.getPlayer(userid) if weapon and eX['attacker']: tokens = languageData tokens['killerHP'] = eX['es_attackerhealth'] tokens['killerName'] = eX['es_attackername'] tokens['killerWeapon'] = weapon[7:] es.tell(userid, '#multi', languageStrings('dInfo:kill', tokens, myPlayer.get('lang'))) def eww_chat(chatUser, userText, userTeamonly): myPlayer = playerlib.getPlayer(int(chatUser)) index = myPlayer.attributes['index'] text = userText.strip('"') if text.startswith('@') and _isClan(_getPlayerLevel(int(chatUser)), 1): usermsg.centermsg('#all', text[1:]) return (False, False, False) if myPlayer.get('teamid') == 1: usermsg.saytext2('#all', index, '\x03%s\x01 : %s' % (es.getplayername(chatUser), text)) return (False, False, False) else: if myPlayer.attributes['isdead'] == 1: if not userTeamonly: if _isClan(_getPlayerLevel(int(chatUser)), 1): usermsg.saytext2('#all', index, '\x01 ** Dead ** \x04[%sAdmin] \x03%s\x01 : %s' % (es.ServerVar('eTag'), es.getplayername(chatUser), text)) return (False, False, False) if _isClan(_getPlayerLevel(int(chatUser))): usermsg.saytext2('#all', index, '\x01** Dead ** \x04[%sMember] \x03%s\x01 : %s' % (es.ServerVar('eTag'), es.getplayername(chatUser), text)) return (False, False, False) usermsg.saytext2('#all', index, '\x01** Dead ** \x03%s\x01 : %s' % (es.getplayername(chatUser), text)) return (False, False, False) else: if not userTeamonly: if _isClan(_getPlayerLevel(int(chatUser)), 1): usermsg.saytext2('#all', index, '\x04[%sAdmin] \x03%s\x01 : %s' % (es.ServerVar('eTag'), es.getplayername(chatUser), text)) return (False, False, False) if _isClan(_getPlayerLevel(int(chatUser))): usermsg.saytext2('#all', index, '\x04[%sMember] \x03%s\x01 : %s' % (es.ServerVar('eTag'), es.getplayername(chatUser), text)) return (False, False, False) usermsg.saytext2('#all', index, '\x03%s\x01 : %s' % (es.getplayername(chatUser), text)) return (False, False, False) return (chatUser, userText, userTeamonly) # end | esLogic # start | cmdHandling def eState(): userid = int(es.getcmduserid()) def eGodMode(): userid = int(es.getcmduserid()) userLevel = _getPlayerLevel(userid) if (userLevel == '_root') or (iToolsGodMode and _isClan(userLevel, 1)): _toggleGodMode(userid) else: _displayModeState('modeGod', -1, playerlib.getPlayer(userid)) def eClipMode(): userid = int(es.getcmduserid()) userLevel = _getPlayerLevel(userid) if userLevel == '_root': _toggleClipMode(userid) else: _displayModeState('modeClip', -1, playerlib.getPlayer(userid)) def eSpeedMode(): userid = int(es.getcmduserid()) userLevel = _getPlayerLevel(userid) if (userLevel == '_root') or (iToolsSpeedMode and _isClan(userLevel, 1)): _toggleSpeedMode(userid) else: _displayModeState('modeSpeed', -1, playerlib.getPlayer(userid)) def eAdminMenu(): userid = int(es.getcmduserid()) userLevel = _getPlayerLevel(userid) if _isClan(userLevel, 1): _sendAdminMenu(userid) else: _displayModeState('modeAdmin', -1, playerlib.getPlayer(userid)) # end | cmdHandleing # start | menuHandleing def _adminAction(popUser, popChoice, popName): popuplib.delete(popName) if popChoice != 0 and popChoice < 7: myActions = { '1': 'kick', '2': 'ban', '3': 'kickban', '4': 'slap', '5': 'slay', } playerFilter = '#all' if int(popChoice) > 3: playerFilter = '#alive' _sendPlayerMenu(popUser, myActions.get(str(popChoice), 0), playerFilter) def _playerAction(popUser, popChoice, popName): if popChoice == 10: popuplib.unsendname(popName, popUser) _sendAdminMenu(popUser) return myPlayer = playerlib.getPlayer(popChoice) if myPlayer.isOnline(): myPopActions = { '_player_list_kick_%i' % (popUser): 'kick', '_player_list_ban_%i' % (popUser): 'ban', '_player_list_kickban_%i' % (popUser): 'kickban', '_player_list_slay_%i' % (popUser): 'slay', '_player_list_slap_%i' % (popUser): 'slap', } myAction = myPopActions.get(popName, 'noSelection') if myAction == 'kick': es.server.queuecmd('kickid %i' % (popChoice)) _sendPlayerMenu(popUser, 'kick', '#all') if myAction == 'ban': es.server.queuecmd('banid 30 %i' % (popChoice)) _sendPlayerMenu(popUser, 'ban', '#all') if myAction == 'kickban': es.server.queuecmd('banid 30 %i kick' % (popChoice)) _sendPlayerMenu(popUser, 'kickban', '#all') if myPlayer.isdead != 1: if myAction == 'slap': es.cexec(popChoice, 'r_screenoverlay effects/tp_refract.vmt') playerlib.getPlayer(popChoice).push(120, 300, 1) es.playsound(popChoice, 'player/damage1.wav', 0.7) gamethread.delayed(5, es.cexec,args=(popChoice, 'r_screenoverlay 0')) _sendPlayerMenu(popUser, 'slap', '#alive') if myAction == 'slay': playerlib.getPlayer(popChoice).slay() _sendPlayerMenu(popUser, 'slay', '#alive') # end | menuHandling # start | toggleMangement def _toggleClipMode(userHandle): player = playerlib.getPlayer(userHandle) # unset godMode if user gets noClip if player.inGodMode(): player.godmode(0) player.set('noclip', (1 - int(player.getNoClip()))) _displayModeState('modeClip', player.getNoClip(), player) def _toggleGodMode(userHandle): player = playerlib.getPlayer(userHandle) # unset noClip id active - god is included in noclip. if player.getNoClip(): player.set('noclip', 0) player.godmode(int(1 - int(player.inGodMode()))) _displayModeState("modeGod", player.inGodMode(), player) def _toggleSpeedMode(userHandle): modeValue = int(es.getplayerprop(userHandle, "CBasePlayer.localdata.m_flLaggedMovementValue")) es.server.queuecmd('es_setplayerprop %s "CBasePlayer.localdata.m_flLaggedMovementValue" %i' %(userHandle, 3 - modeValue)) _displayModeState('modeSpeed', 2 - modeValue, playerlib.getPlayer(userHandle)) # end | toggleMangement # start | authRelated functions def _getAuthProvider(): global hasRight if services.isRegistered('auth'): auth = services.use('auth') if auth.name in ('group_auth', 'ini_tree_auth'): auth.registerCapability('isRoot', auth.ROOT) auth.registerCapability('isAdmin', auth.ADMIN) auth.registerCapability('isClan', auth.POWERUSER) auth.registerCapability('isGuest', auth.IDENTIFIED) hasRight = lambda x, y: auth.isUseridAuthorized(x, y) def _getPlayerLevel(userid): if not wInfoActive: return '_off' if hasRight(userid, 'isRoot'): if wInfoRoot: return '_root' else: return '_clan' if hasRight(userid, 'isAdmin'): if wInfoAdmin: return '_admin' else: return '_clan' if hasRight(userid, 'isClan'): return '_clan' if wInfoActive: return '_nobody' def _isClan(userLevel, clanAdmin = None): if clanAdmin: if (userLevel == "_root") or (userLevel == "_admin"): return 1 else: if (userLevel == "_root") or (userLevel == "_admin" or userLevel == "_clan"): return 1 return 0 # end | authRelated functions # start | messageRelated functions' def _updateTag(): global languageData # updateOnConnect (Does not can be set at load... y?) if eTagShow: eTagText = es.ServerVar('eTagText') eTagText.set('%s[%s]#default' % (eTagColor, eTag)) else: eTagText = '>' languageData['eTag'] = es.ServerVar('eTagText') def _stripColor(text): text = text.replace('#green', '').replace('#lightgreen', '').replace('#default', '') return text def _getModeState(mode, player): if mode >= 0: if mode > 0: return languageStrings('iTools:modeOn', None, player.get('lang')) else: if mode == 1337: return languageStrings('iTools:modeDone', None, player.get('lang')) else: return languageStrings('iTools:modeOff', None, player.get('lang')) else: return languageStrings('iTools:modeDisabled', None, player.get('lang')) def _displayModeState(modeName, modeValue, player): tokens = languageData tokens['modeName'] = languageStrings('iTools:%s' % (modeName), None, player.get('lang')) tokens['modeStatus'] = _getModeState(modeValue, player) es.centertell(player.userid, _stripColor(languageStrings('iTools:modeChange', tokens, player.get('lang')))) def _messagePlayers(lItem, lTokens): myPlayerList = playerlib.getPlayerList('#human') if myPlayerList: for player in myPlayerList: myPlayer = playerlib.getPlayer(player) es.tell(myPlayer.userid, '#multi', languageStrings(lItem, lTokens, myPlayer.get('lang'))) # end | messageRelated functions # start | miscFunctions def _updateIPData(): if not len(playerlib.getPlayerList('#human')): if time.time() - iptocountry.get_last_update() > 86400: iptocountry.update_data() def _sendPlayerMenu(playerID, playerAction, playerFilter = '#human'): myPlayer = playerlib.getPlayer(playerID) playerList = playerlib.getPlayerList(playerFilter) playerMenu = popuplib.easymenu('_player_list_%s_%i' % (playerAction, playerID), '_popup_choice', _playerAction) playerMenu.settitle(languageStrings('adminMenu:SelectPlayer', languageData, myPlayer.get('lang'))) playerMenu.menuselect = _playerAction playerMenu.menuselectfb = None for player in playerList: playerMenu.addoption(int(player), player.get('name')) playerMenu.send(playerID) def _sendAdminMenu(userHandle): myPlayer = playerlib.getPlayer(userHandle) adminMenu = popuplib.create('_popAdmin_%i' % (userHandle)) adminMenu.addline(languageStrings('iTools:modeAdmin', languageData, myPlayer.get('lang'))) adminMenu.addline(' ') adminMenu.addline('->1. %s' % (languageStrings('adminMenu:Kick', languageData, myPlayer.get('lang')))) adminMenu.addline('->2. %s' % (languageStrings('adminMenu:Ban', languageData, myPlayer.get('lang')))) adminMenu.addline('->3. %s' % (languageStrings('adminMenu:KickBan', languageData, myPlayer.get('lang')))) adminMenu.addline(' ') adminMenu.addline('->4. %s' % (languageStrings('adminMenu:Slap', languageData, myPlayer.get('lang')))) adminMenu.addline('->5. %s' % (languageStrings('adminMenu:Slay', languageData, myPlayer.get('lang')))) adminMenu.addline(' ') adminMenu.addline('->0. %s' % (languageStrings('adminMenu:Cancel', languageData, myPlayer.get('lang')))) adminMenu.menuselect = _adminAction adminMenu.send(userHandle) # end | miscFunctions # start | initLogics def _initLanguage(): global ini ini.addGroup('wInfo:root') ini.addValueToGroup('wInfo:root', 'en', '$eTag #lightgreen$userName#default #green[serverOwner]#default from #lightgreen$userCountry#default joined') ini.addValueToGroup('wInfo:root', 'de', '$eTag #lightgreen$userName#default #green[serverBesitzer]#default aus #lightgreen$userCountry#default ist beigetreten') ini.addValueToGroup('wInfo:root', 'fr', '$eTag ') ini.addValueToGroup('wInfo:root', 'pl', '$eTag ') ini.addGroup('wInfo:admin') ini.addValueToGroup('wInfo:admin', 'en', '$eTag #lightgreen$userName#default #green[serverAdministrator]#default from #lightgreen$userCountry#default joined') ini.addValueToGroup('wInfo:admin', 'de', '$eTag #lightgreen$userName#default #green[serverAdministrator]#default aus #lightgreen$userCountry#default ist beigetreten') ini.addValueToGroup('wInfo:admin', 'fr', '$eTag ') ini.addValueToGroup('wInfo:admin', 'pl', '$eTag ') ini.addGroup('wInfo:clan') ini.addValueToGroup('wInfo:clan', 'en', '$eTag #lightgreen$userName#default #green[$userClan Member]#default from #lightgreen$userCountry#default joined') ini.addValueToGroup('wInfo:clan', 'de', '$eTag #lightgreen$userName#default #green[$userClan Mitglied]#default aus #lightgreen$userCountry#default ist beigetreten') ini.addValueToGroup('wInfo:clan', 'fr', '$eTag ') ini.addValueToGroup('wInfo:clan', 'pl', '$eTag ') ini.addGroup('wInfo:guest') ini.addValueToGroup('wInfo:guest', 'en', '$eTag #lightgreen$userName#default #green[$userSteam]#default #lightgreen[$userIP]#default from #lightgreen$userCountry#default joined') ini.addValueToGroup('wInfo:guest', 'de', '$eTag #lightgreen$userName#default #green[$userSteam]#default #lightgreen[$userIP]#default aus #lightgreen$userCountry#default ist beigetreten') ini.addValueToGroup('wInfo:guest', 'fr', '$eTag ') ini.addValueToGroup('wInfo:guest', 'pl', '$eTag ') ini.addGroup('wInfo:bot') ini.addValueToGroup('wInfo:bot', 'en', '$eTag #lightgreen$userName#default #green[$userClan serverBot]#default joined') ini.addValueToGroup('wInfo:bot', 'de', '$eTag #lightgreen$userName#default #green[$userClan serverBot]#default is beigetreten') ini.addValueToGroup('wInfo:bot', 'fr', '$eTag ') ini.addValueToGroup('wInfo:bot', 'pl', '$eTag ') ini.addGroup('kKill:info') ini.addValueToGroup('kKill:info', 'en', '$eTag Each#lightgreen knifeKill#default will give you #lightgreen$killBonus#defaultHP') ini.addValueToGroup('kKill:info', 'de', '$eTag Jeder#lightgreen knifeKill#default bringt dir #lightgreen$killBonus#default Gesundheitspunkte') ini.addValueToGroup('kKill:info', 'fr', '$eTag ') ini.addValueToGroup('kKill:info', 'pl', '$eTag ') ini.addGroup('kKill:kill') ini.addValueToGroup('kKill:kill', 'en', '$eTag #green$killerName#default made a #greenknifeKill#default on #green$killerVictim#default and got +#lightgreen$killBonus#defaultHP') ini.addValueToGroup('kKill:kill', 'de', '$eTag #green$killerName#default hat eine #greenknifeKill#default an #green$killerVictim#default gemacht und dafuer +#lightgreen$killBonus#default Gesundheitspunkte bekommen') ini.addValueToGroup('kKill:kill', 'fr', '$eTag ') ini.addValueToGroup('kKill:kill', 'pl', '$eTag ') ini.addGroup('nBlock:info') ini.addValueToGroup('nBlock:info', 'en', '$eTag #lightgreennoBlock#default is #greenactive#default') ini.addValueToGroup('nBlock:info', 'de', '$eTag #lightgreennoBlock#default ist #greenaktiv#default') ini.addValueToGroup('nBlock:info', 'fr', '$eTag ') ini.addValueToGroup('nBlock:info', 'pl', '$eTag ') ini.addGroup('knifeRound:info') ini.addValueToGroup('knifeRound:info', 'en', '$eTag #lightgreenknifeRound#default is #greenactive#default - only knifes allowed until end of round!') ini.addValueToGroup('knifeRound:info', 'de', '$eTag #lightgreenMesserunde#default ist #greengestartet#default - es sind nurnoch Messer bis zum Rundenende erlaubt!') ini.addValueToGroup('knifeRound:info', 'fr', '$eTag ') ini.addValueToGroup('knifeRound:info', 'pl', '$eTag ') ini.addGroup('dInfo:hit') ini.addValueToGroup('dInfo:hit', 'en', '$eTag You dealt #lightgreen$damageDealt#default damage to #green$damageVictim#default') ini.addValueToGroup('dInfo:hit', 'de', '$eTag Du hast #lightgreen$damageDealt#default Schaden bei #green$damageVictim#default verursacht') ini.addValueToGroup('dInfo:hit', 'fr', '$eTag ') ini.addValueToGroup('dInfo:hit', 'pl', '$eTag ') ini.addGroup('dInfo:kill') ini.addValueToGroup('dInfo:kill', 'en', '$eTag #lightgreen$killerName#default killed you with the #lightgreen$killerWeapon#default and has still #green$killerHP#defaultHP left') ini.addValueToGroup('dInfo:kill', 'de', '$eTag #lightgreen$killerName#default hat Dich mit der #lightgreen$killerWeapon#default getoet und hat noch #green$killerHP#default Gesundheitspunkte') ini.addValueToGroup('dInfo:kill', 'fr', '$eTag ') ini.addValueToGroup('dInfo:kill', 'pl', '$eTag ') ini.addGroup('iTools:modeChange') ini.addValueToGroup('iTools:modeChange', 'en', '$modeName is $modeStatus') ini.addValueToGroup('iTools:modeChange', 'de', '$modeName ist $modeStatus') ini.addValueToGroup('iTools:modeChange', 'fr', ' ') ini.addValueToGroup('iTools:modeChange', 'pl', ' ') ini.addGroup('iTools:modeClip') ini.addValueToGroup('iTools:modeClip', 'en', 'noClip') ini.addValueToGroup('iTools:modeClip', 'de', 'Freierflug') ini.addValueToGroup('iTools:modeClip', 'fr', ' ') ini.addValueToGroup('iTools:modeClip', 'pl', ' ') ini.addGroup('iTools:modeGod') ini.addValueToGroup('iTools:modeGod', 'en', 'godMode') ini.addValueToGroup('iTools:modeGod', 'de', 'Gottmodus') ini.addValueToGroup('iTools:modeGod', 'fr', ' ') ini.addValueToGroup('iTools:modeGod', 'pl', ' ') ini.addGroup('iTools:modeSped') ini.addValueToGroup('iTools:modeSpeed', 'en', 'speedMode') ini.addValueToGroup('iTools:modeSpeed', 'de', '3fache Geschwindigkeit') ini.addValueToGroup('iTools:modeSpeed', 'fr', ' ') ini.addValueToGroup('iTools:modeSpeed', 'pl', ' ') ini.addGroup('iTools:modeAdmin') ini.addValueToGroup('iTools:modeAdmin', 'en', 'Adminmenu') ini.addValueToGroup('iTools:modeAdmin', 'de', 'Verwaltungsmenue') ini.addValueToGroup('iTools:modeAdmin', 'fr', ' ') ini.addValueToGroup('iTools:modeAdmin', 'pl', ' ') ini.addGroup('iTools:modeOn') ini.addValueToGroup('iTools:modeOn', 'en', 'on') ini.addValueToGroup('iTools:modeOn', 'de', 'eingeschaltet') ini.addValueToGroup('iTools:modeOn', 'fr', ' ') ini.addValueToGroup('iTools:modeOn', 'pl', ' ') ini.addGroup('iTools:modeDone') ini.addValueToGroup('iTools:modeDone', 'en', 'done') ini.addValueToGroup('iTools:modeDone', 'de', 'getaetigt.') ini.addValueToGroup('iTools:modeDone', 'fr', ' ') ini.addValueToGroup('iTools:modeDone', 'pl', ' ') ini.addGroup('iTools:modeDisabled') ini.addValueToGroup('iTools:modeDisabled', 'en', 'is disabled for You!') ini.addValueToGroup('iTools:modeDisabled', 'de', 'ist fuer Dich nicht nutzbar!') ini.addValueToGroup('iTools:modeDisabled', 'fr', ' ') ini.addValueToGroup('iTools:modeDisabled', 'pl', ' ') ini.addGroup('iTools:modeOff') ini.addValueToGroup('iTools:modeOff', 'en', 'off') ini.addValueToGroup('iTools:modeOff', 'de', 'ausgeschaltet') ini.addValueToGroup('iTools:modeOff', 'fr', ' ') ini.addValueToGroup('iTools:modeOff', 'pl', ' ') ini.addGroup('adminMenu:SelectPlayer') ini.addValueToGroup('adminMenu:SelectPlayer', 'en', 'Select a Player:') ini.addValueToGroup('adminMenu:SelectPlayer', 'de', 'Waehle einen Spieler:') ini.addValueToGroup('adminMenu:SelectPlayer', 'fr', '') ini.addValueToGroup('adminMenu:SelectPlayer', 'pl', '') ini.addGroup('adminMenu:Kick') ini.addValueToGroup('adminMenu:Kick', 'en', 'Kick') ini.addValueToGroup('adminMenu:Kick', 'de', 'Rauswerfen') ini.addValueToGroup('adminMenu:Kick', 'fr', '') ini.addValueToGroup('adminMenu:Kick', 'pl', '') ini.addGroup('adminMenu:Ban') ini.addValueToGroup('adminMenu:Ban', 'en', 'Ban (30 min)') ini.addValueToGroup('adminMenu:Ban', 'de', 'Aussperren (30 Min)') ini.addValueToGroup('adminMenu:Ban', 'fr', '') ini.addValueToGroup('adminMenu:Ban', 'pl', '') ini.addGroup('adminMenu:KickBan') ini.addValueToGroup('adminMenu:KickBan', 'en', 'Kick & Ban (30 min)') ini.addValueToGroup('adminMenu:KickBan', 'de', 'Rauswerfen & Aussperren (30 Min)') ini.addValueToGroup('adminMenu:KickBan', 'fr', '') ini.addValueToGroup('adminMenu:KickBan', 'pl', '') ini.addGroup('adminMenu:Slap') ini.addValueToGroup('adminMenu:Slap', 'en', 'Slap') ini.addValueToGroup('adminMenu:Slap', 'de', 'Schlagen') ini.addValueToGroup('adminMenu:Slap', 'fr', '') ini.addValueToGroup('adminMenu:Slap', 'pl', '') ini.addGroup('adminMenu:Slay') ini.addValueToGroup('adminMenu:Slay', 'en', 'Slay') ini.addValueToGroup('adminMenu:Slay', 'de', 'Toeten') ini.addValueToGroup('adminMenu:Slay', 'fr', '') ini.addValueToGroup('adminMenu:Slay', 'pl', '') ini.addGroup('adminMenu:Cancel') ini.addValueToGroup('adminMenu:Cancel', 'en', 'Cancel') ini.addValueToGroup('adminMenu:Cancel', 'de', 'Abbruch') ini.addValueToGroup('adminMenu:Cancel', 'fr', '') ini.addValueToGroup('adminMenu:Cancel', 'pl', '') ini.write() # end |initLogics