Bolodefchoco_LUAXML

[Game] Powers

May 28th, 2016
1,815
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 111.43 KB | None | 0 0
  1. --Creator: Bolodefchoco
  2. --Made in: 28/05/2016
  3. --Last update: 02/03/2017
  4. --[[ Notes:
  5.     Does:
  6.         Você terá poderes e poderá usá-los pelo mapa.
  7.     Commands:
  8.         !
  9.             help
  10. ]]--
  11.  
  12. --[[ Data ]]--
  13. data={
  14.     -- Type, Level, Damage, Uses, Timer, Images(code,x,y)
  15.     light = {
  16.         t = 2, l = 30, d = 10, u = 10, m = 5000,
  17.         i = {"155d05699c9.png",325,105},
  18.     },
  19.     lspeed = {
  20.         t = 1, l = 0, d = 0, u = "Infinity", m = 1500,
  21.         i = {"155d0565587.png",275,108},
  22.     },
  23.     whole = {
  24.         t = 1, l = 10, d = 0, u = "Infinity", m = 2500,
  25.         i = {"155d055f8d0.png",300,105},
  26.     },
  27.     dbjump = {
  28.         t = 1, l = 10, d = 0, u = "Infinity", m = 3000,
  29.         i = {"155d0560b19.png",310,110},
  30.     },
  31.     snova = {
  32.         t = 2, l = 40, d = 20, u = 6, m = 6000,
  33.         i = {"155d055d277.png",288,105},
  34.     },
  35.     helix = {
  36.         t = 1, l = 20, d = 0, u = "Infinity", m = 2500,
  37.         i = {"155d056201e.png",300,105},
  38.     },
  39.     dome = {
  40.         t = 2, l = 20, d = 5, u = 15, m = 4000,
  41.         i = {"155d05689b8.png",295,105},
  42.     },
  43.     ray = {
  44.         t = 2, l = 0, d = 5, u = "Infinity", m = 1000,
  45.         i = {"155d0567651.png",265,125},
  46.     },
  47.     dray = {
  48.         t = 2, l = 70, d = 50, u = 1, m = 10000,
  49.         i = {"155d05633dc.png",270,140},
  50.     },
  51.     hsmash = {
  52.         t = 2, l = 50, d = 20, u = 10, m = 8000,
  53.         i = {"155d055e49f.png",295,105},
  54.     },
  55.     dhug = {
  56.         t = 3, l = 50, d = "Infinity", u = 8, m = 15000,
  57.         i = {"155d0566680.png",300,105},
  58.     },
  59.     anom = {
  60.         t = 4, l = 60, d = 0, u = 1, m = 10000,
  61.         i = {"155d05645e0.png",270,130},
  62.     },
  63.     -- Timer next power
  64.     timernp = 200,
  65.     -- Additional time
  66.     newtimer = 60,
  67.     -- Ui timer
  68.     uitimer = 800,
  69.     -- Help commands
  70.     help = {
  71.         m = 3,
  72.         c1 = "help",
  73.         c2 = "powers",
  74.         c3 = "healthbar",
  75.         c4 = "hints",
  76.         c5 = "messages",
  77.         c6 = "align",
  78.         c7 = "np",
  79.         c8 = "langue",
  80.         c9 = "maxplayers",
  81.         c10 = "renamebot",
  82.         c11 = "setnewtime",
  83.         c12 = "admin",
  84.         c13 = "profile",
  85.         c14 = "quality",
  86.         c15 = "rank",
  87.         c16 = "map",
  88.         l = "http://atelier801.com/topic?f=6&t=832659",
  89.     },
  90.     -- Name
  91.     game = "Powers",
  92.     botName = "Einstein",
  93.     -- Life
  94.     life = 100,
  95. }
  96. --[[ Vars ]]--
  97.     -- Room admins
  98. admins = {}
  99.     -- Tables
  100. maps = {6576101,6562101,6516460,6703747,6703751,6402787,6422045,3969874,4021639,3952121,6720637,6720600,6721110,6422055,6375156,6370960,6729762,6379260,6302281,6302178,6730125,6730148,6731380,6733122,6733411,6755053,5971883,6773401,6792905,6833553,6835357,6835351,6798088,6834984,6849838,6045163,4015685,6174131,6394667,6397861,5234134}
  101. colors = {"2ECF73","B500FF","A0A0A0","5E5C9E","EED656","D95ED1","FF7100","CB546B","FEFFD7","D7FFE4","D7ECFF","FFFFFF","009D9D"}
  102. podiumColors = {"00FFFF","00EBEB","00D8D8"}
  103. mice={}
  104. toDespawn={}
  105. power=setmetatable({},{
  106.     __newindex = function(a,b,c)
  107.         if type(c) == "function" then
  108.             rawset(a,b,function(...)
  109.                 local var = {...}
  110.                 if mice[var[1]] ~= nil then
  111.                     mice[var[1]].nPTimer = os.time() + data.timernp
  112.                 end
  113.                 c(table.unpack(var))
  114.             end)
  115.         else
  116.             rawset(a,b,c)
  117.         end
  118.     end
  119. })
  120. botNames = {
  121.     [1] = "Einstein",
  122.     [2] = "Nikola Tesla",
  123.     [3] = "Marie Curie",
  124.     [4] = "Isaac Newton",
  125.     [5] = "Hawking",
  126.     [6] = "Freud",
  127.     [7] = "Galileu",
  128.     [8] = "Darwin",
  129.     [9] = "Alan Turing",
  130.     [10] = "Archimedes",
  131.     [11] = "Franklin",
  132.     [12] = "Drummond",
  133.     [13] = "Armstrong",
  134.     [14] = "Homer",
  135.     [15] = "Sponge Bob",
  136.     [16] = "Goku",
  137. }
  138.     -- Strings
  139. bot = "<font color='#"..colors[#colors].."'><B>["..data.botName.."]</B></font> %s"
  140.     -- Booleans
  141. anomaly = false
  142. deathhug = {false,0}
  143. skip = false
  144. newtimer = false
  145. adminRoom = {false,false}
  146. isRoom = tfm.get.room.name:byte(2) ~= 3
  147.     -- Other
  148. advice = 0
  149. newp = 0
  150. newmaptimer = 0
  151. --[[ Translation EN BR PT ES AR NL PL FR CZ (TR) ]]--
  152. T = {}
  153. T.en = {
  154.     titles = {
  155.         title = {"Apprentice","Wizard","Professor","Researcher","Master","Lord of Spells","Prince of Spells","King of Magic","Omnipresent","Omniscient","Omnipotent","God","Alpha & Omega"},
  156.         newlevel = "%s reached level %s",
  157.         unlock = {
  158.             unlocked = "You just unlocked the power: ",
  159.             title = "<J>%s <G>just unlocked the title %s«%s»",
  160.             [10] = "<N><I>Worm Hole</I><J> and <CEP><I>Double Jump</I><J>!",
  161.             [20] = "<J><I>Dome</I> and <CS><I>Helix</I><J>!",
  162.             [30] = "<J><I>Lightning</I>!",
  163.             [40] = "<ROSE><I>Supernova</I><J>!",
  164.             [50] = "<VP><I>Hulk Smash</I><J> and <R><I>Death Hug</I><J>!",
  165.             [60] = "<VI><I>Anomaly</I><J>!",
  166.             [70] = "<BV><I>Death Ray</I><J>!",     
  167.         },
  168.     },
  169.     powers = {
  170.         -- Name, Activate, Description
  171.         [1] = {"Light Speed",{"← ←","→ →"},"Makes you teleport 255px in the chosen direction"},
  172.         [2] = {"Ray",{"Key <U>Space</U>"},"Shoots a ray laser"},
  173.         [3] = {"Worm Hole",{"↑↓","↓↑"},"Makes you teleport 200px in your direction"},
  174.         [4] = {"Double Jump",{"↑↑"},"Enables you to do a double jump"},
  175.         [5] = {"Dome",{"Facepalm Emote","<I>PROTECTOS</I> on chat"},"Creates a big dome"},
  176.         [6] = {"Helix",{"Key <U>SHIFT</U>"},"Boosts you diagonally"},
  177.         [7] = {"Lightning",{"Mouse (Click)"},"Summons a big Lightning"},
  178.         [8] = {"Supernova",{"Key <U>CTRL</U>"},"Creates a big Supernova"},
  179.         [9] = {"Hulk Smash",{"↓↓"},"Makes an animation of the original Hulk Smash"},
  180.         [10] = {"Death Hug",{"Hug Emote"},"Kills who hugs you"},
  181.         [11] = {"Anomaly",{"<I>ANOMALY</I> on chat (You must know that the match will rarely be successful)"},"Creates an Anomaly in the game!"},
  182.         [12] = {"Death Ray",{"Key <U>P</U> for 30-40 times"},"Shoot a powerful ray"},
  183.     },
  184.     botMessages = {
  185.         welcome = "<BV>Welcome to <CH>#%s<BV>. Type <CH>!%s<BV> for more informations!",
  186.         roomplayers = "<R>To start the game, the room must have at least 2 players!",
  187.         notplayers = "<BV>At least 6 players are needed for stats count.",
  188.         alive = "<R>You must be alive to do this!",
  189.         timernp = "<R>You must wait %sms to do this!",
  190.         powerlimit = "You have reached the limit of use of this power! (%s)",
  191.         newtimer = "%s seconds were added in this round! Enjoy!",
  192.         allpowers = "Santa Claus gave a gift for you! If the room keep with 3 mice or less, you will be able to use ALL the powers!",
  193.         nextmap = "%s will be the next map!",
  194.         wnextmap = "%s will not be the next map!",
  195.         anomaly = "<CH>THE ANOMALY IS HERE!",
  196.         anomtim = "<R>The match was not found and the request was not successful! :( Wait %s seconds.",
  197.         won = "<J>%s <G>won the round!",
  198.     },
  199.     enables = {
  200.         healthbar = {
  201.             on = "<VP>Healthbar enabled!",
  202.             off = "<R>Healthbar disabled!",
  203.         },
  204.         messages = {
  205.             on = "<VP>Messages enabled!",
  206.             off = "<R>Messages disabled!",
  207.         },
  208.         hints = {
  209.             on = "<VP>Hints enabled!",
  210.             off = "<R>Hints disabled!",
  211.         },
  212.         bot = {
  213.             on = "<VP>Bot messages enabled!",
  214.             off = "<R>Bot messages disabled!",
  215.         },
  216.         graphics = {
  217.             on = "<VP>Graphic: High",
  218.             off = "<R>Graphic: Low",
  219.         },
  220.         pw = {
  221.             on = "<VP>Password: %s",
  222.             off = "<R>Password disabled.",
  223.         },
  224.     },
  225.     help = {
  226.         [1] = {"#%s!","<PT>#%s was developed and idealized by Bolodefchoco.\n\n<VP>Your objective in this minigame is to be <I>the survivor</I> during %s minutes using all your powers, being guided by %s!\n\n<R>Do NOT forget to ENABLE the particle effects (In options, next to the Café, the 7th option)."},
  227.         [2] = {"Chat Commands","<VP>!%s <G>- Displays the Help message\n<VP>!%s <G>- Displays all the power informations\n<VP>!%s <G>- Activate/Deactivate the healthbar\n<VP>!%s <G>- Activate/Deactivate the hints\n<VP>!%s <G>- Activate/Deactivate the bot messages.\n<VP>!%s <PT>1/2/3/4 <G>- Changes the healthbar position\n<VP>!%s <PT>@Code <G>- Load a map (3 mice or less)\n<VP>!%s <PT>ID <G>- Changes the language of the game (For you, only)\n<VP>!%s <PT>PlayerName <G>- Displays your profile, or the profile of the specified player.\n<VP>!%s <G>- Changes the quality of the game.\n<VP>!%s <G>- Opens the leaderboard.\n<VP>!%s <PT>@Code <G>- Verifies if the map is in the official rotation."},
  228.         [3] = {"Stats","<N>• <J>Level <G>- The highest level you can reach is %s.\n<N>• <J>Title <G>- The title of the current level (%s titles)\n<N>• <J>Experience <G>- Calculates how many points you already have and how many points you need to level up\n<N>• <J>Rounds <G>- Calculates how many rounds you have played\n<N>• <J>Wins <G>- Calculates how many victories you have <R>(+%s per victory or each 35 minutes)\n<N>• <J>Kills <G>- Calculates how many mice you have killed\n<N>• <J>Profile Ratio <G>- The ratio between <I>Rounds, Wins</I> and <I>Kills"},
  229.         [4] = {"Maps","<CEP>Send your maps in here: %s\n\n<CS>The complete list of maps below: (%s)\n%s"},
  230.         [5] = {"Admins","<PT>To create a room with admins, make sure to add the nickname after some numbers <VP>(/room %s)\n<R>Stats will not count if you change the round time or put the maximum players in the room in less than 8 players.\n\n<BV>!%s <CH>Number/String <G>- Changes the limit of players in the room (2-18)\n<BV>!%s <CH>Id <G>- Renames the bot\n<BV>!%s <CH>Time <G>- Changes the time of the rounds\n<BV>!%s <CH>Name <G>- Gives/Removes admin from someone"},
  231.         [6] = {"Special Thanks","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překlad"},
  232.     },
  233.     hints = {
  234.         [1] = "Do NOT forget to ENABLE the particle effects (In options, next to the Café, the 7th option).",
  235.     },
  236.     other = {
  237.         close = "Close",
  238.         powers_textformat = "<J>Type: <N>%s\n<J>Level: <N>%s\n<BV>Uses: <N>%s\n<VP>Activate: <N>%s\n<R>Damage: <N>%s\n<PS>%s",
  239.         powers_types = {"Defense","Attack","Troll","God Mode"},
  240.         profile_textformat = "<font color='#%s'><J>Level</J> %s\n<J>Title:</J> «%s»\n<J>Experience:</J> %s\n\n<J>Rounds:</J> %s\n<J>Wins:</J> %s\n<J>Kills:</J> %s\n\n<J>Playing Time:</J> %s\n<J>Profile Ratio:</J> %s%%",
  241.     },
  242.     admins = {
  243.         iftrue = "<R>Stats will not count if you change the botName or the round time.",
  244.         maxroom = "The limit of players has been set to %s",
  245.         renamed = "%s has been renamed to %s",
  246.         time = "The time standard has been set in %s min.",
  247.         notadmin = "%s is no longer an admin!",
  248.         isadmin = "%s is now an admin!",
  249.     },
  250.     ranking = {
  251.         [1] = {"#Room Leaderboard","Displays the ranking of the room"},
  252.         [2] = {"#Global Leaderboard","Displays the ranking of the whole game"},
  253.     },
  254. }
  255. T.br = {
  256.     titles = {
  257.         title = {"Aprendiz","Bruxo","Professor","Pesquisador","Mestre","Senhor dos Feitiços","Príncipe dos Feitiços","Rei da Mágica","Onipresente","Onisciente","Onipotente","God","Alpha & Omega"},
  258.         newlevel = "%s alcançou o nível %s",
  259.         unlock = {
  260.             unlocked = "Você acaba de desbloquear o poder: ",
  261.             title = "<J>%s <G>desbloqueou o titulo %s«%s»",
  262.             [10] = "<N><I>Buraco de Minhoca</I><J> e <CEP><I>Pulo Duplo</I><J>!",
  263.             [20] = "<J><I>Domo</I> e <CS><I>Hélice</I><J>!",
  264.             [30] = "<J><I>Relâmpago</I>!",
  265.             [40] = "<ROSE><I>Supernova</I><J>!",
  266.             [50] = "<VP><I>Hulk Esmaga</I><J> e <R><I>Abraço da Morte</I><J>!",
  267.             [60] = "<VI><I>Anomalia</I><J>!",
  268.             [70] = "<BV><I>Raio da Morte</I><J>!",
  269.         },
  270.     },
  271.     powers = {
  272.         [1] = {"Velocidade da Luz",{"← ← ","→ →"},"Teletransporta-o 255px na direção escolhida"},
  273.         [2] = {"Raio",{"Tecla <U>Espaço</U>"},"Atira um raio laser"},
  274.         [3] = {"Buraco de Minhoca",{"↑↓ <BL>|</BL> ↓↑"},"Teletransporta-o 200px em sua direção"},
  275.         [4] = {"Salto Duplo",{"↑↑"},"Permite que você faça um salto duplo"},
  276.         [5] = {"Domo",{"Emoção Facepalm","<I>PROTECTOS</I> no chat"},"Cria um grande domo"},
  277.         [6] = {"Hélice",{"Tecla <U>SHIFT</U>"},"Te impulsiona diagonalmente"},
  278.         [7] = {"Relâmpago",{"Mouse (Clique)"},"Invoca um grande Relâmpago"},
  279.         [8] = {"Supernova",{"Tecla <U>CTRL</U>"},"Cria uma grande Supernova"},
  280.         [9] = {"Hulk Esmaga",{"↓↓"},"Cria uma animação do original Hulk Esmaga"},
  281.         [10] = {"Abraço da Morte",{"Emoção de Abraço"},"Mata quem abraça-lo"},
  282.         [11] = {"Anomalia",{"<I>ANOMALY</I> no chat (Você deve saber que o padrão será, raramente, bem sucedido)"},"Cria uma Anomalia no jogo!"},
  283.         [12] = {"Raio da Morte",{"Digite <U>P</U> por 30-40 vezes"},"Atira um poderoso raio"},
  284.     },
  285.     botMessages = {
  286.         welcome = "<BV>Bem-vindo ao <CH>#%s<BV>. <BV>Digite <CH>!%s<BV> para mais informações!",
  287.         roomplayers = "<R>Para começar o jogo, a sala deve ter pelo menos 2 jogadores!",
  288.         notplayers = "<BV>São necessários pelo menos 6 jogadores para crescer de nível.",
  289.         alive = "<R>Você deve estar vivo para fazer isto!",
  290.         timernp = "<R>Você deve esperar %sms para fazer isto!",
  291.         powerlimit = "Você atingiu o limite de uso deste poder! (%s)",
  292.         newtimer = "%s segundos foram adicionados nesta partida! Aproveitem!",
  293.         allpowers = "Noel trouxe presentes para vocês! Se a sala se manter com 3 ratos ou menos, todos vocês poderão usar TODOS os poderes!",
  294.         nextmap = "%s será o próximo mapa!",
  295.         wnextmap = "%s não será o próximo mapa!",
  296.         anomaly = "<CH>A ANOMALIA ESTÁ AQUI!",
  297.         anomtim = "<R>O padrão não foi bem sucedido e a anomalia foi negada! :( Aguarde %s segundos.",
  298.         won = "<J>%s <G>ganhou a partida!",
  299.     },
  300.     enables = {
  301.         healthbar = {
  302.             on = "<VP>Barra de Vida ativada!",
  303.             off = "<R>Barra de Vida desativada!",
  304.         },
  305.         messages = {
  306.             on = "<VP>Mensagens ativadas!",
  307.             off = "<R>Mensagens desativadas!",
  308.         },
  309.         hints = {
  310.             on = "<VP>Avisos ativados!",
  311.             off = "<R>Avisos desativados!",
  312.         },
  313.         bot = {
  314.             on = "<VP>Mensagens do bot ativadas!",
  315.             off = "<R>Mensagens do bot desativadas!",
  316.         },
  317.         graphics = {
  318.             on = "<VP>Gráfico: Alto",
  319.             off = "<R>Gráfico: Baixo",
  320.         },
  321.         pw = {
  322.             on = "<VP>Senha: %s",
  323.             off = "<R>Senha desativada.",
  324.         },
  325.     },
  326.     help = {
  327.         [1] = {"#%s!","<PT>#%s foi desenvolvido e idealizado por Bolodefchoco!\n\n<VP>Seu objetivo neste minigame é ser <I>o sobrevivente</I> durante %s minutos usando todos os seus poderes, sendo guiado por %s!\n\n<R>NÃO se esqueça de ATIVAR os efeitos especiais (Nas opções, ao lado do Café, a 7ª opção)."},
  328.         [2] = {"Comandos do Chat","<VP>!%s <G>- Mostra a mensagem de ajuda\n<VP>!%s <G>- Mostra todas as informações dos poderes.\n<VP>!%s <G>- Ativar/Desativar a barra de vida.\n<VP>!%s <G>- Ativar/Desativar os avisos.\n<VP>!%s <G>- Ativar/Desativar as mensagens do bot.\n<VP>!%s <PT>1/2/3/4 <G>- Alterar a posição da barra de vida.\n<VP>!%s <PT>@Código <G>- Carrega um mapa (3 ratos ou menos)\n<VP>!%s <PT>ID <G>- Altera a tradução do jogo (Apenas para você)\n<VP>!%s <PT>Jogador <G>- Abre seu perfil, ou o perfil do jogador especificado.\n<VP>!%s <G>- Altera a qualidade do jogo.\n<VP>!%s <G>- Abre o ranking.\n<VP>!%s <PT>@Código <G>- Verifica se o mapa está na rotação oficial."},
  329.         [3] = {"Estatísticas","<N>• <J>Nível <G>- O maior que nível que você pode alcançar é %s.\n<N>• <J>Título <G>- O título do nível atual (%s títulos)\n<N>• <J>Experiência <G>- Calcula quantos pontos você já tem e quantos você precisa para subir de nível\n<N>• <J>Partidas <G>- Calcula quantas partidas você já jogou\n<N>• <J>Vitórias <G>- Calcula quantas vitórias você tem <R>(+%s por vitória ou a cada 35 minutos)\n<N>• <J>Mortos <G>- Calcula quantos ratos você matou\n<N>• <J>Proporção do Perfil <G>- A proporção entre <I>Partidas, Vitórias</I> e <I>Mortos"},
  330.         [4] = {"Mapas","<CEP>Envie seus mapas aqui: %s\n\n<CS>A lista completa de mapas abaixo: (%s)\n%s"},
  331.         [5] = {"Admins","<PT>Para criar uma sala com admins, certifique-se de adicionar o nickname depois de alguns números <VP>(/sala %s)\n<R>Estatísticas não vão contar se você alterar o tempo de jogo ou colocar o número máximo de jogadores em menos de 8 jogadores.\n\n<BV>!%s <CH>Número/Texto <G>- Altera o limite de jogadores na sala (2-18)\n<BV>!%s <CH>Id <G>- Renomeia o bot\n<BV>!%s <CH>Tempo <G>- Altera o tempo padrão das partidas\n<BV>!%s <CH>Nome <G>- Dá/Remove admin para alguém"},
  332.         [6] = {"Agradecimentos Especiais","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  333.     },
  334.     hints = {
  335.         [1] = "NÃO se esqueça de ATIVAR os efeitos especiais (Nas opções, ao lado do Café, a 7ª opção)!",
  336.     },
  337.     other = {
  338.         close = "Fechar",
  339.         powers_textformat = "<J>Tipo: <N>%s\n<J>Nível: <N>%s\n<BV>Usos: <N>%s\n<VP>Ativar: <N>%s\n<R>Dano: <N>%s\n<PS>%s",
  340.         powers_types = {"Defesa","Ataque","Troll","Modo Deus"},
  341.         profile_textformat = "<font color='#%s'><J>Nível</J> %s\n<J>Título:</J> «%s»\n<J>Experiência:</J> %s\n\n<J>Partidas:</J> %s\n<J>Vitórias:</J> %s\n<J>Mortos:</J> %s\n\n<J>Tempo de Jogo:</J> %s\n<J>Proporção do Perfil:</J> %s%%",
  342.     },
  343.     admins = {
  344.         iftrue = "<R>Estatísticas não vão contar se você alterar o nome do bot ou o tempo de jogo.",
  345.         maxroom = "O limite de jogadores foi definido para %s",
  346.         renamed = "%s foi renomeado para %s",
  347.         time = "O tempo padrão foi definido para %s min.",
  348.         notadmin = "%s não é mais um admin!",
  349.         isadmin = "%s agora é um admin!",
  350.     },
  351.     ranking = {
  352.         [1] = {"#Ranking Sala","Mostra o ranking da sala"},
  353.         [2] = {"#Ranking Global","Mostra o ranking do jogo inteiro"},
  354.     },
  355. }
  356. T.es = {
  357.     titles = {
  358.         title = {"Aprendiz","Mago","Profesor","Rebuscador","Maestro","Señor de los Hechizos","Príncipe de los Hechizos","Rey de la Magia","Omnipresente","Omnisciente","Omnipotente","Dios","Alpha & Omega"},
  359.         newlevel = "%s alcanzó el nivel %s",
  360.         unlock = {
  361.             unlocked = "Haz desbloqueado el poder: ",
  362.             title = "<J>%s <G>desbloqueó el título %s«%s»",
  363.             [10] = "<N><I>Agujero de Gusano</I><J> y <CEP><I>Doble Salto</I><J>!",
  364.             [20] = "<J><I>Domo</I> y <CS><I>Hélice</I><J>!",
  365.             [30] = "<J><I>Relámpago</I>!",
  366.             [40] = "<ROSE><I>Supernova</I><J>!",
  367.             [50] = "<VP><I>Aplastamiento de Hulk</I><J> y <R><I>Abrazo de la Muerte</I><J>!",
  368.             [60] = "<VI><I>Anomalía</I><J>!",
  369.             [70] = "<BV><I>Rayo de la muerte</I><J>!",     
  370.         },     
  371.     },
  372.     powers = {
  373.         [1] = {"Velocidad Luz",{"← ←","→ →"},"Te teletransporta 250px en la dirección elegida"},
  374.         [2] = {"Rayo",{"Tecla <U>Espacio</U>"},"Dispara un rayo láser"},
  375.         [3] = {"Agujero de gusano",{"↑↓","↓↑"},"Te teletransporta 200px en tu dirección"},
  376.         [4] = {"Doble salto",{"↑↑"},"Te prooca un doble salto"},
  377.         [5] = {"Domo",{"Emoción Facepalm ","<I>PROTECTOS</I> en el chat"},"Crea un gran domo"},
  378.         [6] = {"Hélice",{"Tecla <U>SHIFT</U>"},"Te mueve diagonalmente"},
  379.         [7] = {"Relámpago",{"Mouse (Clic)"},"Invoca un Relámpago"},
  380.         [8] = {"Supernova",{"Tecla <U>CTRL</U>"},"Crea una gran Supernova"},
  381.         [9] = {"Aplastamiento de Hulk",{"↓↓"},"Crea una animación del aplastamiento real de Hulk"},
  382.         [10] = {"Abrazo de la muerte",{"Emoción del abrazo"},"Mata a quien te abrace"},
  383.         [11] = {"Anomalía",{"<I>ANOMALY</I> en el chat ((Tienes que saber, que es muy raro que pase))"},"¡Crea una anomalía dentro de juego!"},
  384.         [12] = {"Rayo de la muerte",{"Tecla <U>P</U> 30-40 veces"},"Dispara un poderoso rayo"},
  385.     },
  386.     botMessages = {
  387.         welcome = "<BV>Bienvenido a <CH>#%s<BV>. ¡Escribe <CH>!%s<BV> para más información!",
  388.         roomplayers = "<R>¡Para empezar el juego, la sala debe tener por lo menos 2 jugadores!",
  389.         notplayers = "<BV>Por lo menos 6 jugadores son necesarios para que las estadísticas cuenten.",
  390.         alive = "<R>¡Necesitas estar vivo para hacer esto!",
  391.         timernp = "<R>¡Tienes que esperar 100ms para hacer esto!",
  392.         powerlimit = "¡Haz pasado el límite de usos de ese poder! (%s)",
  393.         newtimer = "¡Hemos añadido %s segundos al juego! ¡Disfrútalos!",
  394.         allpowers = "¡Papá Noel tiene un regalo para tí! Si la sala sigue con 3 ratones o menos, ¡Tú vas a poder usar TODOS los poderes!",
  395.         nextmap = "%s será el próximo mapa!",
  396.         wnextmap = "%s no será el próximo mapa",
  397.         anomaly = "<CH>¡LA ANOMALÍA ESTÁ AQUÍ!",
  398.         anomtim = "<R>¡No tuviste suerte y no puedo llamar a la anomalía! :( Espera %s segundos.",
  399.         won = "<J>%s <G>ha ganado la ronda!",
  400.     },
  401.     enables = {
  402.         healthbar = {
  403.             on = "<VP>¡Barra de vida activada!",
  404.             off = "<R>¡Barra de vida desactivada!",
  405.         },
  406.         messages = {
  407.             on = "<VP>¡Mensajes activados!",
  408.             off = "<R>¡Mensajes desactivados!",
  409.         },
  410.         hints = {
  411.             on = "<VP>Anuncios activados!",
  412.             off = "<R>Anuncios desactivados!",
  413.         },
  414.         bot = {
  415.             on = "<VP>Mensajes del bot activadas!",
  416.             off = "<R>Mensajes del bot desactivadas!",
  417.         },
  418.         graphics = {
  419.             on = "<VP>Gráfico: Alto",
  420.             off = "<R>Gráfico: Bajo",
  421.         },
  422.         pw = {
  423.             on = "<VP>Contraseña: %s",
  424.             off = "<R>Contraseña desactivada.",
  425.         },
  426.     },
  427.     help = {
  428.         [1] = {"#%s!","<PT>#%s fue programado e idealizado por Bolodefchoco.\n\n<VP>Tu objetivo en este juego es ser <I>el sobreviviente</I> durante %s minutos usando tus poderes, el juego va a ser guiado por %s!\n\n<R>¡NO te olvides de ACTIVAR los efectos de partículas! (En opciones, después del Café, la séptima opción)."},
  429.         [2] = {"Comandos del chat","<VP>!%s <G>- Muestra el mensaje de ayuda\n<VP>!%s <G>- Muestra toda la información de poderes\n<VP>!%s <G>- Activa/Desactiva la barra de vida\n<VP>!%s <G>- Activa/Desactiva los anuncios\n<VP>!%s <G>- Activar/Desactivar los mensajes del bot\n<VP>!%s <PT>1/2/3/4 <G>- Cambia la posición de la barra de vida\n<VP>!%s <PT>@Code <G>- Carga un mapa (3 jugadores o menos)\n<VP>!%s <PT>ID <G>- Cambia la traducción del juego (Solo para tí)\n<VP>!%s <PT>Jugador <G>- Muestra tu perfil, o el perfil de un jugador específico.\n<VP>!%s <G>- Cambia la calidad del juego.\n<VP>!%s <G>- Abre la tabla de posiciones.\n<VP>!%s <PT>@Code <G>- Verifica si el mapa está en la rotación oficial."},
  430.         [3] = {"Estadísticas","<N>• <J>Nivel <G>- El nivel más alto al que puedes llegar es %s.\n<N>• <J>Título <G>- El título del nivel actual (%s títulos)\n<N>• <J>Experiencia <G>- Calcula cuántos puntos ya tienes y cuántos puntos necesitas para subir de nivel\n<N>• <J>Rondas <G>- Calcula cuántas rondas has jugado\n<N>• <J>Victorias <G>- Calcula cuántas victorias tienes <R>(+%s por victoria o cada 35 minutos)\n<N>• <J>Matanzas <G>- Calcula cuántos ratones has matado\n<N>• <J>Porcentaje del perfil <G>- El porcentaje entre <I>Rondas, Victorias</I> y <I>Matanzas"},
  431.         [4] = {"Mapas","<CEP>Envía tus mapas aquí: %s\n\n<CS>La lista completa de mapas abajo: (%s)\n%s"},
  432.         [5] = {"Admins","<PT>Para crear una sala con administradores, asegúrate de añadir el nombre de usuario luego de algunos números <VP>(/room %s)\n<R>Las estadísticas no contarán si cambias el tiempo de la ronda o poner el máximo de jugadores en menos de 8 jugadores.\n\n<BV>!%s <CH>Número/Texto <G>- Cambia el límite de jugadores en la sala (2-18)\n<BV>!%s <CH>Id <G>- Cambia el nombre del bot\n<BV>!%s <CH>Tiempo <G>- Cambia el tiempo de las rondas\n<BV>!%s <CH>Nombre <G>- Da/Remueve el poder de administrar de alguien"},
  433.         [6] = {"Agradecimientos Especiales","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  434.     },
  435.     hints = {
  436.         [1] = "¡No te olvides de ACTIVAR los efectos de partículas! (En opciones, después del Café, la séptima opción).",
  437.     },
  438.     other = {
  439.         close = "Cerrar",
  440.         powers_textformat = "<J>Tipo: <N>%s\n<J>Nivel: <N>%s\n<BV>Usos: <N>%s\n<VP>Activación: <N>%s\n<R>Daño: <N>%s\n<PS>%s",
  441.         powers_types = {"Defensa","Ataque","Troll","Modo Dios"},
  442.         profile_textformat = "<font color='#%s'><J>Nivel</J> %s\n<J>Título:</J> «%s»\n<J>Experiencia:</J> %s\n\n<J>Rondas:</J> %s\n<J>Victorias:</J> %s\n<J>Matanzas:</J> %s\n\n<J>Tiempo de Juego:</J> %s\n<J>Porcentaje del perfil:</J> %s%%",
  443.     },
  444.     admins = {
  445.         iftrue = "<R>Las estadísticas no contarán si cambias el nombre del bot o el tiempo de la ronda.",
  446.         maxroom = "La cantidad máxima de jugadores se ha cambiado a %s",
  447.         renamed = "%s se ha renombrado a %s",
  448.         time = "El tiempo estándar se ha combiado a %s min.",
  449.         notadmin = "%s ya no es un admin!",
  450.         isadmin = "%s es ahora un admin!",
  451.     },
  452.     ranking = {
  453.         [1] = {"#Ranking Sala","Muestra el ranking de la sala"},
  454.         [2] = {"#Ranking Global","Muestra el ranking de todo el juego"},
  455.     },
  456. }
  457. T.ar = {
  458.     titles={
  459.         title = {"المبتدئ","الساحر","البروفيسور","الباحث","السيد","سيد التعويذات","ملك التعويذات","ملك السحر","في جميع الأماكن","عالم","قادر على كل شيء","المتحكم","ألفا و اوميجا"},
  460.         newlevel = "%s وصل الى المستوى %s",
  461.         unlock = {
  462.             unlocked = "لقد حصلت على القوة: ",
  463.             title = "<J>%s <G>لقد حصل على اللقب %s«%s»",
  464.             [10] = "<N><I>حفرة الدودة</I><J> و <CEP><I>القفزة المضاعفة</I><J>!",
  465.             [20] = "<J><I>القبة</I> و <CS><I>الحلزون</I><J>!",
  466.             [30] = "<J><I>الصاعقة</I>!",
  467.             [40] = "<ROSE><I>سوبر نوفا</I><J>!",
  468.             [50] = "<VP><I>التدمير الضخم</I><J> و <R><I>الحضن القاتل</I><J>!",
  469.             [60] = "<VI><I>الغير طبيعي</I><J>!",
  470.             [70] = "<BV><I>اشعة الموت</I><J>!",       
  471.         },
  472.     },
  473.     powers = {
  474.         [1] = {"سرعة الضوء",{"← ← ","→ →"},"تستطيع التنقل 225 بيكسل في الطريق المحدد"},
  475.         [2] = {"شعاع",{"المفتاح <U>المسطرة</U>"},"تقوم باطلاق شعاع"},
  476.         [3] = {"حفرة الدودة",{"↑↓","↓↑"},"تستطيع التنقل 200 بيكسل في الطريق المحدد"},
  477.         [4] = {"اسوبر نوفا",{"↑↑"},"القفز ضعف مرة"},
  478.         [5] = {"القبة",{"حركة الصفع على الوجه","<I>PROTECTOS</I> في المحادثة العامة"},"تصنع قبة كبيرة"},
  479.         [6] = {"الحلزون",{"المفتاح <U>SHIFT</U>"},"الزيادة في الانحراف"},
  480.         [7] = {"الصاعقة",{"الفأرة (اضغط)"},"استدعاء صاعقة كبيرة"},
  481.         [8] = {"سوبر نوفا",{"المفتاح <U>CTRL</U>"},"تصنع انفجار كبير"},
  482.         [9] = {"التدمير الضخم",{"↓↓"},"يصنع نسخة متحركة من التدمير الضخم"},
  483.         [10] = {"الحضن القاتل",{"حركة الحضن"},"تقتل من تحضن"},
  484.         [11] = {"الغير طبيعي",{"<I>ANOMALY</I> (في المحادثة العامة (يجب ان تعلم ان المبار"},"تقوم بصنع شيء غير طبيعي في اللعبة"},
  485.         [12] = {"الشعاع القاتل",{"المفتاح <U>P</U> مرة 30-40  اضغط لمدة "},"تطلق شعاعا قويا"},
  486.     },
  487.     botMessages={
  488.         welcome = "<BV>اهلا الى <CH>#%s<BV>. اكتب <CH>!%s<BV> لمزيد من المعلومات",
  489.         roomplayers = "<R>لبدأ اللعبة , يجب ان تحتوي الغرفة على اكثر من 2 فأر",
  490.         notplayers = "<BV>يجب ان يكون هناك على الأقل 6 لاعبين ليتم حساب الاحصائيات",
  491.         alive = "<R>يجب ان تكون حي للقيام بذلك",
  492.         timernp = "<R>يجب ان تنتظر 100 ميلي ثانية للقيام بذلك",
  493.         powerlimit = "لقد وصلت الى الحد الأقصى لهذه القوة (%s)",
  494.         newtimer = "%s ثانية تم اضافتها الى هذه المباراة استمتعوا!",
  495.         allpowers = "لقد اعطاك سانتا هدية! اذا بقيت الغرفة 3 فئران او اقل, ستستطيع استعمال جميع القوى!",
  496.         nextmap = "%s ستكون الخريطة التالية!",
  497.         wnextmap = "%s لن تكون الخريطة التالية!",
  498.         anomaly = "<CH>الغير طبيعي هنا!",
  499.         anomtim = "<R>, لم يتم العثور على مباراة و الطلب لم ينجح :( انتظر 10 ثواني ",
  500.         won = "<J>%s <G>فاز بالجولة!",
  501.     },
  502.     enables = {
  503.         healthbar = {
  504.             on = "<VP>تم تفعيل شريط الصحة!",
  505.             off = "<R>تم تعطيل شريط الصحة!",
  506.         },
  507.         messages = {
  508.             on = "<VP>تم تفعيل الرسائل!",
  509.             off = "<R>تم تعطيل الرسائل!",
  510.         },
  511.         hints = {
  512.             on = "<VP>تفعيل النصائح!",
  513.             off = "<R>تعطيل النصائح!",
  514.         },
  515.         bot = {
  516.             on = "<VP>تفعيل رسائل الروبوت!",
  517.             off = "<R>تعطيل رسائل الروبوت!",
  518.         },
  519.         graphics = {
  520.             on = "<VP>جرافيكس: عالي",
  521.             off = "<R>جرافيكس: قليل",
  522.         },
  523.         pw = {
  524.             on = "<VP>كلمة السر: %s",
  525.             off = "<R>تم تعطيل كلمة السر.",
  526.         },
  527.     },
  528.     help = {
  529.         [1] = {"#%s!","<PT>#%s تم صنعها عن طريق اللاعب Bolodefchoco.\n\n<VP>ما عليك فعله في هذه اللعبة الصغيرة هو ان تصبح <I>الناجي</I> خلال %s دقيقة باستخدام جميع قواك, بقيادة %s!\n\n<R>لا تنسى تفعيل عرض المؤثرات الخاصة (في الاعدادات, بالقرب من الكافي, الاختيار السابع في الاعدادات)."},
  530.         [2] = {"اوامر التحدث","<VP>!%s <G>- عرض رسالة المساعدة\n<VP>!%s <G>- عرض جميع معلومات القوى\n<VP>!%s <G>- تفعيل/تعطيل شريط الصحة\n<VP>!%s <G>- تفعيل/تعطيل المساعدات\n<VP>!%s <G>- تفعيل/تعطيل رسائل الروبوت.\n<VP>!%s <PT>1/2/3/4 <G>- تغيير موقع شريط الصحة\n<VP>!%s <PT>@رمز الخارطة <G>- اذا كنت في بيت القبيلة الخاص بك مع 3 فئران او اكثر, تستطيع تفعيل الخارطة (بدون جحر)\n<VP>!%s <PT>ID <G>- تغيير لغة اللعبة الصغيرة (فقط انت)\n<VP>!%s <PT>اسم اللاعب <G>- تعرض الملف الشخصي الخاص بك, او ملف شخصي لاعب محدد.\n<VP>!%s <G>- تغيير جودة اللعبة.\n<VP>!%s <G>- افتح لائحة المراكز.\n<VP>!%s <PT>@رمز <G>- لتأكد وجود الماب في اللعبة الصغيرة."},
  531.         [3] = {"الاحصائيات","<N>• <J>المستوى <G>- اعلى مستوى تستطيع الحصول عليه هو %s.\n<N>• <J>اللقب <G>- اللقب في هذا المستوى (%s الألقاب)\n<N>• <J>المهارة <G>- تقوم بحساب كم نقاط لديك وكم نقاط تلزمك للانتقال الى المستوى التالي\n<N>• <J>الجولات <G>- حساب عدد الجولات التي تم لعبها\n<N>• <J>الفوز <G>- حساب كم فوز قمة بالحصول عليه <R>(+%s لكل فوز او كل 35 دقائق)\n<N>• <J>القتل <G>- حساب عدد الفئران التي قمت بقتلها\n<N>• <J>النسبة للملف الشخصي <G>- النسبة بين <I>الجولات, الفوز</I> و <I>القتل"},
  532.         [4] = {"الخرائط","<CEP>ارسل الخرائط هنا: %s\n\n<CS>جميع الخرائط في هذه اللعبة الصغيرة:\n%s\n%s"},
  533.         [5] = {"المدراء","<PT>>لصناعة غرفة مع مدراء, تأكد من وضع اسمك بعد عدة ارقام <VP>(/room %s)\n<R>الاحصائيات لن تحسب اذا قمت بتغيير توقيت الجولة او وضعت الحد الأقصى لللاعبين في الغرفة  8 لاعبين.\n\n<BV>!%s <CH>رقم/السلسلة <G>- تغيير عدد اللاعبين في الغرفة (3-20)\n<BV>!%s <CH>الاسم الجديد <G>- تغيير اسم الروبوت\n<BV>!%s <CH>الوقت <G>- تغيير توقيقت الجولات\n<BV>!%s <CH>الاسم <G>- اعطاء/ازالة القوى من شخص"},
  534.         [6] = {"شكر خاص لـ","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  535.     },
  536.     hints = {
  537.         [1] = "لا تنسى تفعيل عرض المؤثرات الخاصة (في الاعدادات, بالقرب من الكافي, الاختيار السابع في الاعدادات) لتجاهل الاعلانات,اكتب",
  538.     },
  539.     other={
  540.         close = "إغلاق النافذة",
  541.         powers_textformat = "<J>النوع: <N>%s\n<J>المستوى: <N>%s\n<BV>عدد الاستخدامات: <N>%s\n<VP>تفعيل: <N>%s\n<R>الضرر: <N>%s\n<PS>%s",
  542.         powers_types = {"دفاع","هجوم","المزاح","الخارق"},
  543.         profile_textformat = "<font color='#%s'><J>المستوى</J> %s\n<J>اللقب:</J> «%s»\n<J>المهارة:</J> %s\n\n<J>الجولات:</J> %s\n<J>الفوز:</J> %s\n<J>القتل:</J> %s\n\n<J>وقت اللعب:</J> %s\n<J>الملف الشخصي النسبة:</J> %s%%",
  544.     },
  545.     admins = {
  546.         iftrue = "<R>الاحصائيات لن تحسب اذا غيرة توقيت الغرفة او اسم الروبوت.",
  547.         maxroom = "تم تغيير الحد الأقصى لللاعبين الى %s",
  548.         renamed = "%s تم تغيير الاسم الى %s",
  549.         time = "التوقيت العادي تم وضعه خلال %s دقيقة.",
  550.         notadmin = "%s لم يعد مديرا!",
  551.         isadmin = "%s اصبح مديرا!",
  552.     },
  553.     ranking = {
  554.         [1] = {"#لائحة المراكز في الغرفة","تظهر المراكز في الغرفة"},
  555.         [2] = {"#لائحة المراكز العالمية","تزهر المراكز الخاصة بالعالم"},
  556.     },
  557. }
  558. T.nl = {
  559.     titles = {
  560.         title = {"Leerling","Tovenaar","Professor","Onderzoeker","Meester","Lord van de Spreuken","Prins van de Spreuken","Koning van Magie","Alomtegenwoordig","Alwetend","Almachtig","God","Alpha & Omega"},
  561.         newlevel = "%s haalde level %s",
  562.         unlock = {
  563.             unlocked = "Je ontvangt de power: ",
  564.             title = "<J>%s <G>heeft net power ontvangen %s«%s»",
  565.             [10] = "<N><I>Tijdreizen</I><J> en <CEP><I>Dubbele Sprong</I><J>!",
  566.             [20] = "<J><I>Koepel</I> en <CS><I>Helix</I><J>!",
  567.             [30] = "<J><I>Lichtstraal</I>!",
  568.             [40] = "<ROSE><I>Supernova</I><J>!",
  569.             [50] = "<VP><I>Hulk Verplettering</I><J> en <R><I>Knuffeldood</I><J>!",
  570.             [60] = "<VI><I>Gekte</I><J>!",
  571.             [70] = "<BV><I>Dodenstraal</I><J>!",       
  572.         },
  573.     },
  574.     powers = {
  575.         [1] = {"Lichtstraal",{"← ←","→ →"},"Zorgt ervoor dat je 255x in de gekozen richting wordt geteleport"},
  576.         [2] = {"Straal",{"Key <U>Spatie</U>"},"Schiet een ray laser"},
  577.         [3] = {"Tijdreizen",{"↑↓","↓↑"},"Zorgt ervoor dat je 200px in je richting wordt geteleporteerd"},
  578.         [4] = {"Dubbele Sprong",{"↑↑"},"Hiermee kun je een dubbele sprong doen."},
  579.         [5] = {"Koepel",{"Facepalm Emotie","<I>PROTECTOS</I> on chat"},"Maakt een grote koepel"},
  580.         [6] = {"Helix",{"Key <U>SHIFT</U>"},"Boosts je diagonaal"},
  581.         [7] = {"Lichtstraal",{"Muis (Click)"},"Schiet een krachtige Straal"},
  582.         [8] = {"Supernova",{"Key <U>CTRL</U>"},"Maakt een grote Supernova"},
  583.         [9] = {"Hulk Verplettering",{"↓↓"},"Maakt een animatie van de originele Hulk Verplettering"},
  584.         [10] = {"Knuffeldood",{"Knuffel Emotie"},"Iedereen die jou knuffelt, gaat dood."},
  585.         [11] = {"Gekte",{"<I>ANOMALY</I> in de chat (Je moet weten dat de match zelden succesvol is)"},"Maakt een Gekte in het spel!"},
  586.         [12] = {"Dodenstraal",{"Sleutel <U>P</U> voor 30-40 keer"},"Schiet een krachtige straal"},
  587.     },
  588.     botMessages = {
  589.         welcome = "<BV>Welkom bij <CH>#%s<BV>. Type <CH>!%s<BV> voor meer informatie!",
  590.         roomplayers = "<R>Om het spel te starten, moet de kamer ten minste 2 spelers hebben!",
  591.         notplayers = "<BV>Ten minste 6 spelers zijn nodig, om de stats mee te laten tellen.",
  592.         alive = "<R>Je moet leven om dit te kunnen doen!",
  593.         timernp = "<R>Je moet %sms wachten om dit te kunnen doen!",
  594.         powerlimit = "Je hebt de limit bereikt om deze power te gebruiken! (%s)",
  595.         newtimer = "%s secondes zijn toegevoegd aan de ronde! Veel plezier!",
  596.         allpowers = "De Kerstman gaf je een cadeau! Als de kamer met 3 of minder spelers blijft, zul je alle powers kunnen gebruiken!",
  597.         nextmap = "%s zal de volgende map worden!",
  598.         wnextmap = "%s zal de volgende map niet worden!",
  599.         anomaly = "<CH>DE GEKTE IS HIER!",
  600.         anomtim = "<R>De match was niet gevonden en de aanvraag was niet succesvol! :( Wacht %s secondes.",
  601.         won = "<J>%s <G>heeft de ronde gewonnen!",
  602.     },
  603.     enables = {
  604.         healthbar = {
  605.             on = "<VP>Gezondheidsbalk ingeschakeld!",
  606.             off = "<R>Gezondheidsbalk uitgeschakeld!",
  607.         },
  608.         messages = {
  609.             on = "<VP>Berichten ingeschakeld!",
  610.             off = "<R>Berichten uitgeschakeld!",
  611.         },
  612.         hints = {
  613.             on = "<VP>Hints ingeschakeld!",
  614.             off = "<R>Hints uitgeschakeld!",
  615.         },
  616.         bot = {
  617.             on = "<VP>Bot berichten ingeschakeld!",
  618.             off = "<R>Bot Berichten uitgeschakeld!",
  619.         },
  620.         graphics = {
  621.             on = "<VP>Grafisch: Hoog",
  622.             off = "<R>Grafisch: Laag",
  623.         },
  624.         pw = {
  625.             on = "<VP>Wachtwoord: %s",
  626.             off = "<R>Wachtwoord uitgeschakeld.",
  627.         },
  628.     },
  629.     help = {
  630.         [1] = {"#%s!","<PT>#%s werd ontwikkeld en geïdealiseerd door Bolodefchoco.\n\n<VP>Je doel in deze minigame is om als <I>de overlevende</I> gedurende %s minuten al je powers te gebruiken. Je wordt geleid door %s!\n\n<R>Vergeet NIET om de special effects AAN te zetten (In opties, naast het Café, de 7e optie)."},
  631.         [2] = {"Chat Commando's","<VP>!%s <G>- Laat het HELP bericht zien\n<VP>!%s <G>- Laat alle Power informatie zien\n<VP>!%s <G>- Schakelt de gezondheidsbalk aan of uit\n<VP>!%s <G>- Schakelt de hints aan of uit\n<VP>!%s <G>- Schakelt de berichten aan of uit\n<VP>!%s <PT>1/2/3/4 <G>- Verandert de gezondheidsbalk\n<VP>!%s <PT>@Code <G>- Laadt een map (3 muizen of minder)\n<VP>!%s <PT>ID <G>- Verandert de taal in het spel (Voor jou, alleen)\n<VP>!%s <PT>SpelerNaam <G>- Toont je profiel, of het profiel van een specifieke speler.\n<VP>!%s <G>- Verandert de kwaliteit van het spel.\n<VP>!%s <G>- Opent de leaderboard.\n<VP>!%s <PT>@Code <G>- Controleert of de map in de officiële rotatie is."},
  632.         [3] = {"Stats","<N>• <J>Level <G>- De hoogste level die je kunt behalen is %s.\n<N>• <J>Titel <G>- De titel van je huidige level (%s titels)\n<N>• <J>Ervaring <G>- Rekent uit hoeveel punten je hebt en hoeveel punten je nodig hebt om level up te komen\n<N>• <J>Rondes <G>- Rekent uit hoeveel rondes je hebt gespeeld\n<N>• <J>Overwinningen <G>- Rekent uit hoevaak je hebt gewonnen <R>(+%s per win of elke 35 minuten)\n<N>• <J>Gedood <G>- Rekent uit hoeveel muizen je hebt gedood\n<N>• <J>Profiel Ratio <G>- De ratio tussen <I>Rondes, Wins</I> en <I>Gedood"},
  633.         [4] = {"Maps","<CEP>Stuurt je map hierin: %s\n\n<CS>De complete maplijst hieronder: (%s)\n%s"},
  634.         [5] = {"Admins","<PT>Om een kamer te maken met een admin, zorg ervoor om de gebruikersnaam toe te voegen achter wat nummers <VP>(/room %s)\n<R>Stats tellen niet mee, als je de tijd van een ronde aanpast als je de maximale spelersaantal veranderd naar minder dan 8 in de kamer.\n\n<BV>!%s <CH>Nummer/String <G>- Verandert het limiet aan muizen in de kamer (2-18)\n<BV>!%s <CH>Id <G>- Verandert de naam van de bot\n<BV>!%s <CH>Tijd <G>- Verandert de tijd van de ronde\n<BV>!%s <CH>Naam <G>- Maak/verwijder iemand als admin"},
  635.         [6] = {"Speciale Dank","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  636.     },
  637.     hints = {
  638.         [1] = "Vergeet NIET om de special Effects in te schakelen (In opties, naast het Café, de 7e optie).",
  639.     },
  640.     other = {
  641.         close = "Sluit",
  642.         powers_textformat = "<J>Type: <N>%s\n<J>Level: <N>%s\n<BV>Gebruikt: <N>%s\n<VP>Activeer: <N>%s\n<R>Beschadigd: <N>%s\n<PS>%s",
  643.         powers_types = {"Verdedigen","Aanvallen","Troll","God Mode"},
  644.         profile_textformat = "<font color='#%s'><J>Level</J> %s\n<J>Titel:</J> «%s»\n<J>Ervaring:</J> %s\n\n<J>Rondes:</J> %s\n<J>Wins:</J> %s\n<J>Gedood:</J> %s\n\n<J>Gespeelde Tijd:</J> %s\n<J>Profiel Ratio:</J> %s%%",
  645.     },
  646.     admins = {
  647.         iftrue = "<R>Stats zullen niet tellen, als je de botName of de tijd van de ronde veranderd.",
  648.         maxroom = "De limit van spelers is veranderd naar %s",
  649.         renamed = "%s is hernoemd naar %s",
  650.         time = "De standaard tijd is veranderd naar %s min.",
  651.         notadmin = "%s is niet langer een admin!",
  652.         isadmin = "%s is nu een admin!",
  653.     },
  654.     ranking = {
  655.         [1] = {"#Kamer Leaderboard","Toont de ranking van de kamer"},
  656.         [2] = {"#Globale Leaderboard","Toont de ranking van het hele spel"},
  657.     },
  658. }
  659. T.pl = {
  660.     titles = {
  661.         title = {"Uczeń","Czarodziej","Profesor","Badacz","Mistrz","Władca Zaklęć","Książe Zaklęć","Król Magii","Wszechobecny","Wszechwiedzący","Wszechpotężny","Bóg","Alfa i Omega"},
  662.         newlevel = "%s osiągnął poziom %s",
  663.         unlock = {
  664.             unlocked = "Właśnie odblokowałeś nową moc: ",
  665.             title = "<J>%s <G>właśnie odblokował tytuł %s«%s»",
  666.             [10] = "<N><I>Czarna Dziura</I><J> i <CEP><I>Podwójny Skok</I><J>!",
  667.             [20] = "<J><I>Kopuła</I> i <CS><I>Helisa</I><J>!",
  668.             [30] = "<J><I>Błyskawica</I>!",
  669.             [40] = "<ROSE><I>Supernowa</I><J>!",
  670.             [50] = "<VP><I>Hulk Miażdzyć</I><J> and <R><I>Zabójczy Uścisk</I><J>!",
  671.             [60] = "<VI><I>Anomalia</I><J>!",
  672.             [70] = "<BV><I>Promień Śmierci</I><J>!",     
  673.         },
  674.     },
  675.     powers = {
  676.         [1] = {"Nadprędkość",{"← ←","→ →"},"Sprawia, że teleportujesz się 255 pikseli w wybranym kierunku"},
  677.         [2] = {"Promień",{"Klawisz <U>Spacji</U>"},"Wystrzeliwujesz promień lasera"},
  678.         [3] = {"Czarna Dziura",{"↑↓","↓↑"},"Sprawia, że teleportujesz się 200 pikseli w wybranym kierunku"},
  679.         [4] = {"Podwójny Skok",{"↑↑"},"Pozwala skoczyć drugi raz"},
  680.         [5] = {"Kopuła",{"Emotikona \"Facepalm\"","<I>PROTECTOS</I> na czacie"},"Tworzy dużą kopułę"},
  681.         [6] = {"Helisa",{"Klawisz <U>SHIFT</U>"},"Przyśpiesza Cię po przekątnej"},
  682.         [7] = {"Błyskawica",{"Kliknięcię myszką"},"Przywołuję wielką Błyskawicę"},
  683.         [8] = {"Supernowa",{"Key <U>CTRL</U>"},"Tworzy dużą Supernowę"},
  684.         [9] = {"Hulk Miażdzyć",{"↓↓"},"Tworzy animację oryginalnego \"Hulk Miażdzyć\""},
  685.         [10] = {"Zabójczy Uścisk",{"Emotikona Przytulenia"},"Zabija każdego, kto Cię przytuli"},
  686.         [11] = {"Anomalia",{"<I>ANOMALY</I> na czacie (Musisz wiedzieć, że gra żadko będzie udana)"},"Tworzy Anomalię w grze!"},
  687.         [12] = {"Promień Śmierci",{"Klawisz<U>P</U> 30-40 razy"},"Wystrzeliwuje potężny promień."},
  688.     },
  689.     botMessages = {
  690.         welcome = "<BV>Witaj w <CH>#%s<BV>. Wpisz <CH>!%s<BV>, aby dowiedzieć się więcej!",
  691.         roomplayers = "<R>Aby zacząć grę, w pokoju musi być przynajmniej 2 graczy!",
  692.         notplayers = "<BV>Musi być przynajmniej 6 graczy, aby naliczane były statystyki.",
  693.         alive = "<R>Aby to zrobić, musisz być żywy!",
  694.         timernp = "<R>Musisz poczekać %s milisekund, aby to zrobić!",
  695.         powerlimit = "Osiągnąłeś limit użyć danej mocy! (%s)",
  696.         newtimer = "Do rundy zostało dodanych %s sekund! Miłej gry!",
  697.         allpowers = "Święty Mikołaj dał Ci prezent! Jeśli w pokoju będzie 3 myszy lub mniej, będziesz mógł użyć WSZYSTKICH mocy!",
  698.         nextmap = "%s będzie następną mapą!",
  699.         wnextmap = "%s nie będzie następną mapą!",
  700.         anomaly = "<CH>ANOMALIA NADESZŁA!",
  701.         anomtim = "<R>Gra nie została odnaleziona, a proźba została odrzucona! :( Zaczekaj %s sekund.",
  702.         won = "<J>%s <G>wygrał rundę!",
  703.     },
  704.     enables = {
  705.         healthbar = {
  706.             on = "<VP>Pasek życia włączony!",
  707.             off = "<R>Pasek życia wyłączony!",
  708.         },
  709.         messages = {
  710.             on = "<VP>Wiadomości włączone!",
  711.             off = "<R>Wiadomości wyłączone!",
  712.         },
  713.         hints = {
  714.             on = "<VP>Wskazówki włączone!",
  715.             off = "<R>Wskazówki wyłączone!",
  716.         },
  717.         bot = {
  718.             on = "<VP>Wiadomości bota włączone!",
  719.             off = "<R>Wiadomości bota wyłączone!",
  720.         },
  721.         graphics = {
  722.             on = "<VP>Grafika: Wysoka",
  723.             off = "<R>Grafika: Niska",
  724.         },
  725.         pw = {
  726.             on = "<VP>Hasło: %s",
  727.             off = "<R>Hasło wyłączone.",
  728.         },
  729.     },
  730.     help = {
  731.         [1] = {"#%s!","<PT>#%s została was stworzona przez Bolodefchoco.\n\n<VP>W tej minigrze twoim celem jest zostanie <I>ocalałym</I> podczas %s minut używając wszystkich swoich mocy, kierując się pomocą %s!\n\n<R>Nie zapomnij WŁĄCZYĆ efektów cząsteczkowych (W opcjach obok Café, 7 opcja)."},
  732.         [2] = {"Komendy Czatu","<VP>!%s <G>- Wyświetla wiadomość Pomocy\n<VP>!%s <G>- Wyświetla informacje o wszystkich mocach\n<VP>!%s <G>- Aktywuje/Dezaktywuje pasek życia\n<VP>!%s <G>- Aktywuje/Dezaktywuje wskazówki\n<VP>!%s <G>- Aktywuje/Dezaktywuje wiadomości bota.\n<VP>!%s <PT>1/2/3/4 <G>- zmienia pozycje paska życia\n<VP>!%s <PT>@Kod <G>- Ładuje mapę (3 lub mniej mysz)\n<VP>!%s <PT>ID <G>- Zmienia język gry (Tylko tobie)\n<VP>!%s <PT>Nazwa_Gracza <G>- Wyświetla twój profi, lub profil określonego gracza.\n<VP>!%s <G>- Zmienia jakość gry.\n<VP>!%s <G>- Otwiera ranking.\n<VP>!%s <PT>@Kod <G>- Sprawdza, czy mapa jest w oficjalnej rotacji."},
  733.         [3] = {"Statystyki","<N>• <J>Poziom <G>- Najwyższy poziom jaki możesz osiągnąć to %s\n<N>• <J>Tytuł <G>- Tytuł danego poziomu (%s tytułów)\n<N>• <J>Doświadczenie <G>- Pokazuje ile punktów posiadasz, a także ile ci brakuje do następnego poziomu\n<N>• <J>Rundy <G>- Pokazuje ile rund rozegrałeś\n<N>• <J>Wygrane <G>- Pokazuje ile zwycięstw masz na swoim koncie<R>(+%s za zwycięstwo lub co 10 minut)\n<N>• <J>Zabójstwa <G>- Pokazuje ile myszy zabiłeś\n<N>• <J>Współczynnik profilu <G>- Stosunek między <I>Rundami, Wygranymi,</I> a <I>Zabójstwami"},
  734.         [4] = {"Mapy","<CEP>Wysślij swoje mapy tu: %s\n\n<CS>Kompletna lista map poniżej: (%s)\n%s"},
  735.         [5] = {"Administratorzy","<PT>Aby stworzyć pokój z administratorami, dodaj swoją nazwę użytkownika po dowolnej liczbie <VP>(/room %s)\n<R> Statystyki nie będą naliczane jeśli zmienisz czas rundy lub ustawisz maksymalną liczbę graczy na 8 lub mniej\n\n<BV>!%s <CH>Liczba <G>- Zmienia limit graczy w pokoju (2-18)\n<BV>!%s <CH>Nazwa <G>- Zmienia nazwę bota\n<BV>!%s <CH>Czas <G>- Zmienia czas trwania rund\n<BV>!%s <CH>Nazwa <G>- Daje/Usuwa uprawnienia administratora z wybranej osoby."},
  736.         [6] = {"Specjalne podziękowania","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  737.     },
  738.     hints = {
  739.         [1] = "Nie zapomnij WŁĄCZYĆ efektów cząsteczkowych (W opcjach obok Café, 7 opcja).",
  740.     },
  741.     other = {
  742.         close = "Zamknij",
  743.         powers_textformat = "<J>Typ: <N>%s\n<J>Poziom: <N>%s\n<BV>Użyć: <N>%s\n<VP>Aktywacja: <N>%s\n<R>Obrażenia: <N>%s\n<PS>%s",
  744.         powers_types = {"Obrona","Atak","Troll","Tryb Boski"},
  745.         profile_textformat = "<font color='#%s'><J>Poziom</J> %s\n<J>Tytuł:</J> «%s»\n<J>Doświadczenie:</J> %s\n\n<J>Rundy:</J> %s\n<J>Wygrane:</J> %s\n<J>Zabójstwa:</J> %s\n\n<J>Czas Gry:</J> %s\n<J>Współczynnik profilu:</J> %s%%",
  746.     },
  747.     admins = {
  748.         iftrue = "<R>Statystyki nie będą naliczane, jeśli zmienisz nazwę Bota lub czas trwania rundy.",
  749.         maxroom = "Limit graczy został ustawiony na %s",
  750.         renamed = "Nazwa %s została zmieniona na %s",
  751.         time = "Czas został zmieniony na %s minut",
  752.         notadmin = "%s nie ma już uprawnień administratora!",
  753.         isadmin = "%s ma od teraz uprawnienia administratora!",
  754.     },
  755.     ranking = {
  756.         [1] = {"#Ranking Pokoju","Wyświetla ranking pokoju"},
  757.         [2] = {"#Ranking Globalny","Wyświetla ranking gry"},
  758.     },
  759. }
  760. T.fr = {
  761.     titles = {
  762.         title = {"Apprenti","Sorcier","Professeur","Chercheur","Maitre","Seigneur","Prince","Roi","Omnipresent","Omniscient","Omnipotent","Dieu","Alpha & Omega"},
  763.         newlevel = "%s a atteint le level %s",
  764.         unlock = {
  765.             unlocked = "Vous venez de débloquer le pouvoir : ",
  766.             title = "<J>%s <G>jvient de débloquer le titre %s«%s»",
  767.             [10] = "<N><I>Wormhole</I><J> et <CEP><I>double-saut</I><J>!",
  768.             [20] = "<J><I>Dôme</I> et <CS><I>Helix</I><J>!",
  769.             [30] = "<J><I>Éclair</I>!",
  770.             [40] = "<ROSE><I>Supernova</I><J>!",
  771.             [50] = "<VP><I>Hulk Smash</I><J> et <R><I>Death Hug</I><J>!",
  772.             [60] = "<VI><I>Anomalie</I><J>!",
  773.             [70] = "<BV><I>Rayon de la mort</I><J>!",      
  774.         },
  775.     },
  776.     powers = {
  777.         [1] = {"Propulsion",{"← ←","→ →"},"Te propulse à 255px dans la direction choisie"},
  778.         [2] = {"Rayon",{"Barre d'<U>espace</U>"},"Tire un rayon laser"},
  779.         [3] = {"Wormhole",{"↑↓","↓↑"},"Te propulse à 200px dans ta direction"},
  780.         [4] = {"Double-saut",{"↑↑"},"Active le double-saut"},
  781.         [5] = {"Dôme",{"Emote facepalm","Écrire <I>PROTECTOS</I> dans le tchat"},"Crée un grand dôme"},
  782.         [6] = {"Helix",{"Touche <U>SHIFT</U>"},"Te propulse en diagonal"},
  783.         [7] = {"Éclair",{"Souris (Clic)"},"Invoque un bel éclair"},
  784.         [8] = {"Supernova",{"Touche <U>CTRL</U>"},"Crée une grande Supernova"},
  785.         [9] = {"Hulk Smash",{"↓↓"},"Produit une animation Hulk Smash"},
  786.         [10] = {"Calin de la mort",{"Emote câlin"},"Tue ceux qui te font un câlin"},
  787.         [11] = {"Anomalie",{"Écrire <I>ANOMALY</I> dans le tchat (fonctionne rarement)"},"Crée une anomalie dans le jeu"},
  788.         [12] = {"Rayon de la mort",{"Touche <U>P</U> 30 à 40 fois"},"Tire un rayon très puissant"},
  789.     },
  790.     botMessages = {
  791.         welcome = "<BV>Bienvenue sur le module <CH>#%s<BV>. Utilise la commande <CH>!%s<BV> pour plus d'informations !",
  792.         roomplayers = "<R>Pour commencer une partie, le salon doit contenir au moins deux joueurs !",
  793.         notplayers = "<BV>Six joueurs minimum sont requis pour la comptabilisation des statistiques.",
  794.         alive = "<R>Vous ne pouvez pas faire ça : vous êtes mort !",
  795.         timernp = "<R>Vous devez attendre %sms pour pouvoir faire ça.",
  796.         powerlimit = "Vous avez atteint la limite d'utilisation de cette compétence. (%s)",
  797.         newtimer = "%s secondes ont été ajoutées à cette partie. Amusez-vous bien !",
  798.         allpowers = "Le Père Noël vous a offert un cadeau ! Tant que le salon ne dépasse pas le nombre de trois souris présentes, vous pouvez utiliser TOUS les pouvoirs !",
  799.         nextmap = "%s sera la prochaine carte.",
  800.         wnextmap = "%s ne sera pas la prochaine carte.",
  801.         anomaly = "<CH>Virus informatique o/",
  802.         anomtim = "<R>Oups, ça n'a pas matché! :( Attendez %s secondes.",
  803.         won = "<J>%s <G>remporte la partie !",
  804.     },
  805.     enables = {
  806.         healthbar = {
  807.             on = "<VP>Barre de vie activée.",
  808.             off = "<R>Barre de vie désactivée.",
  809.         },
  810.         messages = {
  811.             on = "<VP>Messages activés.",
  812.             off = "<R>Messages désactivés.",
  813.         },
  814.         hints = {
  815.             on = "<VP>Hints enabled!",
  816.             off = "<R>Hints disabled!",
  817.         },
  818.         bot = {
  819.             on = "<VP>Bot activé.",
  820.             off = "<R>Bot désactivé.",
  821.         },
  822.         graphics = {
  823.             on = "<VP>Qualité : haute",
  824.             off = "<R>Qualité : basse",
  825.         },
  826.         pw = {
  827.             on = "<VP>Mot de passe : %s",
  828.             off = "<R>Mot de passe retiré.",
  829.         },
  830.     },
  831.     help = {
  832.         [1] = {"#%s!","<PT>#%s a été développé par Bolodefchoco.\n\n<VP>Votre objectif, dans ce minijeu, est de rester <I>en vie</I> durant %s minutes en utilisant les pouvoirs à votre disposition, vous serez guider par %s !\n\n<R>N'OUBLIE pas d'activer TOUTES les particules (dans l'onglet option, après l'icône du Café, le 7ème boutton)."},
  833.         [2] = {"Commandes","<VP>!%s <G>- Affiche la page d'AIDE\n<VP>!%s <G>- Affiche les informations pour chaque pouvoir\n<VP>!%s <G>- Active/désactive la barre de vie\n<VP>!%s <G>- Active/désactive les conseils\n<VP>!%s <G>- Active/désactive les messages du bot.\n<VP>!%s <PT>1/2/3/4 <G>- Change la position de la bar de vie\n<VP>!%s <PT>@Code <G>- Charge une carte (3 souris ou moins)\n<VP>!%s <PT>ID <G>- Change la langue du jeu (pour vous seulement)\n<VP>!%s <PT>pseudonyme <G>- Affiche votre profil, ou celui du joueur mentionné\n<VP>!%s <G>- Change la qualité du jeu\n<VP>!%s <G>- Ouvre le classement\n<VP>!%s <PT>@Code <G>- Vérifie si la carte est dans la rotation officielle"},
  834.         [3] = {"Statistiques","<N>• <J>Niveau <G>- Le plus haut niveau que vous pouvez atteindre est %s\n<N>• <J>Titre <G>- Le titre correspondant au niveau actuel (%s titles)\n<N>• <J>Éxperience <G>- Nombre de points d'expérience que vous avez et combien il vous en manque pour monter de niveau\n<N>• <J>Parties <G>- Nombre de parties jouées\n<N>• <J>Victoires <G>- Nombre de victoires <R>(+%s par victoire ou toutes les 35 minutes)\n<N>• <J>Souris tués <G>- Nombre de souris tués par vos soins\n<N>• <J>Ratio <G>- Le ratio entre nombre de <I>parties, victoires</I> et <I>morts"},
  835.         [4] = {"Cartes","<CEP>Envoyez vos cartes ici : %s\n\n<CS>Liste complète des cartes ci-dessous : (%s)\n%s"},
  836.         [5] = {"Admins","<PT>Pour créer un salon avec des administrateurs, assurez vous d'ajouter dans le nom du salon votre pseudo après une suite de chiffres <VP>(/room %s)\n<R>Les statistiques ne comptent pas si vous changez le temps de jeu ou si le maximum de joueurs dans le salon est fixé en-dessous de 8.\n\n<BV>!%s <CH>Nombre/Mot <G>- Change la limite de joueurs dans le salon (2-18)\n<BV>!%s <CH>Id <G>- Renomme le bot\n<BV>!%s <CH>Temps <G>- Change la durée d'une partie\n<BV>!%s <CH>Nom <G>- Donne ou retire les droits d'administrer le salon au joueur mentionné."},
  837.         [6] = {"Remerciements Spéciaux","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  838.     },
  839.     hints = {
  840.         [1] = "N'OUBLIE pas d'activer les particules (dans le menu option, à droite du Café, 7ème icône).",
  841.     },
  842.     other = {
  843.         close = "Fermer",
  844.         powers_textformat = "<J>Type : <N>%s\n<J>Niveau : <N>%s\n<BV>Utilisations : <N>%s\n<VP>Activation : <N>%s\n<R>Dommages : <N>%s\n<PS>%s",
  845.         powers_types = {"Défense","Attaque","Troll","God Mode"},
  846.         profile_textformat = "<font color='#%s'><J>Niveau</J> %s\n<J>Titre :</J> «%s»\n<J>Experience :</J> %s\n\n<J>Parties jouées :</J> %s\n<J>Victoires :</J> %s\n<J>Souris tués :</J> %s\n\n<J>Temps de jeu :</J> %s\n<J>Ratio :</J> %s%%",
  847.     },
  848.     admins = {
  849.         iftrue = "<R>Les statistiques ne comptent pas si vous changez le nom du bot ou la durée d'une partie.",
  850.         maxroom = "Le salon est limité à %s souris",
  851.         renamed = "%s s'appelle désormais %s",
  852.         time = "Une partie dure dorénavant %s minutes.",
  853.         notadmin = "%s n'est plus administrateur.",
  854.         isadmin = "%s est désormais administrateur.",
  855.     },
  856.     ranking = {
  857.         [1] = {"#Salon","Affiche le classement aux joueurs présents dans le salon"},
  858.         [2] = {"#Global","Affiche le classement général"},
  859.     },
  860. }
  861. T.cz = {
  862.     titles = {
  863.         title = {"Učeň","Kouzelník","Profesor","Badatel","Mistr","Lord Kouzel","Princ Kouzel","Král Magie","Všudypřítomný","Vševědoučí","Všemohoucí","Bůh","Alfa a Omega"},
  864.         newlevel = "%s dosáhl levelu %s",
  865.         unlock = {
  866.             unlocked = "Právě jsi odemkl schopnost: ",
  867.             title = "<J>%s <G>právě odemkl titul %s«%s»",
  868.             [10] = "<N><I>Červí Díra</I><J> a <CEP><I>Dvojitý Skok</I><J>!",
  869.             [20] = "<J><I>Kupole</I> a <CS><I>Spirála</I><J>!",
  870.             [30] = "<J><I>Blesk</I>!",
  871.             [40] = "<ROSE><I>Supernova</I><J>!",
  872.             [50] = "<VP><I>Hulkův Úder</I><J> a <R><I>Smrtící Objetí</I><J>!",
  873.             [60] = "<VI><I>Anomálie</I><J>!",
  874.             [70] = "<BV><I>Paprsek Smrti</I><J>!",     
  875.         },
  876.     },
  877.     powers = {
  878.         [1] = {"Rychlost Světla",{"← ←","→ →"},"Teleportuje tě 255px do zvoleného směru"},
  879.         [2] = {"Paprsek",{"Zmáčknutím <U>Mezerníku</U>"},"Vystřelí paprsek"},
  880.         [3] = {"Červí Díra",{"↑↓","↓↑"},"Teleportuje tě 200px ve tvém směru"},
  881.         [4] = {"Dvojitý Skok",{"↑↑"},"Dovolí ti udělat dvojitý skok"},
  882.         [5] = {"Kupole",{"Facepalm akcí/emocí","<I>PROTECTOS</I> do chatu"},"Vytvoří velkou kupoli"},
  883.         [6] = {"Spirála",{"Zmáčknutím <U>SHIFTU</U>"},"Vystřelí tě diagonálně"},
  884.         [7] = {"Blesk",{"Levým kliknutím"},"Vytvoří blesk"},
  885.         [8] = {"Supernova",{"Zmáčknutím <U>CTRL</U>"},"Vytvoří velkou supernovu"},
  886.         [9] = {"Hulkův Úder",{"↓↓"},"Udělá originální Hulkův Úder"},
  887.         [10] = {"Smrtící Objetí",{"Objímací akcí/emocí"},"Zabije toho,kdo tě obejme"},
  888.         [11] = {"Anomálie",{"Napiš <I>ANOMALY</I> do chatu (Podaří se to jen vzácně)"},"Vytvoří anomálii!"},
  889.         [12] = {"Paprsek Smrti",{"Zmáčknutím <U>P</U> 30-40 krát"},"Vystřelí silný paprsek"},
  890.     },
  891.     botMessages = {
  892.         welcome = "<BV>Vítej v <CH>#%s<BV>. Napiš <CH>!%s<BV> Pro více informací!",
  893.         roomplayers = "<R>Pro spuštění hry,v místnosti musí být 2 myši!",
  894.         notplayers = "<BV>Minimálně 6 hráčů je potřeba pro počítání skóre.",
  895.         alive = "<R>Musíš být naživu,aby jsi to udělal!",
  896.         timernp = "<R>Musíš počkat %sms aby jsi to udělal!",
  897.         powerlimit = "Dosáhl jsi limitu použití této schopnosti! (%s)",
  898.         newtimer = "%s sekund bylo přidáno! Užijte si!",
  899.         allpowers = "Santa Claus ti dal dárek! Pokud v místnosti budou 3 myši a méně,můžeš použít VŠECHNY schopnosti!",
  900.         nextmap = "%s bude nová mapa!",
  901.         wnextmap = "%s nebude nová mapa!",
  902.         anomaly = "<CH>ANOMÁLIE JE TADY!",
  903.         anomtim = "<R>Nezdařilo se přivolat Anomálii! :( Počkej %s sekund.",
  904.         won = "<J>%s <G>vyhrál kolo!",
  905.     },
  906.     enables = {
  907.         healthbar = {
  908.             on = "<VP>Zdraví zapnuté!",
  909.             off = "<R>Zdraví vypnuté!",
  910.         },
  911.         messages = {
  912.             on = "<VP>Zprávy zapnuté!",
  913.             off = "<R>Zprávy vypnuté!",
  914.         },
  915.         hints = {
  916.             on = "<VP>Nápovědy zapnuté!",
  917.             off = "<R>Nápovědy vypnuté!",
  918.         },
  919.         bot = {
  920.             on = "<VP>Zprávy bota zapnuté!",
  921.             off = "<R>Zprávy bota vypnuté!",
  922.         },
  923.         graphics = {
  924.             on = "<VP>Grafika: Vysoká",
  925.             off = "<R>Grafika: Nízká",
  926.         },
  927.         pw = {
  928.             on = "<VP>Heslo: %s",
  929.             off = "<R>Heslo vypnuto.",
  930.         },
  931.     },
  932.     help = {
  933.         [1] = {"#%s!","<PT>#%s bylo vyrobeno a idealizováno hráčem Bolodefchoco.\n\n<VP>Tvůj cíl v této minihře je být <I>the survivor</I> v %s minutách používáním všech tvých schopností, naváděn %s!\n\n<R>Nezapomeň ZAPNOUT malé efekty (V nastavení, vedle Café, sedmý řádek)."},
  934.         [2] = {"Příkazy","<VP>!%s <G>- Ukáže nápovědu\n<VP>!%s <G>- Ukáže všechny informace o schopnostech\n<VP>!%s <G>- Zapne/Vypne zdraví\n<VP>!%s <G>- Zapne/Vypne nápovědy\n<VP>!%s <G>- Zapne/Vypne botovy zprávy.\n<VP>!%s <PT>1/2/3/4 <G>- Změní pozici,kde se bude ukazovat zdraví\n<VP>!%s <PT>@Code <G>- Načte mapu (3 nebo míň myší)\n<VP>!%s <PT>ID <G>- Změní jazyk hry (Jen pro tebe,ostatní to neuvidí)\n<VP>!%s <PT>PlayerName <G>- Zobrazí tvůj profil, nebo profil specifického hráče.\n<VP>!%s <G>- Změní kvalitu hry.\n<VP>!%s <G>- Otevře tabulku.\n<VP>!%s <PT>@Code <G>- Zkontroluje,jestli je mapa v oficiální rotaci."},
  935.         [3] = {"Statistiky","<N>• <J>Level <G>- Nejvyšší level,kterého můžeš dosáhnout je %s.\n<N>• <J>Titul <G>- Název kola, které je právě hrané (%s titles)\n<N>• <J>Zkušenost <G>- Spočítá kolik bodů právě máš a kolik potřebuješ pro další level\n<N>• <J>Kola <G>- Spočítá,kolik kol jsi hrál\n<N>• <J>Výhry <G>- Spočítá,kolikrát jsi vyhrál <R>(+%s za výhru nebo každých 35 minut)\n<N>• <J>Zabití <G>- Spočítá,kolik myší jsi zabil\n<N>• <J>Profilová hodnota <G>- Hodnota mezi <I>Koly, Vítězstvími</I> and <I>Zabitími"},
  936.         [4] = {"Mapy","<CEP>Pošli své mapy zde: %s\n\n<CS>Kompletní list map: (%s)\n%s"},
  937.         [5] = {"Admini","<PT>Pro vytvoření místnosti, přidej do názvu přezdívku a nějaká čísla <VP>(/room %s)\n<R>Statistiky se nebudou počítat pokud změníš čas kola a nebo nastavíš maximum hráčů v místnosti větší než 8.\n\n<BV>!%s <CH>Number/String <G>- Změní limit hráčů v místnosti (2-18)\n<BV>!%s <CH>Id <G>- Přejmenuje bota\n<BV>!%s <CH>Time <G>- Změní čas kola\n<BV>!%s <CH>Name <G>- Dá/Oddělá někomu adminská práva"},
  938.         [6] = {"Speciální poděkování","<R>Bolodefchoco <N>- CEO + EN Translation + Tradução BR\n<BV>Tocuto<J>eltuco <N>- Traducción ES + Little Code\n<BV>Error<CE>_404 <N>- الترجمة AR + Map evaluation\n<J>Squalleze <N>- Little Code\n<PT>Lukamoii <N>- Ideas\n<CE>Error_404, Ujkos, Kimsterjay, Pratton and Mabste <N>- Map Evaluation\n<BV>Chamelinct <N>- Traducción ES\n<BV>Distances en Kalkoen <N>- NL Translation\n<BV>Aanguson <N>- Tłumacz PL\n<BV>Animjarcanin <N>- Traduction FR\n<BV>Bublamorce <N>- CZ Překl"},
  939.     },
  940.     hints = {
  941.         [1] = "Nezapomeň ZAPNOUT malé efekty (V nastavení, vedle Café, sedmý řádek).",
  942.     },
  943.     other = {
  944.         close = "Zavřít",
  945.         powers_textformat = "<J>Typ: <N>%s\n<J>Level: <N>%s\n<BV>Uses: <N>%s\n<VP>Aktivace: <N>%s\n<R>Síla útoku: <N>%s\n<PS>%s",
  946.         powers_types = {"Obrana","Útok","Trollování","Božský Mód"},
  947.         profile_textformat = "<font color='#%s'><J>Level</J> %s\n<J>Titul:</J> «%s»\n<J>Zkušenost:</J> %s\n\n<J>Kola:</J> %s\n<J>Výhry:</J> %s\n<J>Zabití:</J> %s\n\n<J>Čas hraní:</J> %s\n<J>Profilová hodnota:</J> %s%%",
  948.     },
  949.     admins = {
  950.         iftrue = "<R>Statistiky se nebudou počítat pokud měníš jméno bota nebo čas kola.",
  951.         maxroom = "Limit hráčů byl nastaven na %s",
  952.         renamed = "%s byl přejmenován na %s",
  953.         time = "Čas byl nastaven na %s min.",
  954.         notadmin = "%s už není admin!",
  955.         isadmin = "%s je nyní admin!",
  956.     },
  957.     ranking = {
  958.         [1] = {"#Žebříček Místnosti","Ukáže žebříček místnosti"},
  959.         [2] = {"#Globální Žebříček","Ukáže žebříček celé hry"},
  960.     },
  961. }
  962. T.ro = {
  963.     titles = {
  964.         title = {"Ucenic","Vrăjitor","Profesor","Cercetător","Maestru","Lordul Vrăjiilor","Prințul Vrăjiilor","Regele Magiei","Omniprezent","Atotștiutor","Atotputernic","Zeu","Alpha & Omega"},
  965.         newlevel = "%s a ajuns la nivelul %s",
  966.         unlock = {
  967.             unlocked = "Tocmai ai deblocat puterea: ",
  968.             title = "<J>%s <G>tocmai a deblocat titlul %s«%s»",
  969.             [10] = "<N><I>Gaură de Vierme</I><J> și <CEP><I>Dublu Salt</I><J>!",
  970.             [20] = "<J><I>Cupolă</I> și <CS><I>Helix</I><J>!",
  971.             [30] = "<J><I>Fulger</I>!",
  972.             [40] = "<ROSE><I>Supernova</I><J>!",
  973.             [50] = "<VP><I>Zdrobitura lui Hulk</I><J> și <R><I>Îmbrățișarea Morții</I><J>!",
  974.             [60] = "<VI><I>Anomalie</I><J>!",
  975.             [70] = "<BV><I>Raza Morții</I><J>!",  
  976.         },
  977.     },
  978.     powers = {
  979.         [1] = {"Viteza Luminii",{"← ←","→ →"},"Te teleportează 255px în direcția aleasă"},
  980.         [2] = {"Rază",{"Tasta <U>Space</U>"},"Trage cu o rază laser"},
  981.         [3] = {"Gaură de Vierme",{"↑↓","↓↑"},"Te face să te teleportezi 200px în direcția ta"},
  982.         [4] = {"Dublu Salt",{"↑↑"},"Sari de două ori"},
  983.         [5] = {"Cupolă",{"Emoția Facepalm","<I>PROTECTOS</I> pe chat"},"Creează o mare cupolă"},
  984.         [6] = {"Spirală",{"Tasta <U>SHIFT</U>"},"Te stimulează diagonal"},
  985.         [7] = {"Fulger",{"Mouse (Click)"},"Invocă un mare Fulger"},
  986.         [8] = {"Supernova",{"Tasta <U>CTRL</U>"},"Creează o mare Supernovă"},
  987.         [9] = {"Zdrobitura lui Hulk",{"↓↓"},"Creează o animație a originalei Zdorbitură a lui Hulk"},
  988.         [10] = {"Îmbrățișarea Morții",{"Emoția Îmbrățișării"},"Omoară pe cine imbrățișezi"},
  989.         [11] = {"Anomalie",{"<I>ANOMALY</I> pe chat (Ar trebui să știi că rar se întâmplă să meargă)"},"Creează o Anomalie în joc!"},
  990.         [12] = {"Raza Morții",{"Tasta <U>P</U> de 30-40 de ori"},"Trage cu o rază puternică"},
  991.     },
  992.     botMessages = {
  993.         welcome = "<BV>Bine ai venit <CH>#%s<BV>. Scrie <CH>!%s<BV> pentru mai multe informații!",
  994.         roomplayers = "<R>Pentru a începe jocul, trebuie ca 2 jucătorii să fie pe sală!",
  995.         notplayers = "<BV>Trebuie ca maxim 6 jucătorii să fie pe sală ca statusuriile să se pună.",
  996.         alive = "<R>Trebuie să fii în viață pentru a face asta!",
  997.         timernp = "<R>Trebuie să aștepți %sms să faci asta!",
  998.         powerlimit = "Ai atins limita pentru a folosi această putere! (%s)",
  999.         newtimer = "%s secunde au fost adăugate în runda asta! Distracție plăcută în continuare!",
  1000.         allpowers = "Moș Crăciun are un cadou pentru tine! Dacă în sală rămân 3 șoricei sau mai puțini, vei putea folosi TOATE puteriile!",
  1001.         nextmap = "%s va fii următoarea mapă!",
  1002.         wnextmap = "%s nu va fii următoarea mapă!",
  1003.         anomaly = "<CH>ANOMALIA ESTE AICI!",
  1004.         anomtim = "<R>Potrivirea nu a fost găsită și cererea nu a fost finalizată cu succes :( Așteaptă %s secunde.",
  1005.         won = "<J>%s <G>a câștigat runda!",
  1006.     },
  1007.     enables = {
  1008.         healthbar = {
  1009.             on = "<VP>Bara care afișează sănătatea este activată!",
  1010.             off = "<R>Bara care afișează sănătatea este dezactivată!",
  1011.         },
  1012.         messages = {
  1013.             on = "<VP>Mesajele sunt activate!",
  1014.             off = "<R>Mesajele sunt dezactivate!",
  1015.         },
  1016.         hints = {
  1017.             on = "<VP>Indicii activate!",
  1018.             off = "<R>Indicii dezactivate!",
  1019.         },
  1020.         bot = {
  1021.             on = "<VP>Mesajele bot-ului sunt acum activate!",
  1022.             off = "<R>Mesajele bot-ului sunt acum dezactivate!",
  1023.         },
  1024.         graphics = {
  1025.             on = "<VP>Grafică: Intensă",
  1026.             off = "<R>Grafică: Slabă",
  1027.         },
  1028.         pw = {
  1029.             on = "<VP>Parolă: %s",
  1030.             off = "<R>Parolă dezactivată.",
  1031.         },
  1032.     },
  1033.     help = {
  1034.         [1] = {"#%s!","<PT>#%s a fost realizat și idealiat de Bolodefchoco.\n\n<VP>Scopul tău în acest minigame este să fii <I>supraviețuitorul</I> timp de %s minute folosind toate puteriile tale, fiind ghidat de %s!\n\n<R>NU uita să ACTIVEZI efectul particulelor (În opțiuni, lângă Café, a șaptea opțiune)."},
  1035.         [2] = {"Comenziile Chat-ului","<VP>!%s <G>-Afișează mesajul de ajutor\n<VP>!%s <G>- Afișează toate informațiile despre puteri\n<VP>!%s <G>- Activează/dezactivează bara cu sănătate\n<VP>!%s <G>- Activează/dezactivează indiciile\n<VP>!%s <G>- Activează/dezactivează mesajele bot-ului.\n<VP>!%s <PT>1/2/3/4 <G>- Schimbă poziția barei cu sănătate\n<VP>!%s <PT>@Cod <G>- Încarcă o mapă (3 șoareci sau mai puțin)\n<VP>!%s <PT>ID <G>- Schimbă limba jocului (Doar pentru tine)\n<VP>!%s <PT>NumeleJucătorului <G>- afișează profilul tău, sau alt profil al jucătorului ales.\n<VP>!%s <G>- Schimbă calitatea jocului.\n<VP>!%s <G>- Deschide topul.\n<VP>!%s <PT>@Cod <G>- Verifică dacă mapa este în rotația oficială."},
  1036.         [3] = {"Statistici","<N>• <J>Nivel <G>- Cel mai mare nivel la care poți să ajungi este %s.\n<N>• <J>Titlul <G>- Nivelul al titlului respectiv (%s titluri)\n<N>• <J>Experiență <G>- Calculează câte puncte ai și câte puncte mai ai nevoie să avansezi în nivel\n<N>• <J>Runde <G>- Calculează câte runde ai jucat\n<N>• <J>Câștiguri <G>- Calculează câte victorii ai <R>(+%s pentru victorie sau în fiecare 35 de minute)\n<N>• <J>Ucideri <G>- Calculează câți șoareci ai ucis\n<N>• <J>Raportul Profilului <G>- Raportul este despre <I>Runde, Câștiguri</I> și <I>Ucideri"},
  1037.         [4] = {"Mape","<CEP>Trimite mapa ta pe: %s\n\n<CS>Lista completă a mapelor: (%s)\n%s"},
  1038.         [5] = {"Admini","<PT>Pentru a crea o sală cu admini, fii sigur să adaugi un nume de utilizator după câteva numere <VP>(/sala %s)\n<R>Statisticile nu vor conta dacă schimbii timpul de joc sau dacă setezi limita de jucători sub 8 jucători..\n\n<BV>!%s <CH>Numărul <G>- Schimbă limita de jucători din sală (2-18)\n<BV>!%s <CH>Id <G>- Numește bot-ul\n<BV>!%s <CH>Timp <G>- Schimbă timpul rundelor\n<BV>!%s <CH>Name <G>- Făcând/scoțând statutul de admin al jucătorului ales."},
  1039.         [6] = {"Mulțumiri lui","<BV>Lukamoii - Idealizatorul Titlurilor, Culorilor și puțin Gameplay.\n\nAnimjarcanin, Evilsantah, Jamesqwartz, Podoko, Squirrelmanx, Ultraspeedy, Tweetis - Activarea minijocului în testăriile Beta.\n\nTomdizzy - Reprezentatorul minijocului pentru Pikashu, fiind „gazda” minijocului.."},
  1040.     },
  1041.     hints = {
  1042.         [1] = "NU uita să activezi opțiunea „vezi efectul particulelor” (În setări, lângă Café, a șaptea opțiune.).",
  1043.     },
  1044.     other = {
  1045.         close = "Închide",
  1046.         powers_textformat = "<J>Tip: <N>%s\n<J>Nivel: <N>%s\n<BV>Folosiri: <N>%s\n<VP>Activează: <N>%s\n<R>Daună: <N>%s\n<PS>%s",
  1047.         powers_types = {"Defensiv","Ofensiv","Troll","Modul Zeu"},
  1048.         profile_textformat = "<font color='#%s'><J>Nivelul</J> %s\n<J>Titlul:</J> «%s»\n<J>Experiența:</J> %s\n\n<J>Rundele jucate:</J> %s\n<J>Câștiguri:</J> %s\n<J>Ucideri:</J> %s\n\n<J>Timpul de joc:</J> %s\n<J>Raportul profilului:</J> %s%%",
  1049.     },
  1050.     admins = {
  1051.         iftrue = "<R>Statisticile nu vor conta dacă schimbi botName sau timpul rundei.",
  1052.         maxroom = "Limita jucătoriilor a fost setată la numărul %s",
  1053.         renamed = "%s a fost renumit în %s",
  1054.         time = "Timpul standard a fost setat la %s minute.",
  1055.         notadmin = "%s nu mai este un admin!",
  1056.         isadmin = "%s este acum un admin!",
  1057.     },
  1058.     ranking = {
  1059.         [1] = {"#Topul Sălii","Afișează topul acestei sălii"},
  1060.         [2] = {"#Topul Global","Afișează topul global al minijocului #powers"},
  1061.     },
  1062. }
  1063. T.pt = T.br
  1064. tr=function(t,l1,l2,l3)
  1065.     t = (t and mice[t].community or tfm.get.room.community)
  1066.     t = (T[t] and t or "en")
  1067.     return (l3 and T[t][l1][l2][l3] or l2 and T[t][l1][l2] or l1 and T[t][l1] or "")
  1068. end
  1069. --[[ Remake ]]--
  1070. local chatmsg = tfm.exec.chatMessage
  1071. tfm.exec.chatMessage=function(t,txt,n,d)
  1072.     txt = txt or "";n = n or nil
  1073.     d = d and mice[n].botMessages or not d and true
  1074.     if d then
  1075.         if t == 0 then
  1076.             chatmsg(txt,n)
  1077.         elseif t == 1 then
  1078.             chatmsg(bot:format(txt),n)
  1079.         elseif t == 2 then
  1080.             chatmsg("[•] "..txt,n)
  1081.         elseif t == 3 then
  1082.             chatmsg("[^_^] "..txt,n)
  1083.         end
  1084.     end
  1085. end
  1086. local particle = tfm.exec.displayParticle
  1087. tfm.exec.displayParticle=function(id,x,y,xs,ys,xa,ya,player)
  1088.     xs,ys,xa,ya = xs or 0,ys or 0,xa or 0,ya or 0
  1089.     if not player then
  1090.         for n,p in next,tfm.get.room.playerList do
  1091.             if mice[n] then
  1092.                 if not mice[n].isAfk[1] and not p.isDead then
  1093.                     if math.pythag(p.x,p.y,x,y,(mice[n].graphics and 300 or 250)) then
  1094.                         particle(id,x,y,xs,ys,xa,ya,n)
  1095.                     end
  1096.                 end
  1097.             end
  1098.         end
  1099.     else
  1100.         particle(id,x,y,xs,ys,xa,ya,player)
  1101.     end
  1102. end
  1103. --[[ Settings ]]--
  1104. for _,f in next,{"utoShaman","utoScore","utoNewGame","utoTimeLeft","fkDeath"} do
  1105.     tfm.exec["disableA"..f]()
  1106. end
  1107. tfm.exec.setRoomMaxPlayers(18)
  1108. --[[ Functions ]]--
  1109.     -- Languages
  1110. system.languages=function()
  1111.     local str = {}
  1112.     for language in next,T do
  1113.         str[#str+1]=language:upper()
  1114.     end
  1115.     return table.concat(str," <G>-</G> ")
  1116. end
  1117.     -- Admins
  1118. system.admins=function()
  1119.     if not adminRoom[1] then
  1120.         if isRoom then
  1121.             local name = tfm.get.room.name:match("%*?#"..data.game:lower().."%d+(.*)")
  1122.             local name = string.nick(tostring(name))
  1123.             if tfm.get.room.playerList[name] and not table.find(admins,name) then
  1124.                 adminRoom[1] = true
  1125.                 table.insert(admins,name)
  1126.             end
  1127.         end
  1128.     end
  1129. end
  1130.     -- UI
  1131. ui.smart = function(id,player,alpha,title,text,x,y,w,h,u)
  1132.     id = id or 0
  1133.     player = player or nil
  1134.     alpha,title,text = alpha or 1,title or "",text or ""
  1135.     x,y,w,h = x or 10,y or 15,w or 100,h or 100
  1136.     if mice[player].graphics then
  1137.         ui.addTextArea(id + 0,"",player,x-2,y+18,w+24,h+14,0x2E221B,0x2E221B,alpha,true)
  1138.         ui.addTextArea(id + 1,"",player,x-1,y+19,w+22,h+12,0x986742,0x986742,alpha,true)
  1139.         ui.addTextArea(id + 2,"",player,x+2,y+22,w+16,h+6,0x171311,0x171311,alpha,true)
  1140.         ui.addTextArea(id + 3,"",player,x+3,y+23,w+14,h+4,0x0C191C,0x0C191C,alpha,true)
  1141.         ui.addTextArea(id + 4,"",player,x+4,y+24,w+12,h+2,0x24474D,0x24474D,alpha,true)
  1142.         ui.addTextArea(id + 5,"",player,x+5,y+25,w+10,h,0x183337,0x183337,alpha,true)
  1143.         ui.addTextArea(id + 6,"<p align='center'><font size='15' face='verdana' ><V><B>"..title:upper().."</B></p></font>"..(u and "<R>"..("_"):rep(w/6/2) or "").."<p align='left'><font size='12' /><N>\n"..(u and "\n" or "")..text,player,x+6,y+26,w+8,h-2,0x122528,0x122528,alpha,true)
  1144.         ui.addTextArea(id + 7,"",player,x+15,y+h+5,w-10,15,0x5D7D90,0x5D7D90,alpha,true)
  1145.         ui.addTextArea(id + 8,"",player,x+15,y+h+7,w-10,15,0x11171C,0x11171C,alpha,true)
  1146.         ui.addTextArea(id + 9,"<p align='center'><a href='event:closeUiSmart'><N>"..tr(n,"other","close").."</a>",player,x+15,y+h+6,w-10,15,0x3C5064,0x3C5064,alpha,true)
  1147.     else
  1148.         ui.addTextArea(id + 0,"<p align='center'><font size='15' face='verdana' ><V><B>"..title:upper().."</B></p></font>"..(u and "<R>"..("_"):rep(w/6/2) or "").."<p align='left'><font size='12' /><N>\n"..(u and "\n" or "")..text,player,x+6,y+26,w+8,h-2,0x122528,0x122528,alpha,true)
  1149.         ui.addTextArea(id + 1,"<p align='center'><a href='event:closeUiSmart'><N>"..tr(n,"other","close").."</a>",player,x+15,y+h+6,w-10,15,0x3C5064,0x3C5064,alpha,true)
  1150.     end
  1151. end
  1152. ui.menu=function(id,player,alpha,title,text,x,y,w,h,list,char,char2,u,fixed)
  1153.     x,y,w,h,u,fixed = x or 10,y or 15,w or 100,h or 100,u or false,fixed or true
  1154.     local menutext = ""
  1155.     if list then
  1156.         for k,v in next,list do
  1157.             menutext = menutext .. "<a href='event:"..char.."_"..k.."'>"..(v[1]:format(data.game):lower()==title:lower() and "<J>"..v[1]:format(data.game).."</J>" or v[1]:format(data.game)).."</a>\n"
  1158.         end
  1159.     end
  1160.     if mice[player].graphics then
  1161.         ui.addTextArea(id + 0,"",player,x-2,y+18,w+147,h+14,0x2E221B,0x2E221B,alpha,fixed)
  1162.         ui.addTextArea(id + 1,"",player,x-1,y+19,w+145,h+12,0x986742,0x986742,alpha,fixed)
  1163.         ui.addTextArea(id + 2,"",player,x+2,y+22,w+16,h+6,0x171311,0x171311,alpha,fixed)
  1164.         ui.addTextArea(id + 3,"",player,x+3,y+23,w+14,h+4,0x0C191C,0x0C191C,alpha,fixed)
  1165.         ui.addTextArea(id + 4,"",player,x+4,y+24,w+12,h+2,0x24474D,0x24474D,alpha,fixed)
  1166.         ui.addTextArea(id + 5,"",player,x+5,y+25,w+10,h,0x183337,0x183337,alpha,fixed)
  1167.         ui.addTextArea(id + 6,"<p align='center'><font size='15' face='verdana' ><V><B>"..title:upper().."</B></p></font>"..(u and "<R>"..("_"):rep(w/6/2) or "").."<p align='left'><font size='12' /><N>\n"..(u and "\n" or "")..text,player,x+6,y+26,w+8,h-2,0x122528,0x122528,alpha,fixed)
  1168.         ui.addTextArea(id + 7,"",player,x+15,y+h+5,w-10,15,0x5D7D90,0x5D7D90,alpha,fixed)
  1169.         ui.addTextArea(id + 8,"",player,x+15,y+h+7,w-10,15,0x11171C,0x11171C,alpha,fixed)
  1170.         ui.addTextArea(id + 9,"<B><p align='center'><a href='event:"..char2.."_left'>&lt;&lt;</a>                    <a href='event:close'>"..tr(n,"other","close").."</a>                    <a href='event:"..char2.."_right'>>></a>",player,x+15,y+h+6,w-10,15,0x3C5064,0x3C5064,alpha,fixed)
  1171.         ui.addTextArea(id + 10,"",player,x+381,y+22,w-240,h+6,0x171311,0x171311,alpha,fixed)
  1172.         ui.addTextArea(id + 11,"",player,x+382,y+23,w-242,h+4,0x0C191C,0x0C191C,alpha,fixed)
  1173.         ui.addTextArea(id + 12,"",player,x+383,y+24,w-244,h+2,0x24474D,0x24474D,alpha,fixed)
  1174.         ui.addTextArea(id + 13,"",player,x+384,y+25,w-246,h,0x183337,0x183337,alpha,fixed)
  1175.         ui.addTextArea(id + 14,"<p align='center'>"..menutext,player,x+385,y+26,w-248,h-2,0x122528,0x122528,alpha,fixed)
  1176.     else
  1177.         ui.addTextArea(id + 0,"<p align='center'><font size='15' face='verdana' ><V><B>"..title:upper().."</B></p></font>"..(u and "<R>"..("_"):rep(w/6/2) or "").."<p align='left'><font size='12' /><N>\n"..(u and "\n" or "")..text,player,x+6,y+26,w+8,h-2,0x122528,0x122528,alpha,fixed)
  1178.         ui.addTextArea(id + 1,"<B><p align='center'><a href='event:"..char2.."_left'>&lt;&lt;</a>                    <a href='event:close'>"..tr(n,"other","close").."</a>                    <a href='event:"..char2.."_right'>>></a>",player,x+15,y+h+6,w-10,15,0x3C5064,0x3C5064,alpha,fixed)
  1179.         ui.addTextArea(id + 2,"<p align='center'>"..menutext,player,x+385,y+26,w-248,h-2,0x122528,0x122528,alpha,fixed)
  1180.     end
  1181.     mice[player].nextUiTimer = os.time() + data.uitimer
  1182. end
  1183.     -- Returns the position
  1184. tfm.exec.position=function(n)
  1185.     return tfm.get.room.playerList[n].x,tfm.get.room.playerList[n].y,mice[n].right
  1186. end
  1187.     -- Returns true if x1,y1 is in the circle x2,y2 with range range
  1188. math.pythag=function(x1,y1,x2,y2,range)
  1189.     return ((x1-x2)^2+(y1-y2)^2<range^2)
  1190. end
  1191.     -- Returns the players of the room and the players that are alive
  1192. system.players=function(trdArg)
  1193.     local alive,players,able = {},{},{}
  1194.     for k,v in next,tfm.get.room.playerList do
  1195.         if not v.isDead then
  1196.             alive[#alive+1]=k
  1197.         end
  1198.         if trdArg then
  1199.             if os.time() - v.registrationDate > 432e6 then
  1200.                 able[#able+1]=k
  1201.             end
  1202.         end
  1203.         players[#players+1] = k
  1204.     end
  1205.     return alive,players,able
  1206. end
  1207.     -- Returns true case value is in list
  1208. table.find=function(list,value)
  1209.     local found,keys,times = false,{},0
  1210.     for k,v in next,list do
  1211.         if type(v) ~= "table" then
  1212.             if v == value then
  1213.                 found = true
  1214.                 keys[#keys+1] = k
  1215.                 times = times + 1
  1216.             end
  1217.         else
  1218.             local a,b,c = table.find(v,value)
  1219.             if not found then found = a end
  1220.             if b then table.insert(keys,table.unpack(b)) end
  1221.             if c then times = times + c end
  1222.         end
  1223.     end
  1224.     return found,keys,times
  1225. end
  1226.     -- Remove value from table
  1227. table.destroy=function(list,value)
  1228.     for k,v in next,list do
  1229.         if v == value then
  1230.             table.remove(list,k);break
  1231.         end
  1232.     end
  1233. end
  1234.     -- Color Hex/Ansii
  1235. math.color=function(x)
  1236.     if type(x) == "string" then
  1237.         return tonumber(x,16)
  1238.     elseif type(x) == "number" then
  1239.         return string.format("%x",x)
  1240.     end
  1241. end
  1242.     -- Nick
  1243. string.nick=function(player)
  1244.     return player:lower():gsub('%a',string.upper,1)
  1245. end
  1246.     -- Verify if the game can start
  1247. system.start=function(n)
  1248.     local alive,players = system.players()
  1249.     if #players > 1 then
  1250.         if table.find(alive,n) then
  1251.             if loopTimer>3 and not anomaly and not skip then
  1252.                 if os.time() > mice[n].nPTimer then
  1253.                     return true
  1254.                 else
  1255.                     tfm.exec.chatMessage(1,tr(n,"botMessages","timernp"):format(data.timernp),n,true)
  1256.                 end
  1257.             end
  1258.         else
  1259.             tfm.exec.chatMessage(1,tr(n,"botMessages","alive"),n,true)
  1260.         end
  1261.     else
  1262.         tfm.exec.chatMessage(1,tr(nil,"botMessages","roomplayers"),n,true)
  1263.     end
  1264.     return false
  1265. end
  1266.     -- Life
  1267. system.healthbar=function(n)
  1268.     local position = mice[n].healthbarp
  1269.     local positions = {
  1270.         x = {
  1271.             {5,7,40},
  1272.             {691,693,729},
  1273.         },
  1274.         y = {
  1275.             {28,30,29},
  1276.             {319,321,320},
  1277.         },
  1278.     }
  1279.     local x = (position<3 and positions.x[1] or positions.x[2])
  1280.     local y = (position%2~=0 and positions.y[1] or positions.y[2])
  1281.     ui.addTextArea(0,"",n,x[1],y[1],data.life+4,20,0xc7ced2,1,1,true)
  1282.     if not mice[n].ded and mice[n].graphics then ui.addTextArea(1,"",n,x[2]-1,y[2],math.floor(mice[n].health)+2,16,math.color(mice[n].level[3]),math.color(mice[n].level[3]),1,true) end
  1283.     ui.addTextArea(2,"<B><font color='#0'>"..math.floor(mice[n].health).."%",n,x[3],y[3],50,20,1,1,0,true)
  1284. end
  1285.     -- Add Life
  1286. system.addLife=function(n,p,x,y)
  1287.     if mice[p].health <= 0 then
  1288.         mice[n].health = mice[n].health + 5
  1289.         tfm.exec.displayParticle(15,x,y,0,0,0,0,n)
  1290.         local _,players = system.players()
  1291.         if #players > 5 then
  1292.             mice[n].stats.kills = mice[n].stats.kills + 1
  1293.         end
  1294.     end
  1295. end
  1296.     -- Damage
  1297. system.damage=function(n,x,y,range,damage,right,Y)
  1298.     for p,v in next,tfm.get.room.playerList do
  1299.         if p~=n and not v.isDead then
  1300.             if right ~= nil then
  1301.                 if (right and v.x>x and v.x<x+range) or (not right and v.x<x and v.x>x-range) then
  1302.                     if v.y>y-Y and v.y<y+Y then
  1303.                         mice[p].health = mice[p].health - damage
  1304.                         system.addLife(n,p,x,y)
  1305.                     end
  1306.                 end
  1307.             else
  1308.                 if math.pythag(v.x,v.y,x,y,range) then
  1309.                     mice[p].health = mice[p].health - damage
  1310.                     system.addLife(n,p,x,y)
  1311.                 end
  1312.             end
  1313.         end
  1314.     end
  1315. end
  1316.     -- Add dray bar
  1317. system.draybar=function(n,close)
  1318.     if mice[n].graphics then
  1319.         if close then
  1320.             mice[n].dray = {0,math.random(30,40),0,false}
  1321.             for i = 4,6 do ui.removeTextArea(i,n) end
  1322.         else
  1323.             mice[n].dray[4] = true
  1324.             local percent = math.floor(mice[n].dray[1]/mice[n].dray[2]*100)
  1325.             ui.addTextArea(4,"",n,691,380,103,11,0x2c3e36,1,1,true)
  1326.             ui.addTextArea(5,"", n,692,382,(percent~=percent and 0 or percent),7,0x5EA0D5,0x5EA0D5,1,true)
  1327.             ui.addTextArea(6,tostring(percent):gsub("nan","0").."%",n,691,377,50,20,1,1,0,true)
  1328.         end
  1329.     end
  1330. end
  1331.     -- add menu
  1332. system.addMenu=function(n)
  1333.     local s = mice[n].showhealthbar
  1334.     local p = mice[n].healthbarp
  1335.     local c = {"?","+","!","#"}
  1336.     local x = (p>2 and 800 or -18)
  1337.     for i = 1,#c do
  1338.         local id = i+6
  1339.         local t = c[i]
  1340.         local y = (p%2==0 and 348 or (s and 56 or 30))
  1341.         x = (p<3 and x + 26 or x - 26)
  1342.         ui.addTextArea(id,"<p align='center'><a href='event:@"..t.."'>"..t,n,x,y,18,18,0x986742,0x2E221B,1,true)
  1343.     end
  1344. end
  1345.     -- get time
  1346. system.getTime=function(time)
  1347.     if type(time)~="number" then return "?" end
  1348.     local second = time%60
  1349.     local minutes = time/60
  1350.     local minute = minutes%60
  1351.     local hours = minutes/60
  1352.     local hour = hours%24
  1353.     local day = hours/24
  1354.     return ("%dd %dh %dm %ds"):format(day,hour,minute,second)
  1355. end
  1356.     -- ranking
  1357. system.rank=function(players,lim,player)
  1358.     local p,rank = {},""
  1359.     lim = tonumber(lim) or 100
  1360.     for n in next,players do
  1361.         p[#p+1] = {name=n,v=system.ratio(n)}
  1362.     end
  1363.     table.sort(p,function(f,s) return f.v>s.v end)
  1364.     for o,n in next,p do
  1365.         if o <= lim then
  1366.             local t = n.name
  1367.             rank = rank .. "<J>"..o..".\t<font color='#"..(podiumColors[o] and podiumColors[o] or t==player and "6B99A9" or "009D9D").."'><a href='event:P_"..t.."'>"..t.."</a>\t<font color='#"..mice[t].level[3].."'>"..mice[t].level[1].."</font>\t<BL>"..mice[t].stats.rounds.."\t<S>"..mice[t].stats.wins.."\t<R>"..mice[t].stats.kills.."\t<CE><font size='"..(n.v<1000 and 10 or n.v<10000 and 9 or 8).."'>"..(math.ceil(n.v*100)/100).."</font>\n"
  1368.         end
  1369.     end
  1370.     return rank
  1371. end
  1372.     -- ratio
  1373. system.ratio=function(n)
  1374.     local math = ((mice[n].level[1]^.5) * (#colors * mice[n].stats.kills / (mice[n].stats.rounds+1)) + (#colors * mice[n].stats.wins / (mice[n].stats.rounds+1)) + (#colors * mice[n].level[1] / (#colors*10))) - .1
  1375.     return math~=math and 0 or math
  1376. end
  1377. --[[ Powers ]]--
  1378. power.lightning=function(n,x,y)
  1379.     system.damage(n,x,y+150,40,data.light.d)
  1380.     tfm.exec.explosion(x,y+150,-30,40)
  1381.     local a,b = {11,2,2,11},{1,-1}
  1382.     for i = 0,30 do
  1383.         tfm.exec.displayParticle(a[(i%#a)+1],b[(i%#b)+1]+x,y+i*5)
  1384.     end
  1385.     mice[n].timers[1][1] = os.time() + data.light.m
  1386. end
  1387. power.lightspeed=function(n,x,y)
  1388.     local right = mice[n].right
  1389.     for n in next,tfm.get.room.playerList do
  1390.         local px,py,r = tfm.exec.position(n)
  1391.         if (right and (px>x and px<x+255) or (px<x and px>x-255)) then
  1392.             if py>y-60 and py<y+60 then
  1393.                 local s = right and 30 or -30
  1394.                 tfm.exec.movePlayer(n,0,0,true,s)
  1395.             end
  1396.         end
  1397.     end
  1398.     tfm.exec.movePlayer(n,x+(right and 225 or -255),y)
  1399.     for i = 1,6 do
  1400.         tfm.exec.displayParticle(35,x,y,(right and 15 or -15),math.random(-3,3))
  1401.     end
  1402.     mice[n].timers[2] = os.time() + data.light.m
  1403. end
  1404. power.wormhole=function(n,x,y,s)
  1405.     local right = mice[n].right
  1406.     local a = {0,4,11}
  1407.     for i = 1,40 do
  1408.         tfm.exec.displayParticle(a[(i%#a)+1],x + (s and (right and 200 or -200) or 0),y,(.1*i)*math.cos(math.rad(90+i*18)),(.1*i)*math.sin(math.rad(90-i*18)))
  1409.     end
  1410.     if not s then
  1411.         tfm.exec.movePlayer(n,x + (right and 200 or -200),y)
  1412.         power.wormhole(n,x,y,true)
  1413.     else
  1414.         tfm.exec.movePlayer(n,0,0,true,0,-50,true)
  1415.     end
  1416.     mice[n].timers[3] = os.time() + data.whole.m
  1417. end
  1418. power.doublejump=function(n,x,y)
  1419.     tfm.exec.movePlayer(n,0,0,true,0,-80,true)
  1420.     for i = 0,15,.25 do
  1421.         tfm.exec.displayParticle(({2,11})[((i*4)%2)+1],x+math.sin(i*1.1)*20,y+40+-i*3.5)
  1422.     end
  1423.     mice[n].timers[9] = os.time() + data.dbjump.m
  1424. end
  1425. power.supernova=function(n,x,y)
  1426.     system.damage(n,x+(right and 50 or -50),y-50,70,data.snova.d)
  1427.     tfm.exec.explosion(x+(right and 50 or -50),y-50,50,110)
  1428.     local right = mice[n].right
  1429.     local particle = {1,2,9,11};particle = particle[math.random(#particle)]
  1430.     for i = 1,38 do
  1431.         local a = i<3 and 13 or i<20 and 11 or 2
  1432.         tfm.exec.displayParticle(a,x + (right and 50 or -50),y - 50,(.1*i)*math.cos(math.rad(120+i*18)),(.1*i)*math.sin(math.rad(120-i*18)))
  1433.         tfm.exec.displayParticle(a,x + (right and 50 or -50),y - 50,(.1*i)*math.cos(math.rad(60-i*18)),(.1*i)*math.sin(math.rad(120-i*18)))
  1434.     end
  1435.     mice[n].timers[4][1] = os.time() + data.snova.m
  1436.     mice[n].health = mice[n].health - 5
  1437. end
  1438. power.helix=function(n,x,y)
  1439.     local right = mice[n].right
  1440.     tfm.exec.movePlayer(n,0,0,false,(right and 100 or -100),-115,true)
  1441.     local a={2,0,0,2}
  1442.     for i = 1,40 do
  1443.         tfm.exec.displayParticle(a[(i%#a)+1],x+(right and i or -i),y-i,(right and (.1*i) or -(.1*i))*math.cos(math.rad(200+i*18)),(.1*i)*math.sin(math.rad(200-i*18)),(right and .4 or -.4),-.2)
  1444.     end
  1445.     mice[n].timers[5] = os.time() + data.helix.m
  1446. end
  1447. power.dome=function(n)
  1448.     local x,y = tfm.exec.position(n)
  1449.     system.damage(n,x,y,130,data.dome.d)
  1450.     tfm.exec.explosion(x,y,-40,130)
  1451.     local a={11,11,0,2,0,2,0,11,11}
  1452.     for i = 1,10 do
  1453.         local xPos = math.cos(i) * 130
  1454.         local yPos = math.sin(i) * 130
  1455.         for k = -1,1 do
  1456.             for j = -1,1 do
  1457.                 tfm.exec.displayParticle(a[(i%#a)+1],x + k*xPos,y + j*yPos)
  1458.             end
  1459.         end
  1460.     end
  1461.     mice[n].timers[6][1] = os.time() + data.dome.m
  1462. end
  1463. power.ray=function(n,x,y)
  1464.     system.damage(n,x+(right and 20 or -20),y,120,data.ray.d,right,20)
  1465.     local right = mice[n].right
  1466.     for i = 1,20 do
  1467.         tfm.exec.displayParticle(9,(x + (right and 20 or -20)) + (right and math.sqrt(i*2)*8 or -math.sqrt(i*2)*8),y-10,(right and 6 or -6))
  1468.     end
  1469.     local id = tfm.exec.addShamanObject(6000,x+(right and 40 or -40),y-10,0,(right and 9 or -9))
  1470.     table.insert(toDespawn,{os.time(),id})
  1471.     mice[n].timers[7] = os.time() + data.ray.m
  1472. end
  1473. power.deathray=function(n,x,y)
  1474.     system.damage(n,x,y,120,data.dray.d,right,30)
  1475.     local right = mice[n].right
  1476.     local a = {9,2,2,9}
  1477.     for i = 1,40 do
  1478.         tfm.exec.displayParticle(a[(i%#a)+1],x + (right and i*3 or -i*3),y + (i%2 == 0 and 1 or -1))
  1479.     end
  1480.     mice[n].timers[8][1] = os.time() + data.dray.m
  1481.     mice[n].health = mice[n].health - 10
  1482. end
  1483. power.hulksmash=function(n,t,x,y)
  1484.     if t == 0 then
  1485.         tfm.exec.movePlayer(n,0,0,true,0,-110,true)
  1486.         mice[n].hsmash[1] = 1;mice[n].hsmash[2] = os.time() + 500
  1487.         mice[n].timers[10][1] = os.time() + data.hsmash.m
  1488.     end if t == 1 then
  1489.         tfm.exec.movePlayer(n,0,0,true,0,400,true)
  1490.         mice[n].hsmash[1] = 2;mice[n].hsmash[2] = os.time() + 300
  1491.     end if t == 2 then mice[n].health = mice[n].health - 5
  1492.     for k,v in next,tfm.get.room.playerList do
  1493.             if k ~= n then
  1494.                 if v.x>x-100 and v.x<x+100 then
  1495.                     if v.y<y+60 and v.y>y-60 then
  1496.                         local rand = math.random(50,100)
  1497.                         tfm.exec.movePlayer(k,0,0,true,0,-rand,true)
  1498.                         if rand > 69 then mice[k].health = mice[k].health - data.hsmash.d end
  1499.                     end
  1500.                 end
  1501.             end
  1502.         end
  1503.         for i = 1,10 do
  1504.             tfm.exec.displayParticle(3,x + math.random(-100,100),y + i*math.cos(i))
  1505.         end
  1506.     end
  1507. end
  1508. power.deathhug=function(n)
  1509.     tfm.exec.killPlayer(n)
  1510. end
  1511. --[[ Events ]]--
  1512.     -- New player
  1513. eventNewPlayer=function(n)
  1514.     if not mice[n] then
  1515.         mice[n]={
  1516.             -- Settings
  1517.             right = true,
  1518.             health = data.life,
  1519.             showhealthbar = true,
  1520.             hints = true,
  1521.             botMessages = true,
  1522.             ded = false,
  1523.             isAfk = {true,0},
  1524.             graphics = true,
  1525.             -- Data
  1526.             level = {99,"",""}, -- Level, Title, #Color
  1527.             time = 0, -- Time played
  1528.             lbto = 0,
  1529.             healthbarp = 1,
  1530.             community = (T[tfm.get.room.playerList[n].community] and tfm.get.room.playerList[n].community or "en"),
  1531.             stats = {
  1532.                 rounds = 0,
  1533.                 wins = 0,
  1534.                 kills = 0,
  1535.             },
  1536.             -- Game
  1537.             nPTimer = 0, -- Timer to execute a new power
  1538.             timers = {
  1539.                 -- os.time, used, can use
  1540.                 [1] = {0,0,data.light.u}, -- Lightning
  1541.                 [2] = 0, -- Light Speed
  1542.                 [3] = 0, -- Worm Hole
  1543.                 [4] = {0,0,data.snova.u}, -- Supernova
  1544.                 [5] = 0, -- Helix
  1545.                 [6] = {0,0,data.dome.u}, -- Dome
  1546.                 [7] = 0, -- Ray
  1547.                 [8] = {0,0,data.dray.u}, -- Death Ray
  1548.                 [9] = 0, -- Double Jump
  1549.                 [10] = {0,0,data.hsmash.u}, -- Hulk Smash
  1550.                 [11] = {0,0,data.dhug.u}, -- Death Hug
  1551.                 [12] = {0,0,data.anom.u}, -- Anomaly
  1552.             },
  1553.             lspeed = {-1,0},
  1554.             whole = {-1,0},
  1555.             dray = {0,math.random(30,40),0,false}, -- Times holding, times to hold, timer, using
  1556.             dbjump = 0,
  1557.             hsmash = {0,0,{0,0},0},
  1558.             -- UIs
  1559.             pages = 1,
  1560.             newPlayer = true,
  1561.             image = {nil,0,0,nil},
  1562.             nextUiTimer = 0,
  1563.         }
  1564.         ui.addTextArea(-100,"",n,-1500,-1500,3000,3000,1,1,.8,true)
  1565.         eventChatCommand(n,"help")
  1566.     end
  1567.     for _,k in next,{0,1,2,3,16,17,32,80} do
  1568.         system.bindKeyboard(n,k,true,true)
  1569.     end
  1570.     system.bindMouse(n,true)
  1571.     tfm.exec.chatMessage(1,tr(n,"botMessages","welcome"):format(data.game,data.help.c1),n)
  1572.     tfm.exec.lowerSyncDelay(n)
  1573.     system.addMenu(n)
  1574.     if not isRoom then
  1575.         table.insert(admins,n)
  1576.     end
  1577. end
  1578.     -- Powers in eventMouse: 1
  1579. eventMouse=function(n,x,y)
  1580.     mice[n].isAfk = {false,os.time()+35000}
  1581.     if system.start(n) then
  1582.         if mice[n].level[1]>=data.light.l then -- Lightning Lv 30
  1583.             local px,py = tfm.exec.position(n)
  1584.             if os.time() > mice[n].timers[1][1] and math.pythag(x,y,px,py,200) then
  1585.                 if mice[n].timers[1][2] < mice[n].timers[1][3] then
  1586.                     mice[n].timers[1][2] = mice[n].timers[1][2] + 1
  1587.                     power.lightning(n,x,y)
  1588.                 else
  1589.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[1][3].."</VP>"),n)
  1590.                 end
  1591.             end
  1592.         end
  1593.     end
  1594. end
  1595.     -- Powers in eventKeyboard: 8
  1596. eventKeyboard=function(n,k,d,x,y)
  1597.     mice[n].isAfk = {false,os.time()+35000}
  1598.     if k == 0 then mice[n].right = false end if k == 2 then mice[n].right = true end
  1599.     if system.start(n) then
  1600.         -- Light Speed
  1601.         if k == 0 or k == 2 and mice[n].level[1]>=data.lspeed.l then
  1602.             if mice[n].lspeed[2] == 0 then
  1603.                 if os.time() > mice[n].timers[2] then
  1604.                     mice[n].lspeed = {k,os.time()+300}
  1605.                 end
  1606.             else
  1607.                 if mice[n].lspeed[2] > os.time() and k == mice[n].lspeed[1] then
  1608.                     power.lightspeed(n,x,y)
  1609.                 end
  1610.                 mice[n].lspeed = {k,0}
  1611.             end
  1612.         end
  1613.         -- Worm Hole
  1614.         if k == 1 or k == 3 and mice[n].level[1]>=data.whole.l then
  1615.             if mice[n].whole[2] == 0 then
  1616.                 if os.time() > mice[n].timers[3] then
  1617.                     mice[n].whole = {k,os.time()+300}
  1618.                 end
  1619.             else
  1620.                 if mice[n].whole[2] > os.time() and k ~= mice[n].whole[1] then
  1621.                     power.wormhole(n,x,y)
  1622.                 end
  1623.                 mice[n].whole = {-1,0}
  1624.             end
  1625.         end
  1626.         -- Supernova
  1627.         if k == 17 and mice[n].level[1]>=data.snova.l then
  1628.             if os.time() > mice[n].timers[4][1] then
  1629.                 if mice[n].timers[4][2] < mice[n].timers[4][3] then
  1630.                     mice[n].timers[4][2] = mice[n].timers[4][2] + 1
  1631.                     power.supernova(n,x,y)
  1632.                 else
  1633.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[4][3].."</VP>"),n)
  1634.                 end
  1635.             end
  1636.         end
  1637.         -- Helix
  1638.         if k == 16 and mice[n].level[1]>=data.helix.l then
  1639.             if os.time() > mice[n].timers[5] then
  1640.                 power.helix(n,x,y) 
  1641.             end
  1642.         end
  1643.         -- Ray
  1644.         if k == 32 and mice[n].level[1]>=data.ray.l then
  1645.             if os.time() > mice[n].timers[7] then
  1646.                 power.ray(n,x,y)
  1647.             end
  1648.         end
  1649.         -- Deathray
  1650.         if k == 80 and mice[n].level[1]>=data.dray.l then
  1651.             if os.time() > mice[n].timers[8][1] then
  1652.                 if mice[n].timers[8][2] < mice[n].timers[8][3] then
  1653.                     if mice[n].dray[3] > os.time() then
  1654.                         mice[n].dray[1] = mice[n].dray[1] + 1
  1655.                         system.draybar(n)
  1656.                         if mice[n].dray[1] >= mice[n].dray[2] then
  1657.                             mice[n].timers[8][2] = mice[n].timers[8][2] + 1
  1658.                             power.deathray(n,x,y)
  1659.                             mice[n].dray = {0,math.random(30,40),0,false}
  1660.                             system.draybar(n,true)
  1661.                         end
  1662.                     else
  1663.                         mice[n].dray[3] = os.time() + 700
  1664.                     end
  1665.                 else
  1666.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[8][3].."</VP>"),n)
  1667.                 end
  1668.             end
  1669.         end
  1670.         -- Double Jump
  1671.         if k == 1 and mice[n].level[1]>=data.dbjump.l then
  1672.             if mice[n].dbjump == 0 then
  1673.                 if os.time() > mice[n].timers[9] then
  1674.                     mice[n].dbjump = os.time() + 300
  1675.                 end
  1676.             else
  1677.                 if mice[n].dbjump > os.time() then
  1678.                     power.doublejump(n,x,y)
  1679.                 end
  1680.                 mice[n].dbjump = 0
  1681.             end
  1682.         end
  1683.         -- Hulk Smash
  1684.         if k == 3 and mice[n].level[1]>=data.hsmash.l then
  1685.             if mice[n].hsmash[4] == 0 then
  1686.                 if os.time() > mice[n].timers[10][1] then
  1687.                     mice[n].hsmash[4] = os.time() + 300
  1688.                 end
  1689.             else
  1690.                 if mice[n].hsmash[4] > os.time() then
  1691.                     if mice[n].timers[10][2] < mice[n].timers[10][3] then
  1692.                         mice[n].timers[10][2] = mice[n].timers[10][2] + 1
  1693.                         power.hulksmash(n,0)
  1694.                         mice[n].hsmash[3] = {x,y}  
  1695.                     else
  1696.                         tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[10][3].."</VP>"),n)
  1697.                     end
  1698.                 end
  1699.                 mice[n].hsmash[4] = 0
  1700.             end
  1701.         end
  1702.     end
  1703. end
  1704.     -- Powers in eventEmotePlayed: 2
  1705. eventEmotePlayed=function(n,i)
  1706.     mice[n].isAfk = {false,os.time()+35000}
  1707.     if system.start(n) then
  1708.         -- Dome
  1709.         if i == 7 and mice[n].level[1]>=data.dome.l then
  1710.             if os.time() > mice[n].timers[6][1] then
  1711.                 if mice[n].timers[6][2] < mice[n].timers[6][3] then
  1712.                     mice[n].timers[6][2] = mice[n].timers[6][2] + 1
  1713.                     power.dome(n)
  1714.                 else
  1715.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[6][3].."</VP>"),n)
  1716.                 end
  1717.             end
  1718.         end
  1719.         -- Death Hug
  1720.         if i == 17 and mice[n].level[1]>=data.dhug.l then
  1721.             if os.time() > mice[n].timers[11][1] then
  1722.                 if mice[n].timers[11][2] < mice[n].timers[11][3] then
  1723.                     mice[n].timers[11][1] = os.time() + data.dhug.m
  1724.                     mice[n].timers[11][2] = mice[n].timers[11][2] + 1
  1725.                     deathhug = {true,os.time() + 8000}
  1726.                 else
  1727.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[11][3].."</VP>"),n)
  1728.                 end
  1729.             end
  1730.         end
  1731.         if i == 18 and deathhug[1] then
  1732.             power.deathhug(n)
  1733.             deathhug = {false,0}
  1734.         end
  1735.     end
  1736. end
  1737.     -- Powers in eventChatMessage: 1 + 1^
  1738. eventChatMessage=function(n,c,access)
  1739.     -- Dome
  1740.     if c:find("^PRO+TE+CTO+S") then
  1741.         if system.start(n) then
  1742.             eventEmotePlayed(n,7)
  1743.         end
  1744.     end
  1745.     -- Anomaly
  1746.     if c:find("^A+NO+MA+LY+") and mice[n].level[1]>=data.anom.l or access then
  1747.         if system.start(n) then
  1748.             if os.time() > mice[n].timers[12][1] then
  1749.                 if mice[n].timers[12][2] < mice[n].timers[12][3] then
  1750.                     if math.random(12) == math.random(12) or access then
  1751.                         mice[n].timers[12][2] = mice[n].timers[12][2] + 1
  1752.                         opacity,objects = 1,{}
  1753.                         anomaly = true
  1754.                         tfm.exec.chatMessage(0,"\n\t"..tr(nil,"botMessages","anomaly").."\n")
  1755.                     else
  1756.                         tfm.exec.chatMessage(2,tr(n,"botMessages","anomtim"):format(data.anom.m/1000),n)
  1757.                         mice[n].timers[12][1] = os.time() + data.anom.m
  1758.                     end
  1759.                 else
  1760.                     tfm.exec.chatMessage(1,"<R>"..tr(n,"botMessages","powerlimit"):format("<VP>"..mice[n].timers[12][3].."</VP>"),n)
  1761.                 end
  1762.             end
  1763.         end
  1764.     end
  1765. end
  1766.     -- Loop
  1767. eventLoop=function(time,left,start)
  1768.     _G.loopTimer = time/1000
  1769.     local alive,players,able = system.players(true)
  1770.     newmaptimer = newmaptimer + 1
  1771.     if newmaptimer>1 then
  1772.         advice = advice + .5
  1773.         if #alive==1 and loopTimer>3 and #players>1 then
  1774.             if not mice[alive[1]].isAfk[1] then
  1775.                 local n = alive[1]
  1776.                 tfm.exec.setPlayerScore(n,10,true)
  1777.                 tfm.exec.giveCheese(n);tfm.exec.playerVictory(n)
  1778.                 tfm.exec.chatMessage(0,tr(nil,"botMessages","won"):format(n))
  1779.                 if #able > 5 then
  1780.                     if adminRoom[2] then
  1781.                         tfm.exec.chatMessage(1,tr(n,"admins","iftrue"),n,true)
  1782.                     else
  1783.                         mice[n].level[1] = mice[n].level[1] + (mice[n].level[1]<16 and 1 or mice[n].level[1]<31 and .5 or mice[n].level[1]<61 and .25 or mice[n].level[1]<101 and .1 or mice[n].level[1]>100 and .05)
  1784.                         mice[n].stats.wins = mice[n].stats.wins + 1
  1785.                     end
  1786.                 else
  1787.                     tfm.exec.chatMessage(1,tr(n,"botMessages","notplayers"),n,true)
  1788.                 end
  1789.             end
  1790.             eventLoop(0,0,true)
  1791.         end
  1792.         if (time > -3 and time < 0) or left<=0 or (#alive < 1 and loopTimer>5) or start==true then
  1793.             if tostring(newp):sub(1,1) == "@" then
  1794.                 tfm.exec.newGame(newp)
  1795.                 newp = 0
  1796.             else
  1797.                 local lastMap = currentMap or 0
  1798.                 repeat currentMap = maps[math.random(#maps)] until currentMap ~= lastMap
  1799.                 tfm.exec.newGame(currentMap,math.random(5)<3)
  1800.             end
  1801.         end
  1802.         if math.floor(left/1000) == 10 and #players>1 and #alive>#players/2 and not newtimer then
  1803.             tfm.exec.setGameTime(data.newtimer)
  1804.             tfm.exec.chatMessage(1,"<BV>"..tr(nil,"botMessages","newtimer"):format(data.newtimer))
  1805.             newtimer = true
  1806.             for n in next,tfm.get.room.playerList do
  1807.                 mice[n].timers[1][3] = data.light.u + 5 -- Lightning
  1808.                 mice[n].timers[4][3] = data.snova.u + 3 -- Supernova
  1809.                 mice[n].timers[6][3] = data.dome.u + 5 -- Dome
  1810.                 mice[n].timers[10][3] = data.hsmash.u + 3 -- Hulk Smash
  1811.                 mice[n].timers[12][3] = data.anom.u + 1 -- Anomaly
  1812.             end
  1813.         end
  1814.         for k,v in ipairs(toDespawn) do
  1815.             if v[1] <= os.time()-450 then
  1816.                 tfm.exec.removeObject(v[2])
  1817.                 table.remove(toDespawn,k)
  1818.             end
  1819.         end
  1820.         if deathhug[1] then
  1821.             if os.time() > deathhug[2] then
  1822.                 deathhug = {false,0}
  1823.             end
  1824.         end
  1825.         for n in next,tfm.get.room.playerList do
  1826.             if mice[n].dray[4] then
  1827.                 if os.time() > mice[n].dray[3]+300 then
  1828.                     system.draybar(n,true)
  1829.                 end
  1830.             end
  1831.             if os.time()>mice[n].isAfk[2] and loopTimer>30 then
  1832.                 mice[n].isAfk[1] = true
  1833.             end
  1834.             if loopTimer>25 and mice[n].isAfk[1] then
  1835.                 if not tfm.get.room.playerList[n].isDead then
  1836.                     mice[n].health = 0
  1837.                 end
  1838.             end
  1839.             if loopTimer>4 then
  1840.                 if mice[n].health > data.life then mice[n].health = data.life end
  1841.                 if mice[n].health < 0 then mice[n].heath = 0 end
  1842.                 if not mice[n].ded then
  1843.                     if mice[n].health <= 0 then
  1844.                         tfm.exec.killPlayer(n)
  1845.                         ui.removeTextArea(3,n)
  1846.                         mice[n].ded = true
  1847.                     end
  1848.                 end
  1849.             end
  1850.             if mice[n].hints then
  1851.                 if advice%300 == 0 then
  1852.                     local hints = tr(nil,"hints")
  1853.                     local random = math.random(#hints)
  1854.                     tfm.exec.chatMessage(3,"<ROSE>"..hints[random],n)
  1855.                 end
  1856.             end
  1857.             local color = tonumber(mice[n].level[3],16)
  1858.             if color then tfm.exec.setNameColor(n,color) end
  1859.             if mice[n].hsmash[1] ~= 0 then
  1860.                 if os.time() > mice[n].hsmash[2] then
  1861.                     if mice[n].hsmash[1] == 1 then
  1862.                         power.hulksmash(n,1)
  1863.                     end
  1864.                     if mice[n].hsmash[1] == 2 then
  1865.                         power.hulksmash(n,2,table.unpack(mice[n].hsmash[3]))
  1866.                         mice[n].hsmash[1] = 0
  1867.                     end
  1868.                 end
  1869.             end
  1870.             mice[n].time = mice[n].time + .5
  1871.             if mice[n].time % 2100 == 0 then
  1872.                 if #players>5 then
  1873.                     if adminRoom[2] then
  1874.                         tfm.exec.chatMessage(1,tr(n,"admins","iftrue"),n,true)
  1875.                     else
  1876.                         mice[n].level[1] = mice[n].level[1] + (mice[n].level[1]<16 and 1 or mice[n].level[1]<31 and .5 or mice[n].level[1]<61 and .25 or mice[n].level[1]<101 and .1 or mice[n].level[1]>100 and .05)
  1877.                     end
  1878.                 else
  1879.                     tfm.exec.chatMessage(1,tr(n,"botMessages","notplayers"),n,true)
  1880.                 end
  1881.             end
  1882.             local x,y = math.modf(mice[n].level[1] + 1)
  1883.             if x-y == x and x ~= mice[n].lbto then
  1884.                 mice[n].lbto = x
  1885.                 local ceil = x < #colors*10+1 and math.ceil(x/10) or #colors
  1886.                 mice[n].level[2] = tr(n,"titles","title",ceil)
  1887.                 mice[n].level[3] = colors[ceil]
  1888.                 if x>1 then
  1889.                     local ceilLevel = math.ceil(mice[n].level[1])
  1890.                     if mice[n].level[1] > 1 then tfm.exec.chatMessage(0,tr(nil,"titles","newlevel"):format("<J>"..n.."<G>","<font color='#"..mice[n].level[3].."'>"..ceilLevel.."<G>!")) end
  1891.                     if T.en.titles.unlock[ceilLevel] then
  1892.                         tfm.exec.chatMessage(1,tr(n,"titles","unlock","unlocked")..tr(n,"titles","unlock",math.floor(mice[n].level[1])),n)
  1893.                     end
  1894.                     if ceilLevel%10 == 0 and ceilLevel <= #colors*10 and mice[n].level[1] > 1 then
  1895.                         tfm.exec.chatMessage(0,tr(nil,"titles","unlock","title"):format(n,"<font color='#"..mice[n].level[3].."'>",mice[n].level[2]))
  1896.                     end
  1897.                 end
  1898.             end
  1899.             if mice[n].showhealthbar then system.healthbar(n) end
  1900.         end
  1901.     else
  1902.         for n in next,tfm.get.room.playerList do mice[n].health = data.life end
  1903.     end
  1904.     if anomaly then
  1905.         opacity = opacity - .05
  1906.         if opacity <= .1 or start then
  1907.             ui.removeTextArea(3,nil)
  1908.             for _,id in next,objects do
  1909.                 tfm.exec.removeObject(id)
  1910.             end
  1911.             anomaly = false
  1912.         else
  1913.             for i = 1,3 do
  1914.                 local obj = {1,2,3,4,6,10,17,23,28,54,60,61,68};obj=obj[math.random(#obj)]
  1915.                 local id = tfm.exec.addShamanObject(obj,math.random(800),math.random(380),math.random(360),math.random(-7,7),math.random(-5,5))
  1916.                 table.insert(objects,id)
  1917.             end
  1918.             tfm.exec.explosion(math.random(15,785),math.random(380),math.random(-30,30),math.random(300,600))
  1919.             ui.addTextArea(3,"",nil,-1500,-1500,3000,3000,1,1,opacity,true)
  1920.             for n,p in next,tfm.get.room.playerList do
  1921.                 if math.random(8) == 1 then
  1922.                     mice[n].health = mice[n].health + math.random(1,5)
  1923.                     tfm.exec.displayParticle(15,p.x,p.y,0,0,0,0,n)
  1924.                 end
  1925.             end
  1926.         end
  1927.     end
  1928. end
  1929.     -- Died
  1930. eventPlayerDied=function(n)
  1931.     mice[n].health = 0
  1932. end
  1933.     -- New Game
  1934. eventNewGame=function()
  1935.     ui.setMapName("<PT>#"..data.game.."   <G>|   <J>"..(tfm.get.room.xmlMapInfo.author or "???").." <BL>- "..(tfm.get.room.currentMap or "@???"))
  1936.     local _,players = system.players()
  1937.     if tfm.get.room.xmlMapInfo.xml:find("<T") then
  1938.         skip = true
  1939.         tfm.exec.setGameTime(6)
  1940.         eventLoop(loopTimer,6)
  1941.     else
  1942.         skip = false
  1943.         newtimer = false
  1944.         deathhug = {false,0}
  1945.         for n in next,tfm.get.room.playerList do
  1946.             system.draybar(n,true)
  1947.             -- Position
  1948.             mice[n].right = not tfm.get.room.mirroredMap
  1949.             -- Life
  1950.             mice[n].health = data.life
  1951.             mice[n].ded = false
  1952.             mice[n].isAfk = {true,0}
  1953.             -- Stats
  1954.             if #players > 5 then mice[n].stats.rounds = mice[n].stats.rounds + 1 end
  1955.             -- Powers
  1956.             mice[n].timers[1] = {3000 + os.time() + data.light.m,0,data.light.u} -- Lightning
  1957.             mice[n].timers[2] = 3000 + os.time() + data.lspeed.m -- Light Speed
  1958.             mice[n].timers[3] = 3000 + os.time() + data.whole.m -- Worm Hole
  1959.             mice[n].timers[4] = {3000 + os.time() + data.snova.m,0,data.snova.u} -- Supernova
  1960.             mice[n].timers[5] = 3000 + os.time() + data.helix.m -- Helix
  1961.             mice[n].timers[6] = {3000 + os.time() + data.dome.m,0,data.dome.u} -- Dome
  1962.             mice[n].timers[7] = 3000 + os.time() + data.ray.m -- Ray
  1963.             mice[n].timers[8] = {3000 + os.time() + data.dray.m,0,data.dray.u} -- Death Ray
  1964.             mice[n].timers[9] = 3000 + os.time() + data.dbjump.m -- Double Jump
  1965.             mice[n].timers[10] = {3000 + os.time() + data.hsmash.m,0,data.hsmash.u} -- Hulk Smash
  1966.             mice[n].timers[11] = {3000 + os.time() + data.dhug.m,0,data.dhug.u} -- Death Hug
  1967.             mice[n].timers[12] = {3000 + os.time() + data.anom.m,0,data.anom.u} -- Anomaly
  1968.             tfm.exec.respawnPlayer(n)
  1969.         end
  1970.         --[[
  1971.             if #players>1 and #players < 4 and not isRoom then
  1972.                 for k,v in next,data do
  1973.                     if type(v) == "table" and v.l~=nil then
  1974.                         v.l = 0
  1975.                     end
  1976.                 end
  1977.                 tfm.exec.chatMessage(1,"<PS>"..tr(nil,"botMessages","allpowers"))
  1978.             end
  1979.         ]]--
  1980.         tfm.exec.setGameTime(data.help.m*60)
  1981.     end
  1982.     newmaptimer = 0
  1983.     if anomaly then
  1984.         anomaly = false
  1985.         opacity,objects = 1,{}
  1986.         ui.removeTextArea(5,nil)
  1987.     end
  1988. end
  1989.     -- Callbacks
  1990. eventTextAreaCallback=function(i,n,c)
  1991.     local p = {}
  1992.     for val in c:gmatch("[^_]+") do table.insert(p,val) end
  1993.     if p[1] == "closeUiSmart" then
  1994.         for v = i,i-9,-1 do
  1995.             ui.removeTextArea(v,n)
  1996.         end
  1997.     end
  1998.     if p[1] == "close" then
  1999.         if mice[n].newPlayer then mice[n].newPlayer=false;ui.removeTextArea(-100,n) end
  2000.         if mice[n].image[4] then for i = 1,2 do tfm.exec.removeImage(mice[n].image[4]) end end
  2001.         for v = i + 5,i - 22,-1 do
  2002.             ui.removeTextArea(v,n)
  2003.         end
  2004.         mice[n].pages = 1
  2005.     end
  2006.     if p[1]:sub(1,5) == "close" then system.addMenu(n) end
  2007.     if (p[1] == "powers" or p[1] == "help" or p[1] == "rank") and os.time()>mice[n].nextUiTimer then
  2008.         mice[n].pages = (p[2]=="left" and (mice[n].pages>1 and mice[n].pages-1 or (p[1]=="powers" and #T.en.powers or p[1]=="help" and #T.en.help or 2)) or (mice[n].pages<(p[1]=="powers" and #T.en.powers or p[1]=="help" and #T.en.help or 2) and mice[n].pages+1 or 1))
  2009.         eventChatCommand(n,p[1],true)
  2010.     end
  2011.     if (p[1] == "+" or p[1] == "#" or p[1] == "?") and os.time()>mice[n].nextUiTimer then
  2012.         mice[n].pages = tonumber(p[2])
  2013.         eventChatCommand(n,p[1]=="+" and "powers" or p[1] == "?" and "help" or "rank",true)
  2014.     end
  2015.     if p[1] == "click" then
  2016.         tfm.exec.chatMessage(2,"<BV>"..data.help.l,n)
  2017.     end
  2018.     if p[1] == "room" then
  2019.         tfm.exec.chatMessage(2,"/room #"..data.game:lower()..math.random(0,999)..n,n)
  2020.     end
  2021.     if p[1] == "maps" then
  2022.         tfm.exec.chatMessage(2,"@"..table.concat(maps,", @"),n)
  2023.     end
  2024.     if p[1] == "P" then
  2025.         if tfm.get.room.playerList[p[2]] then
  2026.             eventChatCommand(n,"p "..p[2])
  2027.         end
  2028.     end
  2029.     if p[1] == "@?" then eventChatCommand(n,"help") end
  2030.     if p[1] == "@+" then eventChatCommand(n,"powers") end
  2031.     if p[1] == "@!" then eventChatCommand(n,"p") end
  2032.     if p[1] == "@#" then eventChatCommand(n,"rank") end
  2033. end
  2034.     -- Commands
  2035. eventChatCommand=function(n,c,m)
  2036.     local p = {}
  2037.     for val in c:gmatch("[^%s]+") do table.insert(p,val) end
  2038.     p[1] = p[1]:lower()
  2039.     if p[1] == data.help.c13 or p[1] == "p" then -- Profile
  2040.         eventTextAreaCallback(109,n,"close")
  2041.         local player = ""
  2042.         if p[2] then
  2043.             p[2] = string.nick(p[2])
  2044.             if tfm.get.room.playerList[p[2]] then
  2045.                 player = p[2]
  2046.             end
  2047.         else player = n end
  2048.         if player ~= "" then
  2049.             ui.removeTextArea(9,n)
  2050.             ui.smart(200,n,1,player,tr(n,"other","profile_textformat"):format(mice[player].level[3],math.floor(mice[player].level[1]),mice[player].level[2],mice[player].level[1].."/"..(math.floor(mice[player].level[1]) + 1),mice[player].stats.rounds,mice[player].stats.wins,mice[player].stats.kills,system.getTime(mice[player].time),system.ratio(player)),260,60,230,230,false)
  2051.         end
  2052.     end
  2053.     if p[1] == data.help.c14 then -- Quality
  2054.         mice[n].graphics = not mice[n].graphics
  2055.         tfm.exec.chatMessage(2,tr(n,"enables","graphics",(mice[n].graphics and "on" or "off")),n)
  2056.         ui.removeTextArea(1,n)
  2057.     end
  2058.     if (p[1] == data.help.c1 or p[1] == "?") and os.time()>mice[n].nextUiTimer then -- Help
  2059.         ui.removeTextArea(7,n)
  2060.         if not m then mice[n].pages = 1 end
  2061.         local info = tr(n,"help")
  2062.         local _format = {
  2063.             [1] = {{data.game},{data.game,data.help.m,data.botName}},
  2064.             [2] = {{""},{data.help.c1,data.help.c2,data.help.c3,data.help.c4,data.help.c5,data.help.c6,data.help.c7,data.help.c8,data.help.c13,data.help.c14,data.help.c15,data.help.c16}},
  2065.             [3] = {{""},{#colors*10,#colors,(mice[n].level[1]<16 and 1 or mice[n].level[1]<31 and .5 or mice[n].level[1]<61 and .25 or mice[n].level[1]<101 and .1 or mice[n].level[1]>100 and .05)}},
  2066.             [4] = {{""},{"<a href='event:click'>Click</a>",#maps,"\n<a href='event:maps'>@List</a>"}},
  2067.             [5] = {{""},{"<a href='event:room'>#"..data.game:lower()..math.random(0,999)..n.."</a>",data.help.c9,data.help.c10,data.help.c11,data.help.c12}},
  2068.             [6] = {{""},{""}},
  2069.         }
  2070.         ui.menu(100,n,1,info[mice[n].pages][1]:format(table.unpack(_format[mice[n].pages][1])),info[mice[n].pages][2]:format(table.unpack(_format[mice[n].pages][2])),150,50,350,280,info,"?","help")
  2071.     end
  2072.     if (p[1] == data.help.c2 or p[1] == "+" or p[1]=="power") and os.time()>mice[n].nextUiTimer then -- Powers
  2073.         ui.removeTextArea(8,n)
  2074.         if not m then mice[n].pages = 1 end
  2075.         if mice[n].image[4] then tfm.exec.removeImage(mice[n].image[4]) end
  2076.         local info = tr(n,"powers")
  2077.         local types = tr(n,"other","powers_types")
  2078.         local powers = {"lspeed","ray","whole","dbjump","dome","helix","light","snova","hsmash","dhug","anom","dray"}
  2079.         powers = powers[mice[n].pages]
  2080.         mice[n].image = data[powers].i
  2081.         mice[n].image[4] = tfm.exec.addImage(mice[n].image[1],"&0",mice[n].image[2],mice[n].image[3],n)
  2082.         ui.menu(100,n,1,info[mice[n].pages][1],"\n\n\n\n\n\n<p align='center'>"..tr(n,"other","powers_textformat",n):format(types[data[powers].t],data[powers].l,data[powers].u,table.concat(info[mice[n].pages][2]," <G>|</G> "),data[powers].d..((powers=="snova" or powers=="hsmash") and " <R>-5</R>" or powers=="dray" and " <R>-10</R>" or ""),info[mice[n].pages][3]),150,50,350,280,info,"+","powers")
  2083.     end
  2084.     if p[1] == data.help.c15 and os.time()>mice[n].nextUiTimer then -- Rank
  2085.         ui.removeTextArea(10,n)
  2086.         if not m then mice[n].pages = 1 end
  2087.         local info = tr(n,"ranking")
  2088.         local t = mice[n].pages == 1 and tfm.get.room.playerList or mice
  2089.         ui.menu(100,n,1,info[mice[n].pages][1],"<R>"..info[mice[n].pages][2].."\n\n<font size='13'><V><textformat leading='2' tabStops='[1,30,130,170,220,270,310]'><B>#\t?\tL\tR\tW\tK\t%</B>\n<font size='10'>"..system.rank(t,10,n),150,50,350,280,info,"#","rank")
  2090.     end
  2091.     if p[1] == data.help.c3 then -- Healthbar
  2092.         mice[n].showhealthbar = not mice[n].showhealthbar
  2093.         system.addMenu(n)
  2094.         for i = 0,4 do ui.removeTextArea(i,n) end
  2095.         tfm.exec.chatMessage(2,tr(n,"enables","healthbar",(mice[n].showhealthbar and "on" or "off")),n)
  2096.     end
  2097.     if p[1] == data.help.c4 then -- Hints
  2098.         mice[n].hints = not mice[n].hints
  2099.         tfm.exec.chatMessage(2,tr(n,"enables","hints",(mice[n].hints and "on" or "off")),n)
  2100.     end
  2101.     if p[1] == data.help.c5 then -- Messages
  2102.         mice[n].botMessages = not mice[n].botMessages
  2103.         tfm.exec.chatMessage(2,tr(n,"enables","bot",(mice[n].botMessages and "on" or "off")),n)
  2104.     end
  2105.     if p[1] == data.help.c6 and p[2] then -- Align
  2106.         p[2] = tonumber(p[2])
  2107.         if p[2] and p[2] < 5 and p[2] > 0 then
  2108.             mice[n].healthbarp = p[2]
  2109.             system.addMenu(n)
  2110.         end
  2111.     end
  2112.     if p[1] == data.help.c7 and p[2] then -- Np
  2113.         local _,players = system.players()
  2114.         if not isRoom and #players<4 then
  2115.             if newp == 0 then
  2116.                 if p[2]:sub(1,1) == "@" then
  2117.                     newp = p[2]
  2118.                     tfm.exec.chatMessage(2,tr(n,"botMessages","nextmap"):format(newp),n)
  2119.                 end
  2120.             else
  2121.                 tfm.exec.chatMessage(2,tr(n,"botMessages","wnextmap"):format(newp),n)
  2122.                 newp = 0
  2123.             end
  2124.         end
  2125.     end
  2126.     if p[1] == data.help.c8 then -- Langue
  2127.         if p[2] then
  2128.             mice[n].community = (p[2]=="default" and (T[tfm.get.room.playerList[n].community] and tfm.get.room.playerList[n].community or "en") or T[p[2]:lower()] and p[2]:lower() or T[mice[n].community] and mice[n].community or "en")
  2129.             tfm.exec.chatMessage(2,string.nick(p[1])..": "..mice[n].community,n)
  2130.         else
  2131.             tfm.exec.chatMessage(2,"<J>!"..data.help.c8.." <PT>"..system.languages(),n)
  2132.         end
  2133.     end
  2134.     if p[1] == data.help.c16 and p[2] then
  2135.         p[2] = tonumber(p[2]:match("@*(%d+)"))
  2136.         if p[2] then
  2137.             tfm.exec.chatMessage(2,"@"..p[2].." : "..tostring(table.find(maps,p[2])==true),n)
  2138.         end
  2139.     end
  2140.     if table.find(admins,n) then
  2141.         if isRoom then
  2142.             if p[1] == data.help.c9 then -- maxplayers
  2143.                 if type(tonumber(p[2])) == "number" then
  2144.                     p[2] = tonumber(p[2])
  2145.                     if p[2] < 19 and p[2] > 2 then
  2146.                         tfm.exec.setRoomMaxPlayers(p[2])
  2147.                         tfm.exec.chatMessage(2,tr(nil,"admins","maxroom"):format(p[2]))
  2148.                         adminRoom[2] = (p[2]<7 and true or false)
  2149.                     end
  2150.                 else
  2151.                     if type(p[2]) == "string" and #p[2]>3 then
  2152.                         tfm.exec.setRoomPassword(p[2])
  2153.                         for k in next,tfm.get.room.playerList do
  2154.                             if table.find(admins,k) then
  2155.                                 tfm.exec.chatMessage(2,tr(nil,"enables","pw","on"):format(p[2]),k)
  2156.                             else
  2157.                                 tfm.exec.chatMessage(2,tr(nil,"enables","pw","on"):format(("*"):rep(#p[2])),k)
  2158.                             end
  2159.                         end
  2160.                     else
  2161.                         tfm.exec.chatMessage(2,tr(nil,"enables","pw","off"))
  2162.                         tfm.exec.setRoomPassword("")
  2163.                     end                
  2164.                 end
  2165.             end
  2166.             if p[1] == data.help.c12 and p[2] and n == admins[1] then -- admin
  2167.                 p[2] = string.nick(p[2])
  2168.                 if tfm.get.room.playerList[p[2]] then
  2169.                     if table.find(admins,p[2]) and p[2]~=admins[1] then
  2170.                         table.destroy(admins,p[2])
  2171.                         tfm.exec.chatMessage(2,tr(nil,"admins","notadmin"):format(p[2]))
  2172.                     else
  2173.                         table.insert(admins,p[2])
  2174.                         tfm.exec.chatMessage(2,tr(nil,"admins","isadmin"):format(p[2]))
  2175.                     end
  2176.                 end
  2177.             end
  2178.         end
  2179.         if p[1] == data.help.c10 then -- renamebot
  2180.             if p[2] then
  2181.                 p[2] = tonumber(p[2])
  2182.                 if p[2]~=nil then
  2183.                     if p[2] > 0 and p[2] < #botNames+1 then
  2184.                         tfm.exec.chatMessage(2,tr(nil,"admins","renamed"):format(data.botName,botNames[p[2]]))
  2185.                         data.botName = botNames[p[2]]
  2186.                         bot = "<font color='#"..colors[#colors].."'><B>["..data.botName.."]</B></font> %s"
  2187.                     end
  2188.                 end
  2189.             else
  2190.                 tfm.exec.chatMessage(2,"<R>"..p[1]..":",n)
  2191.                 local text = "\n\t"
  2192.                 p[1] = p[1]:lower()
  2193.                 for k,v in next,botNames do
  2194.                     text = text .. "!" .. p[1] .. " " .. k .. " = " .. v .. "\n\t"
  2195.                 end
  2196.                 tfm.exec.chatMessage(2,text,n)
  2197.             end
  2198.         end
  2199.         if p[1] == data.help.c11 and p[2] then -- setnewtime
  2200.             p[2] = tonumber(p[2])
  2201.             if type(p[2]) == "number" then
  2202.                 p[2] = math.floor(p[2])
  2203.                 if p[2] > 0 and p[2] < 6 then
  2204.                     data.help.m = p[2]
  2205.                     tfm.exec.chatMessage(2,tr(nil,"admins","time"):format(p[2]))
  2206.                     adminRoom[2] = not p[2] == 3
  2207.                 end
  2208.             end
  2209.         end
  2210.     end
  2211. end
  2212. for _,c in next,{data.help.c1,data.help.c2,data.help.c3,data.help.c4,data.help.c5,data.help.c6,data.help.c7,data.help.c8,data.help.c9,data.help.c10,data.help.c11,data.help.c12,data.help.c13,data.help.c14,data.help.c15,data.help.c16,"power","?","p","+"} do system.disableChatCommandDisplay(c,true) end
  2213.     -- Start
  2214. system.admins()
  2215. table.foreach(tfm.get.room.playerList,function(n)
  2216.     eventNewPlayer(n)
  2217.     tfm.exec.setPlayerScore(n,0)
  2218. end)
  2219. eventLoop(0,0,true)
  2220. tfm.exec.setGameTime(5)
Advertisement
Add Comment
Please, Sign In to add comment