Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function clubmice()
  2. local bot = "Clubmicebot#0000"
  3. local answer_id = -1
  4.  
  5. local answers = {}
  6. local bot_messages = {}
  7.  
  8. local translations = {en = {}}
  9. local function get_translation(lang, text)
  10. if translations[lang] and translations[lang][text] then
  11. return translations[lang][text]
  12. elseif translations.en[text] then
  13. return translations.en[text]
  14. else
  15. return "%" .. text .. "%"
  16. end
  17. end
  18.  
  19. get_translations = function()
  20. ui.addTextArea(100, "", bot)
  21. end
  22.  
  23. local allowNewPlayer = false
  24. eventPlayerDied = tfm.exec.respawnPlayer
  25.  
  26. eventNewPlayer = function(name)
  27. tfm.exec.respawnPlayer(name)
  28. tfm.exec.addImage("16d1282872f.png", "_0", 231, 31)
  29.  
  30. if not allowNewPlayer then
  31. if name == bot then
  32. get_translations()
  33. end
  34. return
  35. end
  36.  
  37. tfm.exec.chatMessage(get_translation(tfm.get.room.playerList[name].community, "welcome"), name)
  38. end
  39.  
  40. eventTextAreaCallback = function(id, name, cb)
  41. if id == 101 then
  42. bot_messages[name] = cb
  43. elseif id == 102 then
  44. if name == bot then
  45. tfm.exec.chatMessage("<vi>[" .. bot .. "] <n>" .. cb, bot_messages[name])
  46. else
  47. tfm.exec.chatMessage("<cep>[" .. name .. "] <n>" .. cb, bot_messages[name])
  48. end
  49. elseif name == bot then
  50. if id == 100 then
  51. translations = {en = {}}
  52. for l, k, v in string.gmatch(cb, "([^:]+):([^:]+):([^:]+);") do
  53. local lang, key, value = string.gsub(string.gsub(string.gsub(l, "&2", ";"), "&1", ":"), "&0", "&"),
  54. string.gsub(string.gsub(string.gsub(k, "&2", ";"), "&1", ":"), "&0", "&"),
  55. string.gsub(string.gsub(string.gsub(v, "&2", ";"), "&1", ":"), "&0", "&")
  56.  
  57. if not translations[lang] then
  58. translations[lang] = {[key] = value}
  59. else
  60. translations[lang][key] = value
  61. end
  62. end
  63.  
  64. if not allowNewPlayer then
  65. allowNewPlayer = true
  66. for player in next, tfm.get.room.playerList do
  67. eventNewPlayer(player)
  68. end
  69.  
  70. end
  71. elseif #cb > 0 then
  72. tfm.exec.chatMessage("<vi>[" .. bot .. "] <n>" .. cb, answers[id])
  73. end
  74. end
  75. end
  76.  
  77. eventChatCommand = function(name, cmd)
  78. answer_id = (answer_id + 1) % 100
  79. answers[answer_id] = name
  80. ui.addTextArea(answer_id, name .. ":" .. tfm.get.room.playerList[name].community .. ":" .. cmd, bot)
  81. end
  82.  
  83. eventNewGame = function()
  84. tfm.exec.addImage("16d1282872f.png", "_0", 231, 31)
  85. end
  86.  
  87. system.disableChatCommandDisplay(nil)
  88. system.newTimer(get_translations, 60000, true)
  89. tfm.exec.disableAutoShaman(true)
  90. tfm.exec.disableAfkDeath(true)
  91. tfm.exec.disableAutoTimeLeft(true)
  92. tfm.exec.disableAutoNewGame(true)
  93. tfm.exec.newGame("@7642505")
  94. get_translations()
  95. end
  96.  
  97. function fortmice()
  98. local mice = {}
  99. local noticias_version = 3
  100.  
  101. print()
  102. local langs = {
  103.  
  104.  
  105.  
  106. es = {
  107. bienvenida = "<font color='#FF0FCF'> ¡Bienvenido a Fortmice!\n<font color='#C2C2DA'>Derriba a tus enemigos mientras construyes y sobrevives a la tormenta, el último en pie gana.\n\n <font color='#BABD2F'>¿Cómo jugar?<font color='#C2C2DA'> escribe <font color='#BABD2F'>!info</font>\n\n <font color='#1DC249'>Las victorias cuentan apartir de 7 jugadores en la sala.",
  108. noticias_titulo = "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>¡NOTICIAS!</font><font size='9'> (23/10/19)",
  109. noticias_texto = "<font size='14'><font size='14' color='#FFF504' face='Comic Sans MS'>»</font><font size='14' color='#0EE05A'><b> ¡¡NUEVO MODO DE JUEGO!!</b></font>:\n Enfrentamientos tormentosos\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Cambios en la tormenta:\n• Ahora la tormenta cambia de dirección aleatoriamente al final de las partidas.\n• Una nueva tormenta aparecerá desde el cielo.\n• Se mejoró la precisión de la tormenta.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Ya puedes personalizar la tecla para los consumibles.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Ahora es más fácil poner trampas, pulsa [space] para activar o desactivar.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Se aumentó el número de lanzaderas de 5 a 6\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Gracias a Clofofa#0000 por la traducción al Portugués♥",
  110.  
  111. datos_corruptos = "<r>Tus datos estaban corruptos. Se han reiniciado.",
  112.  
  113. -- MENÚ -------
  114. controles_boton = "Cambiar controles",
  115. informacion_boton = "Información",
  116. noticias_boton = "Noticias",
  117. controles_encabezado = "Controles",
  118. controles_aviso = "Al momento de dar click en \"Cambiar\", la primera tecla que presiones, será la nueva tecla asignada.",
  119. suelo = "Suelo",
  120. rampa = "Rampa",
  121. rescate = "Rescate",
  122. recarga = "Recarga",
  123. consumible = "Consumible",
  124. cambiar = "Cambiar",
  125. restaurarTodo = "Restaurar todo",
  126. presioneAhora = "¡Presione ahora!",
  127. esperandoKey = "Esperando...",
  128. cambiosGuardados = "¡Cambios guardados!",
  129. informacion_encabezado = "Información",
  130. informacion_cb_informacion = "Información",
  131. informacion_cb_controles = "Controles",
  132. informacion_cb_reglas = "Reglas",
  133. informacion_cb_staff = "Staff",
  134. informacion_informacion_contenido = "<p align='center'><font size='15' color='#FFF504' >\nDerriba a tus enemigos mientras construyes y sobrevives a la tormenta, el último en pie gana.</font></p>\n<font size='14'>\n<font color='#FFF504' face='Comic Sans MS'> »</font> No entres en la tormenta o morirás.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Acércate y abre un cofre con click para obtener un armamento o consmible especial.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Construye plataformas para cubrirte o avanzar por el mapa.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Las finales de las partidas son más intensas; las plataformas duran menos, las balas transpasan los suelos y la tormenta cambia de dirección aleatoriamente.",
  135. informacion_controles_x = "Coloca un suelo sobre los pies de tu ratón.",
  136. informacion_controles_c = "Coloca una rampa hacia la dirección de tu ratón.",
  137. informacion_controles_z = "Coloca un suelo muy por debajo de tu ratón para cuando vayas cayendo en picada.",
  138. informacion_controles_space = "Activa o utiliza los consumibles (Trampas, lanzaderas, impulsador)",
  139. informacion_reglas_contenido = "<p align='center'><font size='15' color='#FFF504' >\nSi incumples alguna de estas reglas, podrías ser sancionado por los moderadores o adminsitradores DE FORTMICE.</font></p><font size='13'>\n<font color='#FFF504' face='Comic Sans MS'> 1.</font> No está permitido hacer equipos (team).\n<font color='#FFF504' face='Comic Sans MS'> 2.</font> No está permitido hacer farming de victorias.\n<font color='#FFF504' face='Comic Sans MS'> 3.</font> No insultes, ofendas ni utilices un lenguaje soez.\n<font color='#FFF504' face='Comic Sans MS'> 4.</font> No utilices trampas (Software de terceros o modificaciones del sistema) para obtener ventaja sobre el resto de jugadores.\n<font color='#FFF504' face='Comic Sans MS'> 5.</font> Evita jugar en los extremos del mapa (irte a lo más alto del mapa).",
  140. informacion_staff_contenido = "<p align='center'><font size='15' color='#FFF500' >\nEl staff de #fortmice se encarga de atender sugerencias, reportes (jugadores, bugs..) o hacer valer las reglas.</font></p>\n<font size='14'>\n<cite>Administradores:</cite>\n\n<font color='#D3CB13' face='Comic Sans MS'>[Hackinzkt#0000]</font> Creador de fortmice.\n\n<font color='#D3CB13' face='Comic Sans MS'>[Tocutoeltuco#0000]</font> Host y colaborador.\n\n<font color='#D3CB13' face='Comic Sans MS'>[Lua#1908]</font> Beta tester.",
  141. --- HUD --------
  142. hud_uimap = "<font color='#D7CF21'>Fortmice</font> | Construye, lucha y gana.",
  143. hud_plataformas = "Plataformas:",
  144. hud_vivos = "Vivos:",
  145. hud_municion = "Munición",
  146. hud_recarga = "Recarga",
  147. abrirCofre = "Abrir cofre",
  148. hud_espectador = "Espectador",
  149. hud_cofre_bombas = "Bombas",
  150. hud_cofre_lapidas = "Lápidas",
  151. hud_cofre_cajas = "Cajas",
  152. hud_cofre_minigunnevada = "Minigun nevada",
  153. hud_cofre_sniper = "Sniper de doble cañón",
  154. hud_cofre_100plataformas = "100 plataformas",
  155. hud_cofre_impulsador = "Impulsador",
  156. hud_cofre_trampas = "Trampas",
  157. hud_cofre_lanzaderas = "Lanzaderas",
  158. --- AVISOS ----
  159. aviso_victoria = "<font color='#FFFFFF' size='30' face='Comic Sans MS'> Victoria Magistral!",
  160. aviso_victoriaDescrip = "ha ganado la partida.",
  161. aviso_victoriasContador = "Victorias:",
  162. aviso_tormenta = " ¡Se avecina una tormenta!",
  163. aviso_tormentaUp = " ¡Se avecina una tormenta desde arriba!",
  164. aviso_nadieGana = " Nadie gana!",
  165. aviso_nadieGanaDescrip = "Nadie ha logrado sobrevivir :(",
  166. aviso_modoDeJuegoNombre = "Enfrentamientos tormentosos",
  167. aviso_modoDeJuegoDescrip = "Sigue la ruta de la tormenta mientras te enfrentas.",
  168. aviso_textAreaModoDeJuego = "MODO DE JUEGO",
  169. feed = "ha muerto",
  170.  
  171.  
  172.  
  173. },
  174. en = {
  175. bienvenida = "<font color='#FF0FCF'> Welcome to Fortmice!\n<font color='#C2C2DA'>Knock down your enemies while building and surviving the storm, the last player standing wins.\n\n <font color='#BABD2F'>How to play?<font color='#C2C2DA'> Write <font color='#BABD2F'>!info</font>\n\n <font color='#1DC249'>The victories count from 7 players in the room.",
  176.  
  177.  
  178. noticias_titulo = "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>NEWS!</font><font size='9'> (23/10/19)",
  179.  
  180. noticias_texto = "<font size='14'><font size='14' color='#FFF504' face='Comic Sans MS'>»</font><font size='14' color='#0EE05A'><b> NEW GAME MODE!</b></font>:\n Stormy clashes\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Changes in the storm:\n• Now the storm changes direction randomly at the end of the games.\n• A new storm will appear from the sky.\n• The precision of the storm was improved.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> You can now customize the key for consumables.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Now it's easier to place traps, press [space] to activate or deactivate.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> The number of lauch pads was increased from 5 to 6.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Thanks to Clofofa#0000 for the Portuguese translation♥",
  181.  
  182.  
  183.  
  184. datos_corruptos = "<r>Your data was corrupt. It was resetted.",
  185.  
  186. -- MENU ------
  187. controles_boton = "Change controls",
  188. informacion_boton = "Information",
  189. noticias_boton = "News",
  190. controles_encabezado = "Controls",
  191. controles_aviso = "At the moment of clicking on \"Change\", the first key that you press will be the new key assigned.",
  192. suelo = "Floor",
  193. rampa = "Ramp",
  194. rescate = "Rescue",
  195. recarga = "Reload",
  196. consumible = "Consumable",
  197. cambiar = "Change",
  198. restaurarTodo = "Restore all",
  199. presioneAhora = "Press Now!",
  200. esperandoKey = "Waiting...",
  201. cambiosGuardados = "Changes saved!",
  202. informacion_encabezado = "Information",
  203. informacion_cb_informacion = "Information",
  204. informacion_cb_controles = "Controls",
  205. informacion_cb_reglas = "Rules",
  206. informacion_cb_staff = "Staff",
  207. informacion_informacion_contenido = "<p align='center'><font size='15' color='#FFF504' >\nKnock down your enemies while building and surviving the storm, the last player standing wins.</font></p>\n<font size='14'>\n<font color='#FFF504' face='Comic Sans MS'> »</font> Do not enter the storm or you will die.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Approach and open a chest with click to get a special armament or consumable.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Build platforms to cover you or move on the map.\n<font color='#FFF504' face='Comic Sans MS'> »</font> The finals of the matches are more intense; the platforms last less, the bullets cross the grounds and the storm changes direction randomly.",
  208. informacion_controles_x = "Place a floor on the feet of your mouse.",
  209. informacion_controles_c = "Place a ramp towards the direction of your mouse.",
  210. informacion_controles_z = "Place a ground far below your mouse for when you are plummeting.",
  211. informacion_controles_space = "Activate or use consumables (Traps, launch pads, booster)",
  212. informacion_reglas_contenido = "<p align='center'><font size='15' color='#FFF504' >\nIf you break any of these rules, you could be sanctioned by the moderators or administrators of FORTMICE.</font></p><font size='13'>\n<font color='#FFF504' face='Comic Sans MS'> 1.</font> It is not allowed to make teams.\n<font color='#FFF504' face='Comic Sans MS'> 2.</font> It is not allowed to do victory farming.\n<font color='#FFF504' face='Comic Sans MS'> 3.</font> Do not insult, offend or use obscene language.\n<font color='#FFF504' face='Comic Sans MS'> 4.</font> Do not use traps (third party software or system modifications) to gain an advantage over other players.\n<font color='#FFF504' face='Comic Sans MS'> 5.</font> Avoid playing at the extremes of the map (go to the top of the map).",
  213. informacion_staff_contenido = "<p align='center'><font size='15' color='#FFF500' >\nThe #fortmice staff takes care of suggestions, reports (players, bugs ...) or enforcing the rules.</font></p>\n<font size='14'>\n<cite>Administrators:</cite>\n\n<font color='#D3CB13' face='Comic Sans MS'>[Hackinzkt#0000]</font> Creator of Fortmice\n\n<font color='#D3CB13' face='Comic Sans MS'>[Tocutoeltuco#0000]</font> Host and collaborator.\n\n<font color='#D3CB13' face='Comic Sans MS'>[Lua#1908]</font> Beta tester.",
  214.  
  215. --- HUD -----
  216. hud_uimap = "<font color='#D7CF21'>Fortmice</font> | Build, fight and win.",
  217. hud_plataformas = "Platforms:",
  218. hud_vivos = "Alive:",
  219. hud_municion = "Ammo:",
  220. hud_recarga = "Reload:",
  221. abrirCofre = "Open chest",
  222. hud_espectador = "Spectator",
  223. hud_cofre_bombas = "Bombs",
  224. hud_cofre_lapidas = "Tombstones",
  225. hud_cofre_cajas = "Boxes",
  226. hud_cofre_minigunnevada = "Snowy minigun",
  227. hud_cofre_sniper = "Double barrel sniper",
  228. hud_cofre_100plataformas = "100 platforms",
  229. hud_cofre_impulsador = "Booster",
  230. hud_cofre_trampas = "Traps",
  231. hud_cofre_lanzaderas = "Launch pads",
  232. --- AVISOS ----
  233. aviso_victoria = "<font color='#FFFFFF' size='30' face='Comic Sans MS'> Victory Royale!",
  234. aviso_victoriaDescrip = "has won the game.",
  235. aviso_victoriasContador = "Victories:",
  236. aviso_tormenta = " A storm is coming!",
  237. aviso_tormentaUp = " A storm is coming from the sky!",
  238. aviso_nadieGana = " Nobody wins!",
  239. aviso_nadieGanaDescrip = "No one has survived :(",
  240. aviso_modoDeJuegoNombre = "Stormy clashes",
  241. aviso_modoDeJuegoDescrip = "Follow the route of the storm while fighting.",
  242. aviso_textAreaModoDeJuego = "GAME MODE",
  243. feed = "has died",
  244. },
  245.  
  246.  
  247. br = {
  248. bienvenida = "<font color='#FF0FCF'> Bem-vindo ao Fortmice!\n<font color='#C2C2DA'>Derrube seus inimigos enquanto constrói e sobrevive à tempestade, o último jogador sobrevivente vence.\n\n <font color='#BABD2F'>Como jogar?<font color='#C2C2DA'> escreve <font color='#BABD2F'>!info</font>\n\n <font color='#1DC249'>As vitórias contam com 7 jogadores na sala.",
  249. noticias_titulo = "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>NOTÍCIAS!</font><font size='9'> (23/10/19)",
  250. noticias_texto = "<font size='14'><font size='14' color='#FFF504' face='Comic Sans MS'>»</font><font size='14' color='#0EE05A'><b> NOVO MODO DE JOGO!!</b></font>:\n Confrontos tempestuosos\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Mudanças na tempestade:\n• Agora a tempestade muda de direrção aleatoriamente no fim dos jogos.\n• Uma nova tempestade irá aparecer do céu.\n• A precisão da tempestade foi melhorada.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Você agora pode customizar as teclas para os consumíveis.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Agora é mais fácil para posicionar traps, pressione [espaço] para ativar ou desativar.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> O número de launch pads foi aumentado de 5 para 6.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font><font size='12'> Obrigado a <cite>Clofofa#0000</cite> pela tradução para o Português♥",
  251.  
  252. -- MENÚ ----------
  253. controles_boton = "Alterar controles",
  254. informacion_boton = "Informação",
  255. noticias_boton = "Notícias",
  256. controles_encabezado = "Controles",
  257. controles_aviso = "No momento que clicar em \"Mudar\", a primeira tecla que você apertar, será a nova tecla atribuída.",
  258. suelo = "Chão",
  259. rampa = "Rampa",
  260. rescate = "Regaste",
  261. recarga = "Recarregar",
  262. consumible = "Consumível",
  263. cambiar = "Mudar",
  264. restaurarTodo = "Restaurar tudo",
  265. presioneAhora = "Pressione agora!",
  266. esperandoKey = "Esperando...",
  267. cambiosGuardados = "Mudanças salvas!",
  268. informacion_encabezado = "informação",
  269. informacion_cb_informacion = "informação",
  270. informacion_cb_controles = "Controles",
  271. informacion_cb_reglas = "Regras",
  272. informacion_cb_staff = "Staff",
  273. informacion_informacion_contenido = "<p align='center'><font size='15' color='#FFF504' >\nDerrube seus inimigos enquanto constrói e sobrevive à tempestade, o último jogador sobrevivente vence.</font></p>\n<font size='14'>\n<font color='#FFF504' face='Comic Sans MS'> »</font> Não entre na tempestade ou você vai morrer.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Se aproxime e abra um baú clicando no mesmo para conseguir um armamento especial ou consumível.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Construa plataformas para se proteger ou mover pelo mapa.\n<font color='#FFF504' face='Comic Sans MS'> »</font> Os finais das partidas são mais intensos; as plataformas duram menos, as balas atravessam os pisos e a tempestade muda de direção aleatoriamente.",
  274. informacion_controles_x = "Cria um piso no pé do seu rato.",
  275. informacion_controles_c = "Cria uma rampa de acordo com a direção do seu rato.",
  276. informacion_controles_z = "Cria um chão muito abaixo do seu rato para quando você estiver despecando.",
  277. informacion_controles_space = "Ativa ou usa consumíveis (Armadilha, Plataforma de Lançamento, booster)",
  278. informacion_reglas_contenido = "<p align='center'><font size='15' color='#FFF504' >\nSe você quebrar qualquer uma dessas regras, você poderá ser punido pelos moderadores ou administradores DO FORTMICE.</font></p><font size='13'>\n<font color='#FFF504' face='Comic Sans MS'> 1.</font> Não é permitido fazer times.\n<font color='#FFF504' face='Comic Sans MS'> 2.</font> Não é permitido farmar vitórias.\n<font color='#FFF504' face='Comic Sans MS'> 3.</font> Não insulte, ofenda ou use linguagem obscena.\n<font color='#FFF504' face='Comic Sans MS'> 4.</font> Não use hacks (programas de terceiros ou modificações do sistema) para ganhar vantagem sobre os outros jogadores.\n<font color='#FFF504' face='Comic Sans MS'> 5.</font> Evite jogar nos extremos do mapa (indo para o topo do mapa).",
  279. informacion_staff_contenido = "<p align='center'><font size='15' color='#FFF500' >\nOs staffs do #fortmice cuidam das sugestões, reportes (jogadores, bugs...) e aplicam as regras.</font></p>\n<font size='14'>\n<cite>Administradores:</cite>\n\n<font color='#D3CB13' face='Comic Sans MS'>[Hackinzkt#0000]</font> Criador do Fortmice.\n\n<font color='#D3CB13' face='Comic Sans MS'>[Tocutoeltuco#0000]</font> Host e colaborador.\n\n<font color='#D3CB13' face='Comic Sans MS'>[Lua#1908]</font> Beta tester.",
  280.  
  281.  
  282. -- HUD --------
  283. hud_uimap = "<font color='#D7CF21'>Fortmice</font> | construir, lutar e vencer",
  284. hud_plataformas = "Plataformas:",
  285. hud_vivos = "Vivo:",
  286. hud_municion = "Munição:",
  287. hud_recarga = "Recarrega:",
  288. abrirCofre = "Abrir Baú",
  289. hud_espectador = "Espectador",
  290. hud_cofre_bombas = "Bombas",
  291. hud_cofre_lapidas = "Lápides",
  292. hud_cofre_cajas = "Caixas",
  293. hud_cofre_minigunnevada = "Minigun nevada",
  294. hud_cofre_sniper = "Atirador de cano duplo",
  295. hud_cofre_100plataformas = "100 plataformas",
  296. hud_cofre_impulsador = "Impulsor",
  297. hud_cofre_trampas = "Armadilha",
  298. hud_cofre_lanzaderas = "Plataforma de lançamento",
  299. -- AVISOS ----
  300. aviso_victoria = "<font color='#FFFFFF' size='30' face='Comic Sans MS'> Vitória Royale!",
  301. aviso_victoriaDescrip = "ganhou o jogo.",
  302. aviso_victoriasContador = "Vitórias:",
  303. aviso_tormenta = " Uma tempestade está vindo!",
  304. aviso_tormentaUp = " Uma tempestade está vindo do céu!",
  305. aviso_nadieGana = " Ninguém ganha!",
  306. aviso_nadieGanaDescrip = "Ninguém sobreviveu :(",
  307. aviso_modoDeJuegoNombre = "Confrontos tempestuosos",
  308. aviso_modoDeJuegoDescrip = "Siga a rota da tempestade enquanto luta.",
  309. aviso_textAreaModoDeJuego = "MODO DE JOGO",
  310. feed = "morreu",
  311. },
  312. fr = {
  313. bienvenida = "<font color='#FF0FCF'> Bienvenue à Fortmice!\n<font color='#C2C2DA'>Éliminez vos ennemis tout en construisant et en survivant à la tempête, le dernier joueur en vie gagne.\n\n <font color='#BABD2F'>Comment jouer?<font color='#C2C2DA'> tirer avec <font color='#BABD2F'>click</font> et construire avec les clés <font color='#BABD2F'>X C Z</font>\n <font color='#BABD2F'>Tout bug ou suggestion? <font color='#C2C2DA'>contact avec <font color='#BABD2F'>Hackinzkt#0000</font> ou <font color='#68A8F2'>les modérateurs fortmice</font>\n<r><b>LES MODERATEURS DE FORTMICE NE SONT PAS DES MODERATEURS DE TRANSFORMICE.</b></r>",
  314. noticias_titulo = "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>INFORMATIONS!</font><font size='9'> (13/9/19)",
  315. -- noticias_texto = "<font size='14' color='#FFF504' face='Comic Sans MS'>»</font><font size='14'> Une barrière de protection a été ajoutée au début des jeux pour éviter les morts subites.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Les crânes ont également été enlevés près des respawns.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> SLa durée des plateformes au début des jeux a été réduite pour éviter la stagnation. \n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> La force des flèches a été augmentée de 41 à 45. \n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Le nombre maximum de rats dans la chambre a été réduit de 25 à 22. \n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Correction d'un bug qui entraînait la fin du jeu plus tôt.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Le message de confirmation des contrôles a été déplacé (dans le tchat) car il causait des problèmes.\n<font size='14' color='#FFF504' face='Comic Sans MS'>»</font> Les données sont maintenant sauvegardées (victoires, configuration des contrôles)",
  316. --- HUD --------
  317. hud_uimap = "<font color='#D7CF21'>Fortmice</font> | Build, fight and win.",
  318. hud_plataformas = "Platforms:",
  319. hud_vivos = "Alive:",
  320. hud_municion = "Ammo:",
  321. hud_recarga = "Reload:",
  322. }
  323. }
  324. langs.pt = langs.br
  325.  
  326. local function translate(lang, text)
  327. if langs[lang] and langs[lang][text] then
  328. return langs[lang][text]
  329. elseif langs.en[text] then
  330. return langs.en[text]
  331. else
  332. return "$" .. text .. "$"
  333. end
  334. end
  335.  
  336. keyz = {
  337. [0] = "&lt;",
  338. [2] = ">",
  339. [32] = "space",
  340. [65] = "A",
  341. [66] = "B",
  342. [67] = "C",
  343. [68] = "D",
  344. [69] = "E",
  345. [70] = "F",
  346. [71] = "G",
  347. [72] = "H",
  348. [73] = "I",
  349. [74] = "J",
  350. [75] = "K",
  351. [76] = "L",
  352. [77] = "M",
  353. [78] = "N",
  354. [79] = "O",
  355. [80] = "P",
  356. [81] = "Q",
  357. [82] = "R",
  358. [83] = "S",
  359. [84] = "T",
  360. [85] = "U",
  361. [86] = "V",
  362. [87] = "W",
  363. [88] = "X",
  364. [89] = "Y",
  365. [90] = "Z",
  366. [48] = "0",
  367. [49] = "1",
  368. [50] = "2",
  369. [51] = "3",
  370. [52] = "4",
  371. [53] = "5",
  372. [54] = "6",
  373. [55] = "7",
  374. [56] = "8",
  375. [57] = "9",
  376. [97] = "1",
  377. [98] = "2",
  378. [99] = "3",
  379. }
  380.  
  381. local loadPlayerData, savePlayerData
  382. do
  383. local stringData = {}
  384. local dataSystemVersion = "0.1"
  385. local moduleIdentifier = "fm"
  386. local dataVersion = "0.6"
  387. local resetOnOlderVersion = "0.3"
  388. local saveValues = {
  389. victorias = "number",
  390. key_rampa = "number",
  391. key_suelo = "number",
  392. key_recarga = "number",
  393. key_rescate = "number",
  394. key_consumible = "number",
  395. noticias_version = "number",
  396. }
  397. --[[
  398. Explicación:
  399. Al usar datos hosteados en mi cuenta (Tocutoeltuco#0000), todos los datos que
  400. yo use (ya sea para este o para otro módulo) se compartirán. Es decir,
  401. tu system.savePlayerData en #fortmice afecta el system.loadPlayerData en cualquier
  402. otro módulo o script que yo cargue, y viceversa. Lo mismo con los archivos.
  403. Por lo tanto, este sistema requiere un identificador de módulo (el tuyo será fm),
  404. así tu modulo no modifica datos de otros módulos. La version del sistema de datos
  405. es por si en algún momento cambio el sistema. La versión de los datos es por si
  406. en algún momento se te ocurre cambiar los datos guardados, en tal caso, el código
  407. detectará si alguien tiene una version más antigua que la que estás usando, y si lo es
  408. checkeará si es menor que resetOnOlderVersion, si lo es, reseteará sus datos y le mandará
  409. un mensaje.
  410. saveValues son los valores que guardas, te recomiendo no modificarlo sin avisarme
  411. ]]
  412.  
  413. local function getDefaultData()
  414. return {
  415. plataformas = 12,
  416. reloadPlataformas = 0,
  417. flechasDefault = 1,
  418. canShoot = nil,
  419. inGame = 0,
  420. showUpdate = 0,
  421. tImpulsador = 10,
  422. tWaitingKey= 20,
  423. asignandoKey= 0,
  424. txt_salud = 100,
  425. cofre101102Bombas = 0,
  426. cofre103104Lapidas = 0,
  427. cofre105106Impulsador = 0,
  428. cofre108Sniper = 0,
  429. cofre110111Trampa = 0,
  430. cofre112113Cajas = 0,
  431. cofre114115Lanzaderas= 0,
  432. cofre116117MinigunNevada= 0,
  433. trampas = 4,
  434. trampasOn = 0,
  435. lanzaderas = 6,
  436. force = 45,
  437. ammo = 7,
  438. txt_key_rampa = "C",
  439. txt_key_suelo = "X",
  440. txt_key_recarga = "Q",
  441. txt_key_rescate = "Z",
  442. txt_key_consumible = "space",
  443. victorias = 0,
  444. key_rampa = 67,
  445. key_suelo = 88,
  446. key_recarga = 81,
  447. key_rescate = 90,
  448. key_consumible = 32,
  449. noticias_version = 0
  450. }
  451. end
  452.  
  453. local function onPlayerDataLoaded(player)
  454. tfm.exec.setPlayerScore(player,mice[player].victorias,false)
  455. mice[player].txt_key_rampa = keyz[mice[player].key_rampa]
  456. mice[player].txt_key_suelo = keyz[mice[player].key_suelo]
  457. mice[player].txt_key_recarga = keyz[mice[player].key_recarga]
  458. mice[player].txt_key_rescate = keyz[mice[player].key_rescate]
  459. mice[player].txt_key_consumible = keyz[mice[player].key_consumible]
  460. ui.addTextArea(22, "<b>"..mice[player].txt_key_suelo.."", player, 11, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  461. ui.addTextArea(23, "<b>"..mice[player].txt_key_rampa.."</a>", player, 40, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  462. ui.addTextArea(28, "<b>"..mice[player].txt_key_rescate.."", player, 70, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  463. if mice[player].noticias_version < noticias_version then
  464. displayUpdate(player)
  465. end
  466. mice[player].noticias_version = noticias_version
  467. savePlayerData(player)
  468. end
  469.  
  470. function eventPlayerDataLoaded(player, data)
  471. if data == "" then
  472. stringData[player] = moduleIdentifier .. ":0:0;"
  473. return onPlayerDataLoaded(player)
  474. end
  475.  
  476. if string.sub(data, 1, 2 + #dataSystemVersion) ~= "|" .. dataSystemVersion .. "|" then
  477. stringData[player] = moduleIdentifier .. ":0:0;"
  478. tfm.exec.chatMessage(translate(tfm.get.room.playerList[player].community, "datos_corruptos"), player)
  479. else
  480. data = string.sub(data, 3 + #dataSystemVersion)
  481. stringData[player] = data
  482. local version, module_data = string.match(data, moduleIdentifier .. ":([^:]+):([^;]+);")
  483.  
  484. if version then
  485. if version <= resetOnOlderVersion then
  486. tfm.exec.chatMessage(translate(tfm.get.room.playerList[player].community, "datos_corruptos"), player)
  487. else
  488. for key, value in string.gmatch(string.gsub(string.gsub(module_data, "&0", ":"), "&1", ";"), "([^:]+):([^;]+);") do
  489. if saveValues[key] == "number" then
  490. mice[player][key] = tonumber(value)
  491. elseif saveValues[key] == "boolean" then
  492. mice[player][key] = value == "1"
  493. elseif saveValues[key] == "string" then
  494. mice[player][key] = string.gsub(string.gsub(string.gsub(value, "&2", ":"), "&3", ";"), "&4", "&")
  495. else
  496. mice[player] = getDefaultData()
  497. tfm.exec.chatMessage(translate(tfm.get.room.playerList[player].community, "datos_corruptos"), player)
  498. break
  499. end
  500. end
  501. end
  502. end
  503. end
  504. onPlayerDataLoaded(player)
  505. end
  506.  
  507. function loadPlayerData(player)
  508. mice[player] = getDefaultData()
  509.  
  510. if not system.loadPlayerData(player) then
  511. onPlayerDataLoaded(player)
  512. end
  513. end
  514.  
  515. function savePlayerData(player)
  516. if not stringData[player] then return end
  517.  
  518. local moduleData = moduleIdentifier .. ":" .. dataVersion .. ":"
  519. local valueData, globalData
  520. for key, saveType in next, saveValues do
  521. valueData = key .. "&0"
  522. if saveType == "boolean" then
  523. moduleData = moduleData .. valueData .. (mice[player][key] and "1" or "0") .. "&1"
  524. elseif saveType == "number" then
  525. moduleData = moduleData .. valueData .. tostring(tonumber(mice[player][key]) or 0) .. "&1"
  526. elseif saveType == "string" then
  527. moduleData = moduleData .. valueData .. string.gsub(string.gsub(string.gsub(mice[player][key], "&", "&4"), ";", "&3"), ":", "&2") .. "&1"
  528. else
  529. error("Can not cast data to " .. saveType .. " to save it.", 2)
  530. end
  531. end
  532.  
  533. globalData = "|" .. dataSystemVersion .. "|"
  534. for module, version, data in string.gmatch(stringData[player], "([^:]+):([^:]+):([^;]+);") do
  535. if module == moduleIdentifier then
  536. globalData = globalData .. moduleData .. ";"
  537. else
  538. globalData = globalData .. module .. ":" .. version .. ":" .. data .. ";"
  539. end
  540. end
  541.  
  542. system.savePlayerData(player, globalData)
  543. end
  544. end
  545.  
  546. commands = {"n","p","ban","desban","getwins"}
  547. for i,command in ipairs(commands) do system.
  548. disableChatCommandDisplay(command,true)
  549. end
  550.  
  551. local maps= {7642772,7642774,7642776,7642777,7625644,7626683,7642778,7423106,7428983,7532123,7532125,7532128,7533224,7533232,7577881,7578387,7625705,7625890,7625938,7626300,7626345,7626636,7626678,7642780}
  552. local gameModemaps= {7646218,7646220,7646221,7646222,7647932,7647934}
  553.  
  554.  
  555. local admins = {"Hackinzkt#0000","Tocutoeltuco#0000","Lua#1908"}
  556. local mods = {}
  557. local banlist = {}
  558. local acurrentMap
  559. local playersInRoom = 0
  560. last_player_name_alive = ""
  561. local toRespawn = {}
  562. tFeed = 0
  563. tlastPlayer = 0
  564. tgameMode = 0
  565. feedID= 50
  566. feedTxT= 0
  567. tTormentComming = 20
  568. quickPlataform = 0
  569. globalPlataformas = 0
  570. inCheese = 0
  571. firstRound = 0
  572. toDespawn = {}
  573. facingLeft = {}
  574. victory = 0
  575. tStorm = 0
  576. feedID= 50
  577. feedPos = 390
  578. barreras = 10000
  579.  
  580. local settings = {
  581. recoil = 2,
  582. maxObjects = 14,
  583. ammoTicks = 3,
  584. }
  585.  
  586. local textareaCoords = {}
  587. local SETTINGS = {
  588. mapLength = 4800,
  589. textareaAmount = 17,
  590. textareaSize = 18,
  591. }
  592.  
  593. function players_alive()
  594. nr = 0
  595. for name,player in pairs(tfm.get.room.playerList) do
  596. if tfm.get.room.playerList[name].isDead == false then
  597. nr = nr +1
  598. last_player_name_alive = name
  599. end
  600. end
  601. return nr
  602. end
  603.  
  604.  
  605.  
  606. function isAdmin (name)
  607. for _,adminName in pairs(admins) do
  608. tfm.exec.setNameColor(adminName,0xFCF903)
  609. if name == adminName then return true end
  610. end
  611. return false
  612. end
  613.  
  614. function isMod (name)
  615. for _,modName in pairs(mods) do
  616. tfm.exec.setNameColor(modName,0x54B2DF)
  617. if name == modName then return true end
  618. end
  619. return false
  620. end
  621.  
  622. function isBanned (name)
  623. for _,bannedName in pairs(banlist) do
  624. if name == bannedName then return true end
  625. end
  626. return false
  627. end
  628.  
  629.  
  630. --------- TORMENTA LEFT ---------
  631.  
  632. local textAreaWIDTHL = 5000
  633. local textAreaHEIGHTL = 1300
  634. avanceTormentLeft = 0
  635. local textareaLeft = setmetatable({ x = 0, y = 0, radiusX = (textAreaWIDTHL+4990) / 4, radiusY = (textAreaHEIGHTL+200) / 2}, {
  636. __call = function(list, objectX, objectY)
  637. local x, y = (list.x - objectX), (list.y - objectY)
  638. return x >= -list.radiusX and x <= list.radiusX and y >= -list.radiusY and y <= list.radiusY
  639. end
  640. })
  641. textareaLeft.x = -2508
  642. textareaLeft.y = 445
  643.  
  644. --------- TORMENTA RIGHT ---------
  645.  
  646. local textAreaWIDTH = 5000
  647. local textAreaHEIGHT = 1300
  648. avanceTormentRight = 0
  649. local textarea = setmetatable({ x = 0, y = 0, radiusX = (textAreaWIDTH+200) / 4, radiusY = (textAreaHEIGHT+200) / 2}, {
  650. __call = function(list, objectX, objectY)
  651. local x, y = (list.x - objectX), (list.y - objectY)
  652. return x >= -list.radiusX and x <= list.radiusX and y >= -list.radiusY and y <= list.radiusY
  653. end
  654. })
  655. textarea.x = 6104
  656. textarea.y = 445
  657.  
  658.  
  659.  
  660. --------- TORMENTA UP ---------
  661.  
  662. local textAreaWIDTHUP = 4800
  663. local textAreaHEIGHTUP = 800
  664.  
  665. local textareaUp = setmetatable({ x = 0, y = 0, radiusX = (textAreaWIDTHUP) / 2, radiusY = (textAreaHEIGHTUP) / 2}, {
  666.  
  667. __call = function(list, objectX, objectY)
  668. local x, y = (list.x - objectX), (list.y - objectY)
  669.  
  670.  
  671. return x >= -list.radiusX and x <= list.radiusX and y >= -list.radiusY and y <= list.radiusY
  672. end
  673. })
  674.  
  675. textareaUp.x = 2400
  676. textareaUp.y = -600
  677. avanceTormentaUp = 0
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686. local players = {}
  687. local objects = {}
  688.  
  689. keys = {67,88,81,90,0,2,32,49,50,51,52,53,54,55,56,57,58,59,65,66,68,69,70,71,72.73,74,75,76,77,78,79,80,82,83,84,85,86,87,89,97,98,99}
  690. _C = 67
  691. _X = 88
  692. _Q = 81
  693. _Z = 90
  694. _A = 65
  695. _B = 66
  696. _E = 69
  697. _left = 0
  698. _right = 2
  699. _space = 32
  700. _rampaDerecha = {width=80, height=10, foreground=true, miceCollision=true, groundCollision=true, type=0, angle=-45, friction=0.2}
  701. _rampaIzquierda = {width=80, height=10, foreground=true, miceCollision=true, groundCollision=true, type=0, angle=45, friction=0.2}
  702. _Suelo = {width=80, height=10, foreground=true, miceCollision=true, groundCollision=true, type=0, angle=0, friction=0.3}
  703. _rescate = {width=100, height=10, foreground=true, miceCollision=true, groundCollision=true, type=0, angle=-180, friction=0.3}
  704. _lanzaderaRight = {width=50, height=10, foreground=true, miceCollision=true, groundCollision=true, type=2, angle=40, friction=0, restitution=2}
  705. _lanzaderaCentro = {width=50, height=10, foreground=true, miceCollision=true, groundCollision=true, type=2, angle=0, friction=0, restitution=5}
  706. _lanzaderaLeft = {width=50, height=10, foreground=true, miceCollision=true, groundCollision=true, type=2, angle=-40, friction=0, restitution=2}
  707.  
  708. _trampaBase = {width=10, height=115, foreground=true, miceCollision=true, groundCollision=false,mass=999999, linearDamping=5,angularDamping=1, type=3, angle=-90, friction=999,dynamic=false, restitution=5}
  709. _trampalado1 = {width=10, height=115, foreground=true, miceCollision=true, groundCollision=false,mass=999999,linearDamping=5,angularDamping=1, type=3, angle=30, friction=999,dynamic=false, restitution=2}
  710. _trampalado2 = {width=10, height=115, foreground=true, miceCollision=true, groundCollision=false,mass=999999, linearDamping=5,angularDamping=1, type=3, angle=-30, friction=999,dynamic=false, restitution=2}
  711. _trampaSpiderWeb = {width=75, height=75, foreground=false, miceCollision=false, type=15}
  712.  
  713. _barreraLeft = {width=10, height=1200, foreground=true,groundCollision=false, miceCollision=true, type=15}
  714. _barreraRight = {width=10, height=1200, foreground=false,groundCollision=false, miceCollision=true, type=15}
  715. _barreraUpLeft = {width=2400, height=10, foreground=false,groundCollision=false, miceCollision=true, type=15}
  716. _barreraUpRight = {width=2400, height=10, foreground=false,groundCollision=false, miceCollision=true, type=15}
  717.  
  718.  
  719. -- END -----------------------------------
  720.  
  721.  
  722. function main()
  723.  
  724. for n in pairs(tfm.get.room.playerList) do
  725. eventNewPlayer(n)
  726. tfm.exec.setPlayerScore(n,0)
  727. tfm.exec.setUIMapName(""..translate(tfm.get.room.playerList[n].community, "hud_uimap").."")
  728. end
  729.  
  730. tfm.exec.disableAutoNewGame()
  731. tfm.exec.disableAutoTimeLeft()
  732. tfm.exec.disableAutoShaman()
  733. tfm.exec.disableAutoScore(true)
  734. tfm.exec.disablePhysicalConsumables()
  735. tfm.exec.disableMinimalistMode()
  736. tfm.exec.disableWatchCommand()
  737. tfm.exec.setRoomMaxPlayers(22)
  738. objects = queue.new()
  739. startGame()
  740. end
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748. function eventNewPlayer(name)
  749. tfm.exec.setUIMapName(""..translate(tfm.get.room.playerList[name].community, "hud_uimap").."")
  750. tfm.exec.chatMessage(""..translate(tfm.get.room.playerList[name].community, "bienvenida").."",name)
  751. tfm.exec.addImage("16dfb1c1dfe.png", ":1", 6, 260, name)
  752. ui.addTextArea(951,"<font size='13' color='#FFFFFF'>"..players_alive().."", name, 25, 262, 80, 23, 0x324650, 0x000000, 0, true)
  753. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", nil, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  754. ui.addTextArea(9992, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_espectador").."</font>", name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  755. ui.addTextArea(21, "<font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "hud_plataformas").."", name, 5, 290, 100, 20, 0x324650, 0x000000, 0, true)
  756. ui.addTextArea(22, "<b>X", name, 11, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  757. ui.addTextArea(23, "<b>C", name, 40, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  758. ui.addTextArea(28, "<b>Z", name, 70, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  759. playersInRoom = playersInRoom + 1
  760. for _,k in pairs(keys) do
  761. system.bindKeyboard(name, k, true)
  762. end
  763.  
  764. playerz[name]={
  765. timestamp=os.time(),
  766. offsets={x=3, y=8},
  767. visible=false,
  768. side = 1
  769. }
  770.  
  771.  
  772. loadPlayerData(name)
  773. end
  774.  
  775.  
  776. function eventPlayerLeft (name)
  777. playersInRoom = playersInRoom - 1
  778. end
  779.  
  780. -------------------------------------- ROTATION -----------------------------------
  781.  
  782.  
  783.  
  784.  
  785.  
  786. function startGame()
  787. if gameMode <=1 then
  788. tfm.exec.newGame(maps[math.random(#maps)])
  789. end
  790. if gameMode >1 then
  791. tfm.exec.newGame(gameModemaps[math.random(#gameModemaps)])
  792. end
  793.  
  794. nadieGana = 0
  795. victory = 0
  796. avanceTormenta = 0
  797. avanceTormentaUp = 0
  798. tTormentComming = 20
  799. tnadieGanaLoop = 6
  800. quickPlataform = 1
  801. firstRound = firstRound + 1
  802.  
  803.  
  804. textareaUp.x = 2400
  805. textareaUp.y = -600
  806.  
  807.  
  808. direccion = 0
  809. stormUp = false
  810.  
  811. end
  812.  
  813.  
  814. function eventNewGame()
  815. tStorm = 160
  816. gameMode = gameMode + 1
  817. tfm.exec.setGameTime(172)
  818. isAdmin()
  819. isMod()
  820.  
  821.  
  822.  
  823.  
  824. --------------------- CLEAN TextAreas -----------------------------
  825.  
  826. ui.removeTextArea(50,nil)
  827. ui.removeTextArea(51,nil)
  828. ui.removeTextArea(52,nil)
  829. ui.removeTextArea(53,nil)
  830. ui.removeTextArea(9998,nil)
  831. ui.removeTextArea(9992,nil)
  832. ui.removeTextArea(666,nil)
  833. ui.removeTextArea(668,nil)
  834. ui.removeTextArea(667,nil)
  835. ui.removeTextArea(665,nil)
  836. ui.removeTextArea(669,nil)
  837. ui.removeTextArea(777,nil)
  838. ui.removeTextArea(443,nil)
  839. ui.removeTextArea(444,nil)
  840. ui.removeTextArea(445,nil)
  841. ui.removeTextArea(446,nil)
  842. ui.removeTextArea(447,nil)
  843. ui.removeTextArea(448,nil)
  844. ui.removeTextArea(27,nil)
  845. ui.removeTextArea(288,nil)
  846. ui.removeTextArea(29,nil)
  847. ui.removeTextArea(-9999,nil)
  848. ui.removeTextArea(201,nil)
  849. ui.removeTextArea(202,nil)
  850. ui.removeTextArea(203,nil)
  851. ui.removeTextArea(-999,nil)
  852. ui.removeTextArea(-998,nil)
  853. ui.removeTextArea(-997,nil)
  854. ui.removeTextArea(-996,nil)
  855.  
  856. ---------------------------------COFRES TEXTAREA-----------------------------
  857.  
  858. textareaCoords = {}
  859.  
  860. for id = 1, SETTINGS.textareaAmount do
  861. id = id+100
  862. local rand = math.random
  863. local x, y = rand(SETTINGS.mapLength), rand(350)
  864.  
  865. textareaCoords[#textareaCoords + 1] = {x = x, y = y}
  866.  
  867. for player, data in next, tfm.get.room.playerList do
  868. ui.addTextArea(id,"<font color='#00000F'><a href='event:abrirCofre'>"..translate(data.community, "abrirCofre").."</a>", player, x, y+30, 70, SETTINGS.textareaSize, 0xFFC500, 0x795722, 0.8, false)
  869. end
  870.  
  871. end
  872.  
  873. --------------------- RESET DEFAULT VALUES from mice[name] -----------------------------
  874.  
  875. for name in pairs(tfm.get.room.playerList) do
  876. if name and mice[name] then
  877. mice[name].plataformas = 12
  878. mice[name].inGame = 1
  879. mice[name].txt_salud = 100
  880. mice[name].flechasDefault = 1
  881. mice[name].canShoot = true
  882. mice[name].reloadPlataformas = 0
  883. mice[name].cofre101102Bombas = 0
  884. mice[name].cofre103104Lapidas = 0
  885. mice[name].cofre105106Impulsador = 0
  886. mice[name].cofre108Sniper = 0
  887. mice[name].cofre112113Cajas = 0
  888. mice[name].cofre110111Trampa = 0
  889. mice[name].trampas = 4
  890. mice[name].trampasOn = 0
  891. mice[name].cofre114115Lanzaderas = 0
  892. mice[name].cofre116117MinigunNevada = 0
  893. mice[name].lanzaderas = 6
  894. mice[name].ammo = 7
  895. mice[name].force = 45
  896. savePlayerData(name)
  897. tfm.exec.setUIMapName(""..translate(tfm.get.room.playerList[name].community, "hud_uimap").."")
  898. ui.addTextArea(20, "<font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "hud_municion").."", name, 5, 345, 90, 50, 0x324650, 0x000000, 0, true)
  899. ui.addTextArea(22, "<b>"..mice[name].txt_key_suelo.."", name, 11, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  900. ui.addTextArea(23, "<b>"..mice[name].txt_key_rampa.."</a>", name, 40, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  901. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>12/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  902. ui.addTextArea(28, "<b>"..mice[name].txt_key_rescate.."", name, 70, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  903. -- ui.addTextArea(44455, "Salud: "..mice[name].txt_salud.."", name,320, 290, 102, 27, 0x324650, 0x000000, 1, true)
  904. ui.removeTextArea(25,name)
  905. ui.removeTextArea(26,name)
  906. end
  907. end
  908.  
  909. for player, data in next, tfm.get.room.playerList do
  910. ui.addTextArea(951, "<font size='13' color='#FFFFFF'>"..players_alive().." ", player, 25, 262, 80, 23, 0x324650, 0x000000, 0, true)
  911. end
  912.  
  913. ui.removeTextArea(29,nil) -- tramaps munición
  914.  
  915. ---------------------------------------------------------------------
  916. for _,playerName in pairs(banlist) do
  917. tfm.exec.killPlayer(playerName);
  918. end
  919.  
  920. players = {}
  921. for name in pairs(tfm.get.room.playerList) do
  922. initPlayer(name)
  923. end
  924.  
  925.  
  926.  
  927. if gameMode <= 2 then
  928.  
  929. textarea.x = 6104
  930. textarea.y = 445
  931. textareaLeft.x = -2508
  932. textareaLeft.y = 445
  933.  
  934. barreras = 10000
  935. barreras = barreras + 4
  936. tfm.exec.addPhysicObject(barreras,-6,201, _barreraLeft)
  937. tfm.exec.addPhysicObject(barreras-1,4806,201, _barreraRight)
  938. tfm.exec.addPhysicObject(barreras-2,1200,-5, _barreraUpLeft)
  939. tfm.exec.addPhysicObject(barreras-3,3600,-5, _barreraUpRight)
  940. end
  941.  
  942.  
  943.  
  944.  
  945. if gameMode == 3 then
  946. textarea.x = 2000
  947. textarea.y = 445
  948. textareaLeft.x = -2508
  949. textareaLeft.y = 445
  950. direccion = 1
  951. for player, data in next, tfm.get.room.playerList do
  952. ui.addTextArea(12200, "<p align='center'><font size='35' color='#0082FF' face = 'Lucida Handwriting Cursiva'>"..translate(data.community, "aviso_modoDeJuegoNombre").."", player, 3, 83, 795, 49, 0x000000, 0x000000, 0, true)
  953. ui.addTextArea(12201, "<p align='center'><font size='35' color='#FFFFFF' face = 'Lucida Handwriting Cursiva'>"..translate(data.community, "aviso_modoDeJuegoNombre").."", player, 5, 83, 795, 51, 0x000000, 0x000000, 0, true)
  954. ui.addTextArea(12202, "<p align='center'><font size='35' color='#000000'>___________", player, 298, 90, 196, 48, 0x000000, 0x000000, 0, true)
  955. ui.addTextArea(12203, "<p align='center'><font size='35' color='#000000'>___________", player, 297, 43, 200, 52, 0x000000, 0x000000, 0, true)
  956. ui.addTextArea(12204, "<p align='center'><font color='#ffdd00'>"..translate(data.community, "aviso_textAreaModoDeJuego").."", player, 672, 28, 120, 20, 0x6a7495, 0xffdd00, 1, true)
  957. ui.addTextArea(12205, "<p align='center'><font color='#FFF500' size='14'>"..translate(data.community, "aviso_modoDeJuegoDescrip").."", player, 179, 138, 430, 20, 0x324650, 0xffdd00, 0, true)
  958. end
  959.  
  960. tgameMode = 10
  961.  
  962. barreras = 10000
  963. barreras = barreras + 4
  964. tfm.exec.addPhysicObject(barreras,-6,201, _barreraLeft)
  965. tfm.exec.addPhysicObject(barreras-1,690,201, _barreraRight)
  966. tfm.exec.addPhysicObject(barreras-2,1200,-5, _barreraUpLeft)
  967. tfm.exec.addPhysicObject(barreras-3,3600,-5, _barreraUpRight)
  968. elseif gameMode == 4 then
  969. gameMode = 1
  970. end
  971.  
  972.  
  973. end
  974.  
  975.  
  976.  
  977.  
  978.  
  979. function eventPlayerDied(name)
  980. ui.addTextArea(9992, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_espectador").."</font>", name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  981. ui.removeTextArea(25,name)
  982. ui.removeTextArea(26,name)
  983. ui.removeTextArea(26,name)
  984. ui.removeTextArea(-9999,name)
  985. mice[name].tImpulsador = 0
  986. for player, data in next, tfm.get.room.playerList do
  987. ui.addTextArea(951, "<font size='13' color='#FFFFFF'>"..players_alive().." ", player, 25, 262, 80, 23, 0x324650, 0x000000, 0, true)
  988. end
  989.  
  990. if not isBanned(name) then
  991. tFeed = 10
  992. feedID = feedID + 1
  993. feedPos = feedPos - 20
  994. mice[name].showUpdate = mice[name].showUpdate + 1
  995. for player, data in next, tfm.get.room.playerList do
  996. ui.addTextArea(feedID, "<font size='14'><font color='#FFF500' face='Comic Sans MS'>"..name.."</font><font color='#FFFFFF'> "..translate(data.community, "feed").."", player, 570,feedPos, 240, 20, 0x324650, 0x000000, 0, true)
  997. end
  998.  
  999. ui.removeTextArea(-9999,name)
  1000. end
  1001. if feedID >= 53 then
  1002. feedID = 50
  1003. feedPos = 390
  1004. end
  1005. tfm.exec.setPlayerScore(name,mice[name].victorias,false)
  1006.  
  1007. if playersInRoom >=7 and players_alive() == 1 then
  1008. mice[last_player_name_alive].victorias = mice[last_player_name_alive].victorias + 1
  1009. tfm.exec.setPlayerScore(last_player_name_alive,mice[last_player_name_alive].victorias,false)
  1010. end
  1011.  
  1012. -- Asegura que el valor de gameMode cambie a 1
  1013. if players_alive() == 1 and gameMode == 3 then
  1014. gameMode = 0
  1015. end
  1016.  
  1017. if players_alive() == 1 then
  1018. victory = 1
  1019. tStorm = 5
  1020. ui.addTextArea(666, "", nil, 240, 76, 345, 45, 0x417FBC, 0x417FBC, 1, true)
  1021. for player, data in next, tfm.get.room.playerList do
  1022. ui.addTextArea(668,""..translate(data.community, "aviso_victoria").."", player, 200, 77, 380, 50, 0x324650, 0x000000, 0, true)
  1023. ui.addTextArea(665, "<p align='center'><font color='#FFFFFF' size='14'><font color='#FFF504'>"..last_player_name_alive.."</font> "..translate(data.community, "aviso_victoriaDescrip").."", player, 240, 130, 350, 45, 0x417FBC, 0x417FBC, 0, true)
  1024. ui.addTextArea(669, "<p align='center'><font color='#FFFFFF' size='12'>"..translate(data.community, "aviso_victoriasContador").."<font color='#FFF504'> "..mice[last_player_name_alive].victorias.."</font>", player, 238, 150, 350, 45, 0x417FBC, 0x417FBC, 0, true)
  1025.  
  1026. end
  1027.  
  1028. ui.addTextArea(667, "<font color='#FFF504' size='45' face='Comic Sans MS'>#1", nil, 242, 68, 73, 60, 0x324650, 0x000000, 0, true)
  1029. ui.removeTextArea(-9999,last_player_name_alive)
  1030. mice[last_player_name_alive].tImpulsador = 0
  1031. mice[last_player_name_alive].cofre105106Impulsador = 0
  1032. avanceTormenta = 0
  1033. ui.removeTextArea(445,nil)
  1034. ui.removeTextArea(446,nil)
  1035. ui.removeTextArea(447,nil)
  1036. ui.removeTextArea(448,nil)
  1037. ui.removeTextArea(-999,nil)
  1038. ui.removeTextArea(-998,nil)
  1039. ui.removeTextArea(444,nil)
  1040. ui.removeTextArea(443,nil)
  1041. ui.removeTextArea(442,nil)
  1042. ui.removeTextArea(441,nil)
  1043. ui.removeTextArea(-999,nil)
  1044. ui.removeTextArea(-998,nil)
  1045. ui.removeTextArea(-997,nil)
  1046. ui.removeTextArea(-996,nil)
  1047.  
  1048. tlastPlayer = 11
  1049. tfm.exec.setGameTime(7)
  1050.  
  1051. end
  1052. -- Asegura que el valor de gameMode cambie a 1
  1053. if players_alive() == 0 and victory == 0 and gameMode == 3 then
  1054. gameMode = 0
  1055. end
  1056.  
  1057. if players_alive() == 0 and victory == 0 then
  1058. tStorm = 5
  1059. ui.addTextArea(445, "", nil, 240, 76, 345, 45, 0xC00F0F, 0xC00F0F, 1, true)
  1060. for player, data in next, tfm.get.room.playerList do
  1061. ui.addTextArea(446, "<font color='#FFFFFF' size='30' face='Comic Sans MS'>"..translate(data.community, "aviso_nadieGana").."", player, 240, 77, 380, 50, 0x324650, 0x000000, 0, true)
  1062. ui.addTextArea(447, "<font color='#FFF504' size='45' face='Comic Sans MS'>#-1", player, 242, 68, 100, 65, 0x324650, 0x000000, 0, true)
  1063. ui.addTextArea(448, "<p align='center'><font color='#FFFFFF' size='14'>"..translate(data.community, "aviso_nadieGanaDescrip").."", player, 240, 130, 345, 20, 0xC00F0F, 0xC00F0F, 0.8, true)
  1064. end
  1065. tfm.exec.setGameTime(5)
  1066. avanceTormenta = 0
  1067. ui.removeTextArea(444,nil)
  1068. ui.removeTextArea(443,nil)
  1069. ui.removeTextArea(442,nil)
  1070. ui.removeTextArea(441,nil)
  1071. ui.removeTextArea(-999,nil)
  1072. ui.removeTextArea(-998,nil)
  1073. ui.removeTextArea(-997,nil)
  1074. ui.removeTextArea(-996,nil)
  1075. end
  1076. end
  1077.  
  1078.  
  1079. tnadieGanaLoop = 6
  1080. local loopCount = 0
  1081. avanceTormenta = 0
  1082. gameMode = 0
  1083. returnStorm = nil
  1084. returnStormState = 0
  1085. blueTorment = "0x00B8FF"
  1086. pinkTorment = "0xD701CF"
  1087. stormUp = nil
  1088.  
  1089.  
  1090. function stormDamage()
  1091. --- Dirección de la tormenta
  1092. stormDirection()
  1093.  
  1094.  
  1095. -- Daño al tocar la tormenta:
  1096. if direccion == 0 then
  1097. for k, v in next, tfm.get.room.playerList do
  1098. if textareaLeft(v.x+20, v.y) or textarea(v.x-20, v.y) then
  1099. tfm.exec.killPlayer(k)
  1100. end
  1101. end
  1102. end
  1103.  
  1104. if stormUp then
  1105. for k, v in next, tfm.get.room.playerList do
  1106. if textareaUp(v.x, v.y) then
  1107. tfm.exec.killPlayer(k)
  1108.  
  1109. end
  1110. end
  1111. end
  1112.  
  1113.  
  1114. if direccion == 0 and tStorm <= 10 then
  1115. for k, v in next, tfm.get.room.playerList do
  1116. if textareaLeft(v.x, v.y) or textarea(v.x, v.y) then
  1117. tfm.exec.killPlayer(k)
  1118.  
  1119. end
  1120. end
  1121. end
  1122. -- -->
  1123. if direccion == 1 then
  1124. for k, v in next, tfm.get.room.playerList do
  1125. if textareaLeft(v.x+25, v.y) or textarea(v.x+20, v.y) then
  1126. tfm.exec.killPlayer(k)
  1127. end
  1128. end
  1129. end
  1130. -- <--
  1131. if direccion == 2 then
  1132. for k, v in next, tfm.get.room.playerList do
  1133. if textareaLeft(v.x-20, v.y) or textarea(v.x-25, v.y) then
  1134. tfm.exec.killPlayer(k)
  1135.  
  1136.  
  1137. end
  1138. end
  1139. end
  1140.  
  1141.  
  1142. end
  1143.  
  1144.  
  1145. -- direccion 0 la tormenta se cierra normal
  1146. -- direccion 1 va hacia la derecha
  1147. -- direccion 2 va hacia la izquierda
  1148. direccion = 0
  1149.  
  1150.  
  1151. function stormDirection()
  1152.  
  1153. -- LA TORMENTA FLUYE NORMAL
  1154.  
  1155. -- Hacia el centro
  1156. if direccion == 0 then
  1157. ui.addTextArea(201, "", nil, textareaLeft.x - textareaLeft.radiusX , textareaLeft.y - textareaLeft.radiusY, textAreaWIDTHL, textAreaHEIGHTL,0x00B8FF, 0xFFFFFF, 0.6, false)
  1158. textareaLeft.x = textareaLeft.x + avanceTormenta
  1159. ui.addTextArea(202, "", nil, textarea.x - textarea.radiusX , textarea.y - textarea.radiusY, textAreaWIDTH, textAreaHEIGHT,0x00B8FF, 0xFFFFFF, 0.6, false)
  1160. textarea.x = textarea.x - avanceTormenta
  1161. end
  1162.  
  1163. if tStorm == 45 and gameMode <= 2 then
  1164. direccion = math.random(1,2)
  1165. elseif tStorm == 34 and gameMode <= 2 then
  1166. direccion = math.random(1,2)
  1167. elseif tStorm == 20 and gameMode <= 2 then
  1168. direccion = 0
  1169. avanceTormenta = 3
  1170. elseif tStorm == 25 and gameMode == 3 then
  1171. direccion = 0
  1172. avanceTormenta = 7
  1173. end
  1174.  
  1175. -- Hacia la derecha
  1176. if direccion == 1 then
  1177.  
  1178. ui.addTextArea(201, "", nil, textareaLeft.x - textareaLeft.radiusX , textareaLeft.y - textareaLeft.radiusY, textAreaWIDTHL, textAreaHEIGHTL,0x00B8FF, 0xFFFFFF, 0.6, false)
  1179. textareaLeft.x = textareaLeft.x + avanceTormenta
  1180. ui.addTextArea(202, "", nil, textarea.x - textarea.radiusX , textarea.y - textarea.radiusY, textAreaWIDTH, textAreaHEIGHT,0x00B8FF, 0xFFFFFF, 0.6, false)
  1181. textarea.x = textarea.x + avanceTormenta
  1182. -- aqu iba un
  1183. end
  1184. -- Hacia la izquierda
  1185. if direccion == 2 then
  1186. ui.addTextArea(201, "", nil, textareaLeft.x - textareaLeft.radiusX , textareaLeft.y - textareaLeft.radiusY, textAreaWIDTHL, textAreaHEIGHTL,0x00B8FF, 0xFFFFFF, 0.6, false)
  1187. textareaLeft.x = textareaLeft.x - avanceTormenta
  1188. ui.addTextArea(202, "", nil, textarea.x - textarea.radiusX , textarea.y - textarea.radiusY, textAreaWIDTH, textAreaHEIGHT,0x00B8FF, 0xFFFFFF, 0.6, false)
  1189. textarea.x = textarea.x - avanceTormenta
  1190. end
  1191.  
  1192. end
  1193.  
  1194. --[[
  1195. if mice[k].txt_salud >=1 then
  1196. mice[k].txt_salud = mice[k].txt_salud - 30
  1197. ui.addTextArea(44455, "Salud: "..mice[k].txt_salud.."", k,320, 290, 102, 27, 0x324650, 0x000000, 1, true)
  1198. if mice[k].txt_salud <=0 then
  1199. tfm.exec.killPlayer(k)
  1200. mice[k].txt_salud = 0
  1201. ui.removeTextArea(44455,k)
  1202. end
  1203. end
  1204.  
  1205. end
  1206. end
  1207.  
  1208. end
  1209. --]]
  1210. ------------------------------ LOOP -----------------------------
  1211.  
  1212. function eventLoop(t,tr, name)
  1213. if tStorm >= 1 then
  1214. tStorm = tStorm - 0.5
  1215. end
  1216.  
  1217. if tStorm <= 154 and gameMode <=2 then
  1218. stormDamage()
  1219. end
  1220. tormentaComming()
  1221.  
  1222.  
  1223. if tStorm <= 152 and gameMode <= 2 then
  1224. tTormentComming = tTormentComming -1
  1225. avanceTormenta = avanceTormenta + 0.07
  1226. end
  1227.  
  1228. if tStorm == 148 and gameMode <=2 then
  1229. quickPlataform = 0
  1230. avanceTormenta = 6
  1231. end
  1232.  
  1233. if tStorm == 135 and gameMode <=2 then
  1234. avanceTormenta = 8
  1235. end
  1236.  
  1237. if tStorm == 70 and gameMode <=2 then
  1238. avanceTormenta = 7
  1239. end
  1240. if tStorm == 45 then
  1241. quickPlataform = 1
  1242. end
  1243.  
  1244. if tStorm <= 95 and victory == 0 then
  1245. stormUp = true
  1246. avanceTormentaUp = 2
  1247. textareaUp.y = textareaUp.y + avanceTormentaUp
  1248. ui.addTextArea(203, "", nil, textareaUp.x - textareaUp.radiusX , textareaUp.y - textareaUp.radiusY, textAreaWIDTHUP, textAreaHEIGHTUP,0x00B8FF, 0xFFFFFF, 0.6, false)
  1249.  
  1250. end
  1251.  
  1252.  
  1253. -- GAME MODE: Enfrentamientos tormentosos
  1254.  
  1255. if tStorm <= 158 and gameMode ==3 then
  1256. stormDamage()
  1257. end
  1258.  
  1259. if tStorm == 148 and gameMode ==3 then
  1260. quickPlataform = 0
  1261. avanceTormenta = 13
  1262. end
  1263.  
  1264. if tStorm == 70 and gameMode ==3 then
  1265. avanceTormenta = 14
  1266. end
  1267.  
  1268.  
  1269. -- Devuelve GameMode al inicio.
  1270. if tStorm == 1 and gameMode == 3 then
  1271. gameMode = 0
  1272. end
  1273.  
  1274.  
  1275.  
  1276. if loopCount == 0 then
  1277. ammo()
  1278. end
  1279. loopCount = (loopCount + 1) % settings.ammoTicks
  1280.  
  1281. if quickPlataform == 0 then
  1282. for i,cannon in ipairs(toDespawn) do
  1283. if cannon[1] <= os.time()-5000 then
  1284. tfm.exec.removeObject(cannon[2])
  1285. tfm.exec.removePhysicObject(cannon[2])
  1286. table.remove(toDespawn,i)
  1287. end
  1288. end
  1289. end
  1290.  
  1291. if quickPlataform == 1 then
  1292. for i,cannon in ipairs(toDespawn) do
  1293. if cannon[1] <= os.time()-1500 then
  1294. tfm.exec.removePhysicObject(cannon[2])
  1295. tfm.exec.removeObject(cannon[2])
  1296.  
  1297. table.remove(toDespawn,i)
  1298. end
  1299. end
  1300. end
  1301.  
  1302.  
  1303. if tr <= 0 then
  1304. startGame()
  1305. end
  1306.  
  1307.  
  1308. if tFeed >= 1 then
  1309. tFeed=tFeed-1
  1310. elseif tFeed == 0 then
  1311. feedID = 50
  1312. feedPos = 390
  1313. ui.removeTextArea(50,nil)
  1314. ui.removeTextArea(51,nil)
  1315. ui.removeTextArea(52,nil)
  1316. ui.removeTextArea(53,nil)
  1317. end
  1318.  
  1319.  
  1320. if tlastPlayer >= 1 then
  1321. tlastPlayer = tlastPlayer-1
  1322. elseif tlastPlayer == 0 then
  1323. ui.removeTextArea(777,nil)
  1324. end
  1325.  
  1326.  
  1327. for name in pairs(tfm.get.room.playerList) do
  1328. if name and mice[name] then
  1329. if mice[name].tImpulsador >= 1 and mice[name].cofre105106Impulsador == 1 then
  1330. mice[name].tImpulsador = mice[name].tImpulsador-1
  1331. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>Booster!</font> "..mice[name].tImpulsador.."s",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  1332. end
  1333. end
  1334. end
  1335.  
  1336. for name in pairs(tfm.get.room.playerList) do
  1337. if name and mice[name] then
  1338. if mice[name].asignandoKey >= 1 and mice[name].tWaitingKey >=1 then
  1339. mice[name].tWaitingKey = mice[name].tWaitingKey-1
  1340. ui.addTextArea(310, "<p align='center'><font size='15'><font color='#FFFFFF' face='Comic Sans MS'>Waiting... "..mice[name].tWaitingKey.."s", name, 170, 185, 500, 100, 0x324650, 0x000000, 0, true)
  1341.  
  1342. elseif mice[name].tWaitingKey == 0 then
  1343. ui.removeTextArea(301,name)
  1344. ui.removeTextArea(302,name)
  1345. ui.removeTextArea(303,name)
  1346. ui.removeTextArea(304,name)
  1347. ui.removeTextArea(305,name)
  1348. ui.removeTextArea(306,name)
  1349. ui.removeTextArea(310,name)
  1350. mice[name].asignandoKey = 0
  1351. mice[name].tWaitingKey = 20
  1352. end
  1353. end
  1354. end
  1355.  
  1356.  
  1357. if tgameMode >= 1 then
  1358. tgameMode = tgameMode-1
  1359. elseif tgameMode == 0 then
  1360. ui.removeTextArea(12200,nil)
  1361. ui.removeTextArea(12201,nil)
  1362. ui.removeTextArea(12202,nil)
  1363. ui.removeTextArea(12203,nil)
  1364. ui.removeTextArea(12204,nil)
  1365. ui.removeTextArea(12205,nil)
  1366. end
  1367. end
  1368.  
  1369.  
  1370. function tormentaComming()
  1371.  
  1372. if tStorm == 154 then
  1373. for player, data in next, tfm.get.room.playerList do
  1374. ui.addTextArea(-997, "<font color='#FFFFFF' size='24' face='Comic Sans MS'>"..translate(data.community, "aviso_tormenta").."", player, 250, 100, nil, nil, 0x00B8FF, 0xFFFFFF, 0, true)
  1375. end
  1376.  
  1377. ui.addTextArea(-998, "<p align='center'><font size='40' color='#D50DC4' face='Webdings'>n ", nil, 385, 60, nil, nil, 0x324650, 0x000000, 0, true)
  1378. ui.addTextArea(-999, "<p align='center'><font size='25' color='#FFFFFF' face='Webdings'>~", nil, 392, 74, nil, nil, 0x324650, 0x000000, 0, true)
  1379. ui.addTextArea(-996, "<p align='center'><font size='45' color='#FFFFFF' face='Arial'>☁️", nil, 385, 50, nil, nil, 0x324650, 0x000000, 0, true)
  1380.  
  1381. elseif tStorm == 148 then
  1382. tfm.exec.removePhysicObject(barreras)
  1383. tfm.exec.removePhysicObject(barreras-1)
  1384. tfm.exec.removePhysicObject(barreras-2)
  1385. tfm.exec.removePhysicObject(barreras-3)
  1386. ui.removeTextArea(-999,nil)
  1387. ui.removeTextArea(-998,nil)
  1388. ui.removeTextArea(-997,nil)
  1389. ui.removeTextArea(-996,nil)
  1390. end
  1391. if tStorm == 95 then
  1392. for player, data in next, tfm.get.room.playerList do
  1393. ui.addTextArea(444, "<font color='#FFFFFF' size='20' face='Comic Sans MS'>"..translate(data.community, "aviso_tormentaUp").."", player, 200, 100, nil, nil, 0x00B8FF, 0xFFFFFF, 0, true)
  1394. end
  1395.  
  1396. ui.addTextArea(443, "<p align='center'><font size='40' color='#D50DC4' face='Webdings'>n ", nil, 385, 60, nil, nil, 0x324650, 0x000000, 0, true)
  1397. ui.addTextArea(442, "<p align='center'><font size='25' color='#FFFFFF' face='Webdings'>~", nil, 392, 74, nil, nil, 0x324650, 0x000000, 0, true)
  1398. ui.addTextArea(441, "<p align='center'><font size='45' color='#FFFFFF' face='Arial'>☁️", nil, 385, 50, nil, nil, 0x324650, 0x000000, 0, true)
  1399. elseif tStorm == 90 then
  1400. ui.removeTextArea(444,nil)
  1401. ui.removeTextArea(443,nil)
  1402. ui.removeTextArea(442,nil)
  1403. ui.removeTextArea(441,nil)
  1404. end
  1405. end
  1406.  
  1407. -------------------------------------- COMMANDS -----------------------------------
  1408.  
  1409. function eventChatCommand(name, command)
  1410. args = {}
  1411. for arg in command:gmatch ("[^%s]+") do
  1412. table.insert (args, arg)
  1413. end
  1414.  
  1415. if command == "n" and isAdmin(name) and gameMode <=2 then
  1416. startGame()
  1417. elseif command == "n" and isAdmin(name) and gameMode >= 3 then
  1418. gameMode = 0
  1419. startGame()
  1420. end
  1421.  
  1422. if command == "info" then
  1423.  
  1424.  
  1425. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  1426. ui.removeTextArea(30102,name)
  1427. ui.addTextArea(30020, ""..translate(tfm.get.room.playerList[name].community, "informacion_informacion_contenido").."", name, 208, 141, 409, 243, 0x00000f, 0x000000, 0.6, true)
  1428. ui.addTextArea(30021, "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "informacion_encabezado").."", name, 268, 89, 287, 31, 0x00000f, 0x000000, 0.6, true)
  1429. ui.addTextArea(30037, "<font size='19' color='#FF1E1E'><b><a href='event:closeInfo'>X", name, 568, 92, 22, 24, 0x324650, 0x000000, 0, true)
  1430. ui.addTextArea(30022, "<p align='center'><a href='event:info'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_informacion").."</font></a> | <a href='event:infoControles'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_controles").."</a> | <a href='event:infoReglas'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_reglas").."</a> | <a href='event:infoStaff'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_staff").."</a>", name, 280, 137, 272, 20, 0x00000f, 0x000000, 0, true)
  1431. end
  1432.  
  1433.  
  1434. if command:sub(1,1) == "p" and isAdmin(name) or isMod(name) then
  1435. tfm.exec.chatMessage ("<font color='#A4CBDC'>• <VI>[#fortmice]:</font> <font color='#BABD2F'>"..command:sub(3).."",nil)
  1436. end
  1437.  
  1438.  
  1439.  
  1440. if args[1] == "ban" and tfm.get.room.playerList[args[2]] then
  1441. if isAdmin (name) or isMod(name) then
  1442. if isBanned(args[2]) then
  1443. else
  1444.  
  1445. table.insert (banlist, args[2])
  1446. tfm.exec.killPlayer(args[2]);
  1447. tfm.exec.chatMessage("<font color='#A4CBDC'>• <font color='#C2C2DA'>"..args[2].."</font><font color='#F01C1C'> SE HA PORTADO MAL!",name)
  1448.  
  1449.  
  1450. end
  1451. end
  1452. end
  1453.  
  1454. if args[1] == "getwins" and tfm.get.room.playerList[args[2]] then
  1455. if isAdmin(name) then
  1456.  
  1457. mice[args[2]].victorias = args[3]
  1458. savePlayerData(args[2])
  1459. end
  1460. end
  1461.  
  1462. if args[1] == "desban" and tfm.get.room.playerList[args[2]] then
  1463. if isAdmin (name) or isMod(name) then
  1464. if not isBanned(args[2]) then
  1465. else
  1466. for i,bannedName in pairs(banlist) do
  1467. if args[2] == bannedName then
  1468. table.remove (banlist, i)
  1469. tfm.exec.chatMessage("<font color='#A4CBDC'>• <font color='#C2C2DA'>"..args[2].."</font><font color='#E88888'> HA RECIBIDO UNA OPORTUNIDAD!",name)
  1470. break
  1471. end
  1472. end
  1473. end
  1474. end
  1475. end
  1476.  
  1477.  
  1478. end
  1479.  
  1480. --------------------------------- WEAPON SCRIPT -----------------------------------
  1481.  
  1482.  
  1483. function initPlayer(name)
  1484. players[name] = {ammo = 0}
  1485. if name and mice[name] then
  1486. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  1487. system.bindMouse(name, true)
  1488. end
  1489. end
  1490.  
  1491.  
  1492.  
  1493.  
  1494. function eventMouse(name, x, y)
  1495. local player = players[name]
  1496. if player and player.ammo > 0 and tfm.get.room.playerList[name].isDead==false then
  1497. -- remove one ammo
  1498. ui.removeTextArea(player.ammo * 2 - 1, name)
  1499. ui.removeTextArea(player.ammo * 2, name)
  1500. player.ammo = player.ammo - 1
  1501.  
  1502. local roomPlayer = tfm.get.room.playerList[name]
  1503.  
  1504.  
  1505. local dx = x - roomPlayer.x
  1506. local dy = y - roomPlayer.y
  1507. local angle = math.atan2(dy, dx)
  1508.  
  1509. local vx = math.cos(angle)
  1510. local vy = math.sin(angle)
  1511.  
  1512.  
  1513.  
  1514. ----------------- Arma dependiendo del cofre ----------------------
  1515.  
  1516.  
  1517.  
  1518.  
  1519. if mice[name].flechasDefault == 1 and mice[name].canShoot then
  1520. queue.insert(objects, tfm.exec.addShamanObject(35, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1521. end
  1522. if mice[name].cofre101102Bombas == 1 and mice[name].canShoot then
  1523. queue.insert(objects, tfm.exec.addShamanObject(23, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1524. end
  1525.  
  1526. if mice[name].cofre108Sniper == 1 and mice[name].canShoot then
  1527. queue.insert(objects, tfm.exec.addShamanObject(60, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1528.  
  1529. queue.insert(objects, tfm.exec.addShamanObject(60, roomPlayer.x + 20 * vx, roomPlayer.y + 60 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1530.  
  1531.  
  1532. end
  1533.  
  1534. if mice[name].cofre103104Lapidas == 1 and mice[name].canShoot then
  1535. queue.insert(objects, tfm.exec.addShamanObject(90, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1536. end
  1537.  
  1538. if mice[name].cofre112113Cajas == 1 and mice[name].canShoot then
  1539. queue.insert(objects, tfm.exec.addShamanObject(110, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1540. end
  1541.  
  1542. if mice[name].cofre116117MinigunNevada == 1 and mice[name].canShoot then
  1543. queue.insert(objects, tfm.exec.addShamanObject(34, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1544. queue.insert(objects, tfm.exec.addShamanObject(34, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1545. queue.insert(objects, tfm.exec.addShamanObject(34, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1546. queue.insert(objects, tfm.exec.addShamanObject(34, roomPlayer.x + 20 * vx, roomPlayer.y + 20 * vy, angle*180/math.pi, mice[name].force * vx, mice[name].force * vy, false))
  1547. end
  1548.  
  1549.  
  1550.  
  1551. if mice[name].trampas >0 and mice[name].cofre110111Trampa == 1 and mice[name].trampasOn == 1 and tfm.get.room.playerList[name].isDead==false then
  1552.  
  1553. mice[name].trampasOn = 0
  1554. mice[name].trampas = mice[name].trampas - 1
  1555. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>Traps:</font> "..mice[name].trampas.."/4 </font>",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  1556.  
  1557.  
  1558. globalPlataformas = globalPlataformas + 4
  1559.  
  1560. tfm.exec.addPhysicObject(globalPlataformas, x, y+40, _trampaBase)
  1561. tfm.exec.addPhysicObject(globalPlataformas-1, x-28, y-10, _trampalado1)
  1562. tfm.exec.addPhysicObject(globalPlataformas-2, x+28, y-10, _trampalado2)
  1563. tfm.exec.addPhysicObject(globalPlataformas-3, x, y+5, _trampaSpiderWeb)
  1564.  
  1565.  
  1566.  
  1567. table.insert(toDespawn,{os.time(),globalPlataformas})
  1568. table.insert(toDespawn,{os.time(),globalPlataformas-1})
  1569. table.insert(toDespawn,{os.time(),globalPlataformas-2})
  1570. table.insert(toDespawn,{os.time(),globalPlataformas-3})
  1571. playerz[name].timestamp=os.time()
  1572.  
  1573. end
  1574. local recoil = -vx * settings.recoil
  1575.  
  1576. if recoil <= -1 or recoil >= 1 then
  1577. tfm.exec.movePlayer(name, 0, 0, true, recoil, 0, true)
  1578. end
  1579.  
  1580.  
  1581. if objects.size > settings.maxObjects then
  1582. tfm.exec.removeObject(queue.remove(objects))
  1583. end
  1584. end
  1585. end
  1586.  
  1587.  
  1588. function ammo()
  1589. for name, player in pairs(players) do
  1590. local ammo = player.ammo
  1591. if name and mice[name] then
  1592. if ammo < mice[name].ammo then
  1593. -- add one ammo
  1594. player.ammo = ammo + 1
  1595. ui.addTextArea(ammo * 2 + 1, "", name, 14 + ammo * 15, 380, 3, 3, 0xFFF504, 0x990000, 1,true)
  1596. end
  1597. end
  1598. end
  1599. end
  1600.  
  1601. playerz = {}
  1602.  
  1603.  
  1604. queue = {}
  1605. function queue.new()
  1606. return {
  1607. tail = nil,
  1608. head = nil,
  1609. size = 0
  1610. }
  1611. end
  1612. function queue.insert(self, v)
  1613. local i = {
  1614. value = v,
  1615. next = nil
  1616. }
  1617. if self.tail and self.head then
  1618. self.tail.next = i
  1619. else
  1620. self.head = i
  1621. end
  1622. self.tail = i
  1623. self.size = self.size + 1
  1624. end
  1625. function queue.peek(self)
  1626. if self.head then
  1627. return self.head.value
  1628. else
  1629. error("queue is empty")
  1630. end
  1631. end
  1632. function queue.remove(self)
  1633. local r = queue.peek(self)
  1634. self.head = self.head.next
  1635. if not self.head then
  1636. tail = nil
  1637. end
  1638. self.size = self.size - 1
  1639. return r
  1640. end
  1641.  
  1642.  
  1643.  
  1644. ------------------------------ PLATAFORMAS SCRIPT -----------------------------------
  1645.  
  1646. function eventKeyboard(name, key, down, px, py)
  1647.  
  1648. if mice[name].asignandoKey == 1 then
  1649. mice[name].key_suelo = key
  1650. i = key
  1651. mice[name].txt_key_suelo = keyz[i]
  1652. ui.addTextArea(22, "<b>"..mice[name].txt_key_suelo.."", name, 11, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  1653. ui.addTextArea(30032, ""..mice[name].txt_key_suelo.."", name, 371, 182, 18, 18, 0x324650, 0x000000, 1, true)
  1654. ui.removeTextArea(301,name)
  1655. ui.removeTextArea(302,name)
  1656. ui.removeTextArea(303,name)
  1657. ui.removeTextArea(304,name)
  1658. ui.removeTextArea(305,name)
  1659. ui.removeTextArea(306,name)
  1660. ui.removeTextArea(310,name)
  1661. mice[name].asignandoKey = 0
  1662. mice[name].tWaitingKey = 20
  1663. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  1664. savePlayerData(name)
  1665. end
  1666.  
  1667. if mice[name].asignandoKey == 2 then
  1668. mice[name].key_rampa = key
  1669. i = key
  1670. mice[name].txt_key_rampa = keyz[i]
  1671. ui.addTextArea(23, "<b>"..mice[name].txt_key_rampa.."", name, 40, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  1672. ui.addTextArea(30033, ""..mice[name].txt_key_rampa.."", name, 371, 223, 19, 19, 0x324650, 0x000000, 1, true)
  1673. ui.removeTextArea(301,name)
  1674. ui.removeTextArea(302,name)
  1675. ui.removeTextArea(303,name)
  1676. ui.removeTextArea(304,name)
  1677. ui.removeTextArea(305,name)
  1678. ui.removeTextArea(306,name)
  1679. ui.removeTextArea(310,name)
  1680. mice[name].asignandoKey = 0
  1681. mice[name].tWaitingKey = 20
  1682. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  1683. savePlayerData(name)
  1684. end
  1685.  
  1686. if mice[name].asignandoKey == 3 then
  1687. mice[name].key_recarga = key
  1688. i = key
  1689. mice[name].txt_key_recarga = keyz[i]
  1690. ui.addTextArea(30035, ""..mice[name].txt_key_recarga.."", name, 371, 304, 19, 19, 0x324650, 0x000000, 1, true)
  1691. ui.removeTextArea(301,name)
  1692. ui.removeTextArea(302,name)
  1693. ui.removeTextArea(303,name)
  1694. ui.removeTextArea(304,name)
  1695. ui.removeTextArea(305,name)
  1696. ui.removeTextArea(306,name)
  1697. ui.removeTextArea(310,name)
  1698. mice[name].asignandoKey = 0
  1699. mice[name].tWaitingKey = 20
  1700. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  1701. savePlayerData(name)
  1702. end
  1703.  
  1704.  
  1705. if mice[name].asignandoKey == 4 then
  1706.  
  1707. mice[name].key_rescate = key
  1708. i = key
  1709. mice[name].txt_key_rescate = keyz[i]
  1710. ui.addTextArea(28, "<b>"..mice[name].txt_key_rescate.."", name, 70, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  1711. ui.addTextArea(30034, ""..mice[name].txt_key_rescate.."", name, 371, 265, 19, 19, 0x324650, 0x000000, 1, true)
  1712. ui.removeTextArea(301,name)
  1713. ui.removeTextArea(302,name)
  1714. ui.removeTextArea(303,name)
  1715. ui.removeTextArea(304,name)
  1716. ui.removeTextArea(305,name)
  1717. ui.removeTextArea(306,name)
  1718. ui.removeTextArea(310,name)
  1719. mice[name].asignandoKey = 0
  1720. mice[name].tWaitingKey = 20
  1721. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  1722. savePlayerData(name)
  1723. end
  1724.  
  1725. if mice[name].asignandoKey == 5 then
  1726.  
  1727. mice[name].key_consumible = key
  1728. i = key
  1729. mice[name].txt_key_consumible= keyz[i]
  1730. ui.addTextArea(30036, ""..mice[name].txt_key_consumible.."", name, 371, 343, nil, 20, 0x324650, 0x000000, 1, true)
  1731. ui.removeTextArea(301,name)
  1732. ui.removeTextArea(302,name)
  1733. ui.removeTextArea(303,name)
  1734. ui.removeTextArea(304,name)
  1735. ui.removeTextArea(305,name)
  1736. ui.removeTextArea(306,name)
  1737. ui.removeTextArea(310,name)
  1738. mice[name].asignandoKey = 0
  1739. mice[name].tWaitingKey = 20
  1740. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  1741. savePlayerData(name)
  1742. end
  1743.  
  1744.  
  1745. if key == _left then
  1746. facingLeft[name] = false
  1747. end
  1748. if key == _right then
  1749. facingLeft[name] = true
  1750. end
  1751.  
  1752. if key == mice[name].key_rampa and mice[name].plataformas >0 and tfm.get.room.playerList[name].isDead==false then
  1753. if facingLeft[name] then
  1754. globalPlataformas = globalPlataformas + 1
  1755. mice[name].plataformas = mice[name].plataformas - 1
  1756. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1757.  
  1758. tfm.exec.addPhysicObject(globalPlataformas, px + 75, py-20, _rampaDerecha)
  1759. table.insert(toDespawn,{os.time(),globalPlataformas})
  1760. playerz[name].timestamp=os.time()
  1761. else
  1762. globalPlataformas = globalPlataformas + 1
  1763. mice[name].plataformas = mice[name].plataformas - 1
  1764. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1765.  
  1766. tfm.exec.addPhysicObject(globalPlataformas, px - 75, py-20, _rampaIzquierda)
  1767.  
  1768. table.insert(toDespawn,{os.time(),globalPlataformas})
  1769. playerz[name].timestamp=os.time()
  1770. end
  1771. end
  1772.  
  1773.  
  1774. if key == mice[name].key_suelo and mice[name].plataformas >0 and tfm.get.room.playerList[name].isDead==false then
  1775. if facingLeft[name] then
  1776. globalPlataformas = globalPlataformas + 1
  1777. mice[name].plataformas = mice[name].plataformas - 1
  1778. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1779.  
  1780. tfm.exec.addPhysicObject(globalPlataformas, px + 41, py+ 20, _Suelo)
  1781. table.insert(toDespawn,{os.time(),globalPlataformas})
  1782. playerz[name].timestamp=os.time()
  1783.  
  1784. else
  1785. globalPlataformas = globalPlataformas + 1
  1786. mice[name].plataformas = mice[name].plataformas - 1
  1787. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1788.  
  1789. tfm.exec.addPhysicObject(globalPlataformas, px - 41, py+ 20, _Suelo)
  1790. table.insert(toDespawn,{os.time(),globalPlataformas})
  1791. playerz[name].timestamp=os.time()
  1792. end
  1793. end
  1794.  
  1795.  
  1796. if key == mice[name].key_recarga and mice[name].reloadPlataformas <=24 and mice[name].plataformas <=11 and tfm.get.room.playerList[name].isDead==false then
  1797. mice[name].reloadPlataformas = mice[name].reloadPlataformas + 1
  1798. ui.addTextArea(25, "<b>"..mice[name].txt_key_recarga.."", name, 145, 320, 14, 17, 0x00000F, 0x000000, 0.5, true)
  1799. ui.addTextArea(26, "<font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "hud_recarga").." "..mice[name].reloadPlataformas.."/25", name, 164, 318, nil, 25, 0x324650, 0x000000, 0, true)
  1800.  
  1801. end
  1802. if mice[name].reloadPlataformas ==25 then
  1803. mice[name].plataformas = 12
  1804. mice[name].reloadPlataformas = 0
  1805. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1806. ui.removeTextArea(25,name)
  1807. ui.removeTextArea(26,name)
  1808. end
  1809. if mice[name].plataformas ==0 then
  1810. ui.addTextArea(25, "<b>"..mice[name].txt_key_recarga.."", name, 144, 320, 14, 17, 0x00000F, 0x000000, 0.5, true)
  1811.  
  1812. ui.addTextArea(26, "<font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "hud_recarga").." "..mice[name].reloadPlataformas.."/25", name, 164, 318, nil, 25, 0x324650, 0x000000, 0, true)
  1813. end
  1814.  
  1815. if key == mice[name].key_rescate and mice[name].plataformas >0 and tfm.get.room.playerList[name].isDead==false then
  1816.  
  1817. globalPlataformas = globalPlataformas + 1
  1818. mice[name].plataformas = mice[name].plataformas - 1
  1819. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1820.  
  1821. tfm.exec.addPhysicObject(globalPlataformas, px + 1, py+ 130, _rescate)
  1822. table.insert(toDespawn,{os.time(),globalPlataformas})
  1823. playerz[name].timestamp=os.time()
  1824. end
  1825.  
  1826.  
  1827. if key == mice[name].key_consumible and mice[name].cofre105106Impulsador == 1 and mice[name].tImpulsador == 0 and tfm.get.room.playerList[name].isDead==false then
  1828. if facingLeft[name] then
  1829. tfm.exec.addShamanObject (24,px,py+10,0,100,-200,false)
  1830. tfm.exec.movePlayer(name, 0, 10, true, 90, -155, true)
  1831. mice[name].tImpulsador = 8
  1832. else
  1833. tfm.exec.addShamanObject (24,px,py+10,0,100,-200,false)
  1834. tfm.exec.movePlayer(name, 0, 10, true, -90, -155, true)
  1835. mice[name].tImpulsador = 8
  1836. end
  1837. end
  1838.  
  1839. if key == mice[name].key_consumible and mice[name].cofre110111Trampa == 1 and mice[name].trampasOn == 0 and mice[name].trampas >0 and tfm.get.room.playerList[name].isDead == false then
  1840. mice[name].trampasOn = 1
  1841. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>Traps:</font> Activate!</font>",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  1842. elseif key == mice[name].key_consumible and mice[name].cofre110111Trampa == 1 and mice[name].trampasOn == 1 and tfm.get.room.playerList[name].isDead == false then
  1843. mice[name].trampasOn = 0
  1844. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>Traps:</font> "..mice[name].trampas.."/4 </font>",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  1845.  
  1846. end
  1847.  
  1848. if key == mice[name].key_consumible and mice[name].lanzaderas > 0 and mice[name].cofre114115Lanzaderas == 1 and tfm.get.room.playerList[name].isDead==false then
  1849. mice[name].lanzaderas = mice[name].lanzaderas - 1
  1850.  
  1851. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>Launch Pads:</font> "..mice[name].lanzaderas.."/6",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  1852. globalPlataformas = globalPlataformas + 3
  1853.  
  1854. tfm.exec.movePlayer(name, 0, -20, true, 0, 0, true)
  1855. tfm.exec.addPhysicObject(globalPlataformas, px + 40, py+ 10, _lanzaderaRight)
  1856. tfm.exec.addPhysicObject(globalPlataformas-1, px + -30, py+ 10, _lanzaderaLeft)
  1857. tfm.exec.addPhysicObject(globalPlataformas-2, px + 5, py+ -5, _lanzaderaCentro)
  1858.  
  1859. table.insert(toDespawn,{os.time(),globalPlataformas})
  1860. table.insert(toDespawn,{os.time(),globalPlataformas-1})
  1861. table.insert(toDespawn,{os.time(),globalPlataformas-2})
  1862.  
  1863. playerz[name].timestamp=os.time()
  1864.  
  1865. end
  1866.  
  1867.  
  1868. if mice[name].plataformas <=3 then
  1869. ui.addTextArea(24, "<font size='15' color='#FFF504'><b>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1870.  
  1871. end
  1872. if mice[name].plataformas <=0 then
  1873. ui.addTextArea(24, "<font size='15' color='#FF0000'><b>"..mice[name].plataformas.."/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  1874. end
  1875.  
  1876. end
  1877. -------------------------- CALLBACKS -----------------------------
  1878.  
  1879. function eventTextAreaCallback(id, name, cb)
  1880. local player = players[name]
  1881.  
  1882. if id == 101 and tfm.get.room.playerList[name].isDead==false then
  1883. for n, data in next, tfm.get.room.playerList do
  1884. for i, coords in next, textareaCoords do
  1885.  
  1886. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  1887. mice[name].cofre101102Bombas= 1
  1888. mice[name].flechasDefault = 0
  1889. mice[name].ammo = 5
  1890. initPlayer(name)
  1891. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  1892.  
  1893. for chest=101,SETTINGS.textareaAmount+100 do
  1894. ui.removeTextArea(chest, name)
  1895. end
  1896.  
  1897. ui.removeTextArea(101,nil)
  1898.  
  1899. for ammo=1,15 do
  1900. ui.removeTextArea(ammo, name)
  1901. end
  1902.  
  1903.  
  1904.  
  1905. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_bombas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  1906. break
  1907. end
  1908. end
  1909. end
  1910. end
  1911.  
  1912. if id == 102 and tfm.get.room.playerList[name].isDead==false then
  1913. for n, data in next, tfm.get.room.playerList do
  1914. for i, coords in next, textareaCoords do
  1915.  
  1916. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  1917. mice[name].cofre101102Bombas = 1
  1918. mice[name].flechasDefault = 0
  1919. mice[name].ammo = 5
  1920. initPlayer(name)
  1921. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  1922.  
  1923. for chest=101,SETTINGS.textareaAmount+100 do
  1924. ui.removeTextArea(chest, name)
  1925. end
  1926. ui.removeTextArea(102,nil)
  1927. for ammo=1,15 do
  1928. ui.removeTextArea(ammo, name)
  1929. end
  1930. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_bombas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  1931.  
  1932. break
  1933. end
  1934. end
  1935. end
  1936. end
  1937.  
  1938. if id == 103 and tfm.get.room.playerList[name].isDead==false then
  1939. for n, data in next, tfm.get.room.playerList do
  1940. for i, coords in next, textareaCoords do
  1941.  
  1942. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  1943. mice[name].cofre103104Lapidas = 1
  1944. mice[name].flechasDefault = 0
  1945.  
  1946. mice[name].ammo = 2
  1947. mice[name].force = 32
  1948. initPlayer(name)
  1949. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  1950.  
  1951. for chest=101,SETTINGS.textareaAmount+100 do
  1952. ui.removeTextArea(chest, name)
  1953. end
  1954. ui.removeTextArea(103,nil)
  1955. for ammo=1,15 do
  1956. ui.removeTextArea(ammo, name)
  1957. end
  1958.  
  1959. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_lapidas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  1960.  
  1961. break
  1962. end
  1963. end
  1964. end
  1965. end
  1966.  
  1967. if id == 104 and tfm.get.room.playerList[name].isDead==false then
  1968. for n, data in next, tfm.get.room.playerList do
  1969. for i, coords in next, textareaCoords do
  1970.  
  1971. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  1972. mice[name].cofre103104Lapidas = 1
  1973. mice[name].flechasDefault = 0
  1974.  
  1975. mice[name].ammo = 2
  1976. mice[name].force = 32
  1977. initPlayer(name)
  1978.  
  1979. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  1980.  
  1981. for chest=101,SETTINGS.textareaAmount+100 do
  1982. ui.removeTextArea(chest, name)
  1983. end
  1984. ui.removeTextArea(104,nil)
  1985. for ammo=1,15 do
  1986. ui.removeTextArea(ammo, name)
  1987. end
  1988. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_lapidas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  1989.  
  1990. break
  1991. end
  1992. end
  1993. end
  1994. end
  1995.  
  1996.  
  1997. if id == 105 and tfm.get.room.playerList[name].isDead==false then
  1998. for n, data in next, tfm.get.room.playerList do
  1999. for i, coords in next, textareaCoords do
  2000.  
  2001. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2002.  
  2003. mice[name].cofre105106Impulsador = 1
  2004. mice[name].tImpulsador = 1
  2005.  
  2006. for chest=101,SETTINGS.textareaAmount+100 do
  2007. ui.removeTextArea(chest, name)
  2008. end
  2009. ui.removeTextArea(105,nil)
  2010. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_impulsador").."</font>"..mice[name].tImpulsador.."",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2011.  
  2012. break
  2013. end
  2014. end
  2015. end
  2016. end
  2017.  
  2018. if id == 106 and tfm.get.room.playerList[name].isDead==false then
  2019. for n, data in next, tfm.get.room.playerList do
  2020. for i, coords in next, textareaCoords do
  2021.  
  2022. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2023.  
  2024. mice[name].cofre105106Impulsador = 1
  2025. mice[name].tImpulsador = 1
  2026. for chest=101,SETTINGS.textareaAmount+100 do
  2027. ui.removeTextArea(chest, name)
  2028. end
  2029. ui.removeTextArea(106,nil)
  2030. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_impulsador").."</font>"..mice[name].tImpulsador.."",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2031.  
  2032. break
  2033. end
  2034. end
  2035. end
  2036. end
  2037.  
  2038.  
  2039. if id == 107 and tfm.get.room.playerList[name].isDead==false then
  2040. for n, data in next, tfm.get.room.playerList do
  2041. for i, coords in next, textareaCoords do
  2042.  
  2043. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2044.  
  2045. mice[name].plataformas = 100
  2046. ui.removeTextArea(25,name)
  2047. ui.removeTextArea(26,name)
  2048. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>100/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  2049. mice[name].ammo = 6
  2050.  
  2051. initPlayer(name)
  2052. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2053.  
  2054. for chest=101,SETTINGS.textareaAmount+100 do
  2055. ui.removeTextArea(chest, name)
  2056. end
  2057. ui.removeTextArea(107,nil)
  2058. for ammo=1,15 do
  2059. ui.removeTextArea(ammo, name)
  2060. end
  2061. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_100plataformas").."</font>",name, 315, 372, 170, 25, 0x00000F, 0x000000, 0.5, true)
  2062.  
  2063. break
  2064. end
  2065. end
  2066. end
  2067. end
  2068.  
  2069.  
  2070. if id == 108 and tfm.get.room.playerList[name].isDead==false then
  2071. for n, data in next, tfm.get.room.playerList do
  2072. for i, coords in next, textareaCoords do
  2073.  
  2074. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2075. mice[name].cofre108Sniper = 1
  2076. mice[name].flechasDefault = 0
  2077. mice[name].ammo = 1
  2078. mice[name].force = 80
  2079.  
  2080. initPlayer(name)
  2081.  
  2082. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2083. for chest=101,SETTINGS.textareaAmount+100 do
  2084. ui.removeTextArea(chest, name)
  2085. end
  2086. ui.removeTextArea(108,nil)
  2087. for ammo=1,15 do
  2088. ui.removeTextArea(ammo, name)
  2089. end
  2090. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_sniper").."</font>",name, 300, 372, 210, 25, 0x00000F, 0x000000, 0.5, true)
  2091.  
  2092. break
  2093. end
  2094. end
  2095. end
  2096. end
  2097.  
  2098.  
  2099.  
  2100. if id == 109 and tfm.get.room.playerList[name].isDead==false then
  2101. for n, data in next, tfm.get.room.playerList do
  2102. for i, coords in next, textareaCoords do
  2103.  
  2104. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2105. mice[name].plataformas = 100
  2106. mice[name].ammo = 6
  2107. ui.removeTextArea(25,name)
  2108. ui.removeTextArea(26,name)
  2109. ui.addTextArea(24, "<font size='15' color='#FFFFFF'>100/12", name, 90, 318, nil, 20, 0x324650, 0x000000, 0, true)
  2110.  
  2111.  
  2112. initPlayer(name)
  2113.  
  2114. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2115.  
  2116.  
  2117. for chest=101,SETTINGS.textareaAmount+100 do
  2118. ui.removeTextArea(chest, name)
  2119. end
  2120. ui.removeTextArea(109,nil)
  2121. for ammo=1,15 do
  2122. ui.removeTextArea(ammo, name)
  2123. end
  2124. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_100plataformas").."</font>",name, 315, 372, 170, 25, 0x00000F, 0x000000, 0.5, true)
  2125.  
  2126. break
  2127. end
  2128. end
  2129. end
  2130. end
  2131.  
  2132. if id == 110 and tfm.get.room.playerList[name].isDead==false then
  2133. for n, data in next, tfm.get.room.playerList do
  2134. for i, coords in next, textareaCoords do
  2135.  
  2136. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2137.  
  2138.  
  2139.  
  2140. mice[name].cofre110111Trampa = 1
  2141.  
  2142. for chest=101,SETTINGS.textareaAmount+100 do
  2143. ui.removeTextArea(chest, name)
  2144. end
  2145. ui.removeTextArea(110,nil)
  2146.  
  2147. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_trampas")..":</font> "..mice[name].trampas.."/4 </font>",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  2148. break
  2149. end
  2150. end
  2151. end
  2152. end
  2153.  
  2154. if id == 111 and tfm.get.room.playerList[name].isDead==false then
  2155. for n, data in next, tfm.get.room.playerList do
  2156. for i, coords in next, textareaCoords do
  2157.  
  2158. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2159.  
  2160. mice[name].cofre110111Trampa = 1
  2161. for chest=101,SETTINGS.textareaAmount+100 do
  2162. ui.removeTextArea(chest, name)
  2163. end
  2164. ui.removeTextArea(111,nil)
  2165. ui.removeTextArea(9997,name)
  2166. ui.removeTextArea(9996,name)
  2167.  
  2168. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_trampas")..":</font> "..mice[name].trampas.."/4</font>",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  2169. break
  2170. end
  2171. end
  2172. end
  2173. end
  2174.  
  2175. if id == 112 and tfm.get.room.playerList[name].isDead==false then
  2176. for n, data in next, tfm.get.room.playerList do
  2177. for i, coords in next, textareaCoords do
  2178.  
  2179. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2180. mice[name].cofre112113Cajas = 1
  2181. mice[name].flechasDefault = 0
  2182.  
  2183. mice[name].ammo = 5
  2184.  
  2185. initPlayer(name)
  2186.  
  2187. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2188.  
  2189. for chest=101,SETTINGS.textareaAmount+100 do
  2190. ui.removeTextArea(chest, name)
  2191. end
  2192. ui.removeTextArea(112,nil)
  2193. for ammo=1,15 do
  2194. ui.removeTextArea(ammo, name)
  2195. end
  2196. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_cajas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2197.  
  2198. break
  2199. end
  2200. end
  2201. end
  2202. end
  2203.  
  2204.  
  2205. if id == 113 and tfm.get.room.playerList[name].isDead==false then
  2206. for n, data in next, tfm.get.room.playerList do
  2207. for i, coords in next, textareaCoords do
  2208.  
  2209. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2210. mice[name].cofre112113Cajas = 1
  2211. mice[name].flechasDefault = 0
  2212. mice[name].ammo = 5
  2213.  
  2214. initPlayer(name)
  2215.  
  2216. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2217.  
  2218. for chest=101,SETTINGS.textareaAmount+100 do
  2219. ui.removeTextArea(chest, name)
  2220. end
  2221. ui.removeTextArea(113,nil)
  2222. for ammo=1,15 do
  2223. ui.removeTextArea(ammo, name)
  2224. end
  2225. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_cajas").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2226.  
  2227. break
  2228. end
  2229. end
  2230. end
  2231. end
  2232.  
  2233.  
  2234. if id == 114 and tfm.get.room.playerList[name].isDead==false then
  2235. for n, data in next, tfm.get.room.playerList do
  2236. for i, coords in next, textareaCoords do
  2237.  
  2238. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2239. mice[name].cofre114115Lanzaderas = 1
  2240.  
  2241. for chest=101,SETTINGS.textareaAmount+100 do
  2242. ui.removeTextArea(chest, name)
  2243. end
  2244. ui.removeTextArea(114,nil)
  2245.  
  2246. ui.removeTextArea(9997,name)
  2247. ui.removeTextArea(9996,name)
  2248.  
  2249. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_lanzaderas")..":</font> "..mice[name].lanzaderas.."/6",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  2250. break
  2251. end
  2252. end
  2253. end
  2254. end
  2255.  
  2256.  
  2257. if id == 115 and tfm.get.room.playerList[name].isDead==false then
  2258. for n, data in next, tfm.get.room.playerList do
  2259. for i, coords in next, textareaCoords do
  2260.  
  2261. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2262.  
  2263. mice[name].cofre114115Lanzaderas = 1
  2264.  
  2265.  
  2266. for chest=101,SETTINGS.textareaAmount+100 do
  2267. ui.removeTextArea(chest, name)
  2268. end
  2269. ui.removeTextArea(115,nil)
  2270. ui.removeTextArea(9997,name)
  2271. ui.removeTextArea(9996,name)
  2272. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_lanzaderas")..":</font> "..mice[name].lanzaderas.."/6",name, 310, 372, 178, 25, 0x00000F, 0x000000, 0.5, true)
  2273. break
  2274. end
  2275. end
  2276. end
  2277. end
  2278.  
  2279. if id == 116 and tfm.get.room.playerList[name].isDead==false then
  2280. for n, data in next, tfm.get.room.playerList do
  2281. for i, coords in next, textareaCoords do
  2282.  
  2283. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2284. mice[name].cofre116117MinigunNevada = 1
  2285. mice[name].flechasDefault = 0
  2286. mice[name].ammo = 6
  2287. mice[name].force = 90
  2288. initPlayer(name)
  2289.  
  2290. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2291.  
  2292. for chest=101,SETTINGS.textareaAmount+100 do
  2293. ui.removeTextArea(chest, name)
  2294. end
  2295. ui.removeTextArea(116,nil)
  2296. for ammo=1,15 do
  2297. ui.removeTextArea(ammo, name)
  2298. end
  2299. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_minigunnevada").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2300. break
  2301. end
  2302. end
  2303. end
  2304. end
  2305.  
  2306.  
  2307. if id == 117 and tfm.get.room.playerList[name].isDead==false then
  2308. for n, data in next, tfm.get.room.playerList do
  2309. for i, coords in next, textareaCoords do
  2310. if data.x+100 > coords.x+100 and data.x+100 < coords.x+100 + SETTINGS.textareaSize+100 and data.y+100 > coords.y+100 and data.y+100 < coords.y+100 + SETTINGS.textareaSize+100 then
  2311. mice[name].cofre116117MinigunNevada = 1
  2312. mice[name].flechasDefault = 0
  2313. mice[name].ammo = 6
  2314. mice[name].force = 90
  2315. initPlayer(name)
  2316.  
  2317. ui.addTextArea(0, "", name, 10, 372, mice[name].ammo * 15, 20, 0x00000F, 0x000000, 0.6,true)
  2318.  
  2319. for chest=101,SETTINGS.textareaAmount+100 do
  2320. ui.removeTextArea(chest, name)
  2321. end
  2322. ui.removeTextArea(117,nil)
  2323. for ammo=1,15 do
  2324. ui.removeTextArea(ammo, name)
  2325. end
  2326. ui.addTextArea(-9999, "<p align='center'><font size='16'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "hud_cofre_minigunnevada").."</font>",name, 325, 372, 140, 25, 0x00000F, 0x000000, 0.5, true)
  2327.  
  2328. break
  2329. end
  2330. end
  2331. end
  2332. end
  2333.  
  2334. if cb == "asignarX" then
  2335.  
  2336. ui.addTextArea(301, "", name, 6, 6, 787, 389, 0x00000F, 0x000000, 0.9, true)
  2337. ui.addTextArea(302, "<p align='center'><font size='30'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "presioneAhora").."", name, 170, 138, 500, 100, 0x324650, 0x000000, 0, true)
  2338. mice[name].asignandoKey = 1
  2339.  
  2340. ui.removeTextArea(303,name)
  2341. ui.removeTextArea(304,name)
  2342. ui.removeTextArea(305,name)
  2343. ui.removeTextArea(306,name)
  2344. end
  2345.  
  2346. if cb == "asignarC" then
  2347.  
  2348. ui.addTextArea(301, "", name, 6, 6, 787, 389, 0x00000F, 0x000000, 0.9, true)
  2349. ui.addTextArea(302, "<p align='center'><font size='30'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "presioneAhora").."", name, 170, 138, 500, 100, 0x324650, 0x000000, 0, true)
  2350. mice[name].asignandoKey = 2
  2351.  
  2352.  
  2353. ui.removeTextArea(303,name)
  2354. ui.removeTextArea(304,name)
  2355. ui.removeTextArea(305,name)
  2356. ui.removeTextArea(306,name)
  2357.  
  2358. end
  2359.  
  2360. if cb == "asignarQ" then
  2361.  
  2362. ui.addTextArea(301, "", name, 6, 6, 787, 389, 0x00000F, 0x000000, 0.9, true)
  2363. ui.addTextArea(302, "<p align='center'><font size='30'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "presioneAhora").."", name, 170, 138, 500, 100, 0x324650, 0x000000, 0, true)
  2364. mice[name].asignandoKey = 3
  2365. ui.removeTextArea(303,name)
  2366. ui.removeTextArea(304,name)
  2367. ui.removeTextArea(305,name)
  2368. ui.removeTextArea(306,name)
  2369. end
  2370.  
  2371.  
  2372.  
  2373. if cb == "asignarZ" then
  2374. ui.addTextArea(301, "", name, 6, 6, 787, 389, 0x00000F, 0x000000, 0.9, true)
  2375. ui.addTextArea(302, "<p align='center'><font size='30'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "presioneAhora").."", name, 170, 138, 500, 100, 0x324650, 0x000000, 0, true)
  2376. mice[name].asignandoKey = 4
  2377. ui.removeTextArea(303,name)
  2378. ui.removeTextArea(304,name)
  2379. ui.removeTextArea(305,name)
  2380. ui.removeTextArea(306,name)
  2381. end
  2382.  
  2383. if cb == "asignarSpace" then
  2384. ui.addTextArea(301, "", name, 6, 6, 787, 389, 0x00000F, 0x000000, 0.9, true)
  2385. ui.addTextArea(302, "<p align='center'><font size='30'><font color='#FFF500' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "presioneAhora").."", name, 170, 138, 500, 100, 0x324650, 0x000000, 0, true)
  2386. mice[name].asignandoKey = 5
  2387. ui.removeTextArea(303,name)
  2388. ui.removeTextArea(304,name)
  2389. ui.removeTextArea(305,name)
  2390. ui.removeTextArea(306,name)
  2391. end
  2392.  
  2393.  
  2394. if cb == "reset" then
  2395. mice[name].key_rampa = 67
  2396. mice[name].key_suelo = 88
  2397. mice[name].key_recarga = 81
  2398. mice[name].key_rescate = 90
  2399. mice[name].key_consumible = 32
  2400. mice[name].txt_key_rampa = "C"
  2401. mice[name].txt_key_suelo = "X"
  2402. mice[name].txt_key_recarga = "Q"
  2403. mice[name].txt_key_rescate = "Z"
  2404. mice[name].txt_key_consumible = "space"
  2405. savePlayerData(name)
  2406. ui.addTextArea(22, "<b>"..mice[name].txt_key_suelo.."", name, 11, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  2407. ui.addTextArea(23, "<b>"..mice[name].txt_key_rampa.."", name, 40, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  2408. ui.addTextArea(28, "<b>"..mice[name].txt_key_rescate.."", name, 70, 320, 14, 15, 0x00000F, 0x000000, 0.5, true)
  2409.  
  2410. ui.addTextArea(30032, ""..mice[name].txt_key_suelo.."", name, 371, 182, 18, 18, 0x324650, 0x000000, 1, true)
  2411. ui.addTextArea(30033, ""..mice[name].txt_key_rampa.."", name, 371, 223, 19, 19, 0x324650, 0x000000, 1, true)
  2412. ui.addTextArea(30034, ""..mice[name].txt_key_rescate.."", name, 371, 265, 19, 19, 0x324650, 0x000000, 1, true)
  2413. ui.addTextArea(30035, ""..mice[name].txt_key_recarga.."", name, 371, 304, 19, 19, 0x324650, 0x000000, 1, true)
  2414. ui.addTextArea(30036, ""..mice[name].txt_key_consumible.."", name, 371, 343, nil, 20, 0x324650, 0x000000, 1, true)
  2415.  
  2416. tfm.exec.chatMessage("<font color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "cambiosGuardados").."</font>",name)
  2417. end
  2418.  
  2419. if cb == "options" then
  2420. ui.addTextArea(30102, "<font color='#FFFFFF'><a href='event:controles'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "controles_boton").."</font></a> ≡ <a href='event:info'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_boton").."</font></a> ≡ <a href='event:update'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "noticias_boton").."</font></a>", name, 34, 26, 307, 18, 0x00000f, 0x00000f, 0.5, true)
  2421. ui.addTextArea(30100, "<font size='15' color='#FFF504'><a href='event:closeOptions'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  2422.  
  2423. end
  2424.  
  2425. if cb == "closeOptions" then
  2426. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  2427. ui.removeTextArea(30102,name)
  2428. end
  2429.  
  2430. if cb == "controles" then
  2431. ui.removeTextArea(30102,name)
  2432. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  2433. ui.addTextArea(30020, "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "controles_encabezado").."", name, 268, 79, 287, 31, 0x00000f, 0x000000, 0.6, true)
  2434. ui.addTextArea(30021, "<p align='center'><font size='11'>"..translate(tfm.get.room.playerList[name].community, "controles_aviso").."", name, 268, 130, 284, 260, 0x00000f, 0x000000, 0.6, true)
  2435. ui.addTextArea(30022, "", name, 276, 181, 270, 20, 0x00000f, 0x000000, 0.5, true)
  2436. ui.addTextArea(30023, "", name, 277, 222, 270, 20, 0x00000f, 0x000000, 0.5, true)
  2437. ui.addTextArea(30024, "", name, 277, 263, 270, 20, 0x00000f, 0x000000, 0.5, true)
  2438. ui.addTextArea(30025, "", name, 277, 303, 270, 20, 0x00000f, 0x000000, 0.5, true)
  2439. ui.addTextArea(30026, "", name, 277, 343, 270, 20, 0x00000f, 0x000000, 0.5, true)
  2440. ui.addTextArea(30027, "<p align='center'><font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "suelo")..":", name, 266, 180, 72, 24, 0x00000f, 0x000000, 0, true)
  2441. ui.addTextArea(30028, "<p align='center'><font size='15' color='#FFFFFF'> "..translate(tfm.get.room.playerList[name].community, "rampa")..":", name, 266, 221, 72, 31, 0x00000f, 0x000000, 0, true)
  2442. ui.addTextArea(30029, "<p align='center'><font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "recarga")..":", name, 266, 302, 80, 22, 0x00000f, 0x000000, 0, true)
  2443. ui.addTextArea(30030, "<p align='center'><font size='15' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "rescate")..":", name, 264, 262, 86, 31, 0x00000f, 0x000000, 0, true)
  2444. ui.addTextArea(30031, "<p align='center'><font size='12' color='#FFFFFF'>"..translate(tfm.get.room.playerList[name].community, "consumible")..":", name, 264, 344, 100, 23, 0x00000f, 0x000000, 0, true)
  2445. ui.addTextArea(30032, ""..mice[name].txt_key_suelo.."", name, 371, 182, 18, 18, 0x324650, 0x000000, 1, true)
  2446. ui.addTextArea(30033, ""..mice[name].txt_key_rampa.."", name, 371, 223, 19, 19, 0x324650, 0x000000, 1, true)
  2447. ui.addTextArea(30034, ""..mice[name].txt_key_rescate.."", name, 371, 265, 19, 19, 0x324650, 0x000000, 1, true)
  2448. ui.addTextArea(30035, ""..mice[name].txt_key_recarga.."", name, 371, 304, 19, 19, 0x324650, 0x000000, 1, true)
  2449. ui.addTextArea(30036, ""..mice[name].txt_key_consumible.."", name, 371, 343, nil, 20, 0x324650, 0x000000, 1, true)
  2450. ui.addTextArea(30037, "<p align='center'><font size='15' color='#FFF504'><a href='event:asignarC'>"..translate(tfm.get.room.playerList[name].community, "cambiar").."", name, 447, 221, 100, 21, 0x8c8c8c, 0x000000, 0.5, true)
  2451. ui.addTextArea(30038, "<p align='center'><font size='15' color='#FFF504'><a href='event:asignarQ'>"..translate(tfm.get.room.playerList[name].community, "cambiar").."", name, 447, 301, 100, 22, 0x8c8c8c, 0x000000, 0.5, true)
  2452. ui.addTextArea(30039, "<p align='center'><font size='15' color='#FFF504'><a href='event:asignarX'>"..translate(tfm.get.room.playerList[name].community, "cambiar").."", name, 446, 178, 100, 21, 0x8c8c8c, 0x000000, 0.5, true)
  2453. ui.addTextArea(30040, "<p align='center'><font size='15' color='#FFF504'><a href='event:asignarZ'>"..translate(tfm.get.room.playerList[name].community, "cambiar").."", name, 447, 262, 100, 21, 0x8c8c8c, 0x000000, 0.5, true)
  2454. ui.addTextArea(30041, "<p align='center'><font size='15' color='#FFF504'><a href='event:asignarSpace'>"..translate(tfm.get.room.playerList[name].community, "cambiar").."", name, 447, 343, 100, 22, 0x8c8c8c, 0x000000, 0.5, true)
  2455. ui.addTextArea(30042, "<p align='center'><font size='9'><a href='event:reset'>"..translate(tfm.get.room.playerList[name].community, "restaurarTodo").."", name, 172, 370, 87, 20, 0x00000f, 0x000000, 0.5, true)
  2456. ui.addTextArea(30043, "<font size='19' color='#FF1E1E'><b><a href='event:closeControles'>X", name, 568, 83, 22, 25, 0x324650, 0x000000, 0, true)
  2457.  
  2458. end
  2459.  
  2460. if cb == "closeControles" then
  2461. for close= 30020,30043 do
  2462. ui.removeTextArea(close,name)
  2463. end
  2464. end
  2465.  
  2466. if cb == "info" then
  2467. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  2468. ui.removeTextArea(30102,name)
  2469. ui.addTextArea(30020, ""..translate(tfm.get.room.playerList[name].community, "informacion_informacion_contenido").."", name, 208, 141, 409, 243, 0x00000f, 0x000000, 0.6, true)
  2470. ui.addTextArea(30021, "<p align='center'><font size='22'><font color='#FFF504' face='Comic Sans MS'>"..translate(tfm.get.room.playerList[name].community, "informacion_encabezado").."", name, 268, 89, 287, 31, 0x00000f, 0x000000, 0.6, true)
  2471. ui.addTextArea(30037, "<font size='19' color='#FF1E1E'><b><a href='event:closeInfo'>X", name, 568, 92, 22, 24, 0x324650, 0x000000, 0, true)
  2472. ui.addTextArea(30022, "<p align='center'><a href='event:info'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_informacion").."</font></a> | <a href='event:infoControles'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_controles").."</a> | <a href='event:infoReglas'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_reglas").."</a> | <a href='event:infoStaff'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_staff").."</a>", name, 280, 137, 272, 20, 0x00000f, 0x000000, 0, true)
  2473. elseif cb =="infoControles" then
  2474.  
  2475. ui.addTextArea(30020, "\n<font size='14'>\n<font color='#FFF504' face='Comic Sans MS'> "..translate(tfm.get.room.playerList[name].community, "suelo")..": ["..mice[name].txt_key_suelo.."]</font> "..translate(tfm.get.room.playerList[name].community, "informacion_controles_x").."\n\n<font color='#FFF504' face='Comic Sans MS' size='13'> "..translate(tfm.get.room.playerList[name].community, "rampa")..": ["..mice[name].txt_key_rampa.."]</font> "..translate(tfm.get.room.playerList[name].community, "informacion_controles_c").."\n\n<font color='#FFF504' face='Comic Sans MS'> "..translate(tfm.get.room.playerList[name].community, "rescate")..": ["..mice[name].txt_key_rescate.."]</font> "..translate(tfm.get.room.playerList[name].community, "informacion_controles_z").."\n\n<font color='#FFF504' face='Comic Sans MS'> "..translate(tfm.get.room.playerList[name].community, "consumible")..": ["..mice[name].txt_key_consumible.."]</font> "..translate(tfm.get.room.playerList[name].community, "informacion_controles_space").."", name, 208, 141, 409, 243, 0x00000f, 0x000000, 0.6, true)
  2476. ui.addTextArea(30037, "<font size='19' color='#FF1E1E'><b><a href='event:closeInfo'>X", name, 568, 92, 22, 24, 0x324650, 0x000000, 0, true)
  2477. ui.addTextArea(30022, "<p align='center'><a href='event:info'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_informacion").."</a> | <a href='event:infoControles'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_controles").."</font></a> | <a href='event:infoReglas'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_reglas").."</a> | <a href='event:infoStaff'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_staff").."</a>", name, 280, 137, 272, 20, 0x00000f, 0x000000, 0, true)
  2478.  
  2479. elseif cb == "infoReglas" then
  2480.  
  2481. ui.addTextArea(30020, ""..translate(tfm.get.room.playerList[name].community, "informacion_reglas_contenido").."", name, 207, 140, 409, 243, 0x00000f, 0x000000, 0.6, true)
  2482. ui.addTextArea(30022, "<p align='center'><a href='event:info'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_informacion").."</a> | <a href='event:infoControles'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_controles").."</a> | <a href='event:infoReglas'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_reglas").."</font></a> | <a href='event:infoStaff'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_staff").."</a>", name, 280, 137, 272, 20, 0x00000f, 0x000000, 0, true)
  2483.  
  2484.  
  2485. elseif cb =="infoStaff" then
  2486. ui.addTextArea(30020, ""..translate(tfm.get.room.playerList[name].community, "informacion_staff_contenido").."", name, 207, 140, 409, 243, 0x00000f, 0x000000, 0.6, true)
  2487. ui.addTextArea(30022, "<p align='center'><a href='event:info'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_informacion").."</a> | <a href='event:infoControles'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_controles").."</a> | <a href='event:infoReglas'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_reglas").."</a> | <a href='event:infoStaff'><font color='#FFF504'>"..translate(tfm.get.room.playerList[name].community, "informacion_cb_staff").."</font></a>",name, 280, 137, 272, 20, 0x00000f, 0x000000, 0, true)
  2488. end
  2489.  
  2490.  
  2491.  
  2492. if cb == "closeControles" then
  2493. for close= 30020,30040 do
  2494. ui.removeTextArea(close,name)
  2495. end
  2496. end
  2497.  
  2498.  
  2499.  
  2500. if cb == "closeInfo" then
  2501. ui.removeTextArea(30020,name)
  2502. ui.removeTextArea(30021,name)
  2503. ui.removeTextArea(30022,name)
  2504. ui.removeTextArea(30037,name)
  2505. end
  2506.  
  2507. if cb == "update" then
  2508. displayUpdate(name)
  2509. ui.removeTextArea(30102,name)
  2510. end
  2511.  
  2512. if cb == "closeUpdate" then
  2513. ui.removeTextArea(30020,name)
  2514. ui.removeTextArea(30021,name)
  2515. ui.removeTextArea(30037,name)
  2516. end
  2517. end
  2518.  
  2519. function displayUpdate(name)
  2520. for delete = 30020, 30040 do
  2521. ui.removeTextArea(delete,name)
  2522. end
  2523. ui.addTextArea(30100, "<font size='15' color='#FFFFFF'><a href='event:options'>≡", name, 6, 23, 16, 22, 0x00000f, 0x00000f, 0.3, true)
  2524. ui.addTextArea(30020, ""..translate(tfm.get.room.playerList[name].community, "noticias_texto").."",name, 214, 140, 400, 238, 0x00000F, 0x000000, 0.6, true)
  2525. ui.addTextArea(30021, ""..translate(tfm.get.room.playerList[name].community, "noticias_titulo").."",name, 266, 90, 287, 31, 0x00000F, 0x000000, 0.6, true)
  2526. ui.addTextArea(30037, "<font size='19' color='#FF1E1E'><b><a href='event:closeUpdate'>X", name, 569, 93, 22, 25, 0x324650, 0x000000, 0, true)
  2527. end
  2528.  
  2529. main()
  2530. end
  2531.  
  2532. function crawl()
  2533. local cmd = ""
  2534. local maps = {}
  2535. local map = nil
  2536. local loaded = false
  2537. local first = nil
  2538.  
  2539. local function calculateMaps()
  2540. if map and not loaded then
  2541. tfm.exec.chatMessage(map)
  2542. map = nil
  2543. end
  2544.  
  2545. if #maps > 0 then
  2546. loaded = false
  2547. map = "@" .. maps[1]
  2548. table.remove(maps, 1)
  2549.  
  2550. tfm.exec.newGame(map)
  2551. end
  2552. end
  2553.  
  2554. local function parseCommand(command)
  2555. maps = {}
  2556. for map in string.gmatch(command, "[^;]+") do
  2557. maps[#maps + 1] = map
  2558. end
  2559. end
  2560.  
  2561. function eventNewGame()
  2562. if tfm.get.room.currentMap == map then
  2563. loaded = true
  2564. end
  2565. end
  2566.  
  2567. function eventChatMessage(player, msg)
  2568. if not first then
  2569. first = player
  2570. end
  2571. if player ~= first then return end
  2572.  
  2573. if msg == "#" then
  2574. parseCommand(cmd)
  2575. cmd = ""
  2576. else
  2577. cmd = cmd .. msg
  2578. end
  2579. end
  2580.  
  2581. system.newTimer(calculateMaps, 3500, true)
  2582. tfm.exec.disableAutoNewGame(true)
  2583. tfm.exec.chatMessage("<vp>Loaded")
  2584. end
  2585.  
  2586. if tfm.get.room.name == "*#fortmice0clubmice" then
  2587. clubmice()
  2588. elseif tfm.get.room.name:sub(1, 17) == "*#fortmice0crawl0" then
  2589. crawl()
  2590. else
  2591. fortmice()
  2592. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement