HOTKEY = 'Ctrl+Z' ANEXAR_MESSAGE = false MSG_TYPE = 01 CAIXA_MSG_ID = 01 MESSAGE_BOX = 123 local QUADRO_NOTICIAS = { [01] = { TITULO = { ["pt"] = "UPDATE 1.4.14", ["en"] = "UPDATE 1.4.14", }, LEITURA = 00, DESC = { ["pt"] = "Adicionado sistema de desafios diários, extensão do depot e mais.", ["en"] = "Added daily challenges system, depot extension and more.", }, TEXT = { ["pt"] = { [[ > Adicionado sistema de Desafios Diários. > Capacidade máxima do Depot foi expandida para 100. > Adicionado sistema de reiniciar task usando Nexus Remoto. _____________________________________________________ DESAFIOS DIÁRIOS > Na Base Central e Premium foram adicionados Paineis para abrir os Desafios Diários. > Todos os dias, 10 desafios diários são escolhidos aleatóriamente. > Você pode completar todos, mas apenas 1 por vez. > Após concluir um desafio, você pode reiniciar o mesmo quantas vezes puder. > Cada desafio tem duas recompensas. Uma delas, os Pontos de Desafio. > Os pontos de desafio são usados exclusivamente no Shop no Painel de Desafios. > Não se pode negociar ou trocar os Pontos de Desafio. > O Shop do Desafio possui itens exclusivos e alguns temporários. > Você ganha Pontos de Desafios completando desafios diários. EXTENSOR DE TASK > Ao comprar um Extensor de Task, todas as suas novas Task serão multiplicadas. > Você deverá matar o dobro de monstros para concluir a Task. > Ao finalizar uma Task, você ganhará o dobro de gold e de Task Points. > Sempre que finalizar uma Task, você perde uma carga do extensor, até finalmente acabar. DESCONSTRUTOR > Ao comprar o desconstrutor, você poderá desmontar qualquer item possível para upgrade e reaver parte desses itens. > Procure o item na sua backpack e clique com o botão direito do mouse sobre ele. > Clique em Desconstruir para uma nova janela ser aberta com o resultado da desconstrução. > Verifique se sua backpack tem espaço suficiente para receber os itens. > Confirme para finalizar a desconstrução. > Ao usar, você perde carga até finalmente acabar. _____________________________________________________ BUGS CORRIGIDOS E ALTERAÇÕES > Dano crítico da espingarda agora é aplicado aos inimigos em volta. > Alterado o nível da porta de acesso as Tarantulas de nível 35 para nível 30. > O nível para entrar na Warzone foi alterado de 50 para 10. > Corrigido problemas de divergência de itens ao dar upgrade. > Corrigido falhas na missão "Aulas de Defesa - I". > Corrigido um problema com a Task de Blood Beast. > Corrigido um problema de acionamento de Hotkeys mesmo com chat aberto. > Desbloqueado a compra de extensões de backpack no Shop. > Corrigido um problema com os efeitos de alguns Kards na hora do Duelo. > Removido a trava de itens obtidos na Arvore Amaldiçoada. > Corrigido uma falha na DG "Toca Dimensional" ao participar com um grupo. > Poções compradas diretamente no Shop agora darão 100 unds. > Valores em PVP Points de produtos do SHOP > WARZONE foram alterados. > Ao morrer dentro da Warzone, você terá 10 segundos para retornar a arena ou será teleportado automaticamente. ]], }, ["en"] = { [[ > Added Daily Challenges system. > Depot's maximum capacity has been expanded to 100. > Added system restart task using Nexus Remote. _____________________________________________________ DAILY CHALLENGES > In the Central and Premium Base Panels were added to open Daily Challenges. > Every day, 10 daily challenges are chosen at random. > You can complete all but only 1 at a time. > After completing a challenge, you can restart it as many times as you can. > Each challenge has two rewards. One of them, Challenge Points. > Challenge Points are used exclusively in the Shop on the Challenges Panel. > Challenge Points cannot be traded or exchanged. > The Challenge Shop has exclusive items and some temporary ones. > You earn Challenge Points by completing daily challenges. TASK EXTENDER > When purchasing a Task Extender, all your new Tasks will be multiplied. > You must kill twice as many monsters to complete the Task. > When finishing a Task, you will earn double gold and Task Points. > Whenever you finish a Task, you lose a charge of the extender, until it finally ends. DECONSTRUCTOR > By purchasing the deconstructor, you will be able to dismantle any possible item for upgrade and get some of those items back. > Find the item in your backpack and right-click on it. > Click on Deconstruct to open a new window with the result of the deconstruction. > Make sure your backpack has enough space to hold the items. > Confirm to finish the deconstruction. > When using, you lose charge until it finally runs out. _____________________________________________________ FIXED BUGS AND CHANGES > Shotgun critical damage is now applied to surrounding enemies. > Changed the level of the access door to Tarantulas from level 35 to level 30. > The level to enter Warzone has been changed from 50 to 10. > Fixed item divergence issues when upgrading. > Fixed crashes in "Defense Lessons - I" mission. > Fixed an issue with Blood Beast's Task. > Fixed a problem with Hotkeys triggering even with open chat. > Unlocked the purchase of backpack extensions in the Shop. > Fixed an issue with the effects of some Kards at Duel time. > Removed the lock on items obtained from the Cursed Tree. > Fixed a crash in DG "Dimensional Burrow" when participating with a party. > Potions purchased directly from the Shop will now give 100 unds. > Values in PVP Points of SHOP > WARZONE products have been changed. > When dying inside the Warzone, you will have 10 seconds to return to the arena or you will be automatically teleported. ]], }, }, }, [02] = { TITULO = { ["pt"] = "UPDATE 1.4.13", ["en"] = "UPDATE 1.4.13", }, LEITURA = 00, DESC = { ["pt"] = "Melhorias no sistema de detectação de bot, adicionado Painel de Mensagem e salas PVP.", ["en"] = "Improved bot detection system, added Message Board and PVP rooms.", }, TEXT = { ["pt"] = { [[ > Adicionado algumas melhorias no sistema de detectação de bots. > Adicionado sistema de Painel de Mensagem. > Adicionado salas PVP para confrontos em diversas modalidades. > Adicionado eventos diários. _____________________________________________________ PAINEL DE MENSAGENS > Agora as atualizações e noticias do servidor podem ser acompanhadas aqui pelo Painel. > Para abrir o Painel você deve pressionar Ctrl + Z. > Em "Ultimas Noticias do Servidor" você pode ver o changerlog das últimas atualizações. > No botão "Caixa de Mensagem", você pode enviar ou receber mensagens de outros jogadores. > Através das mensagens, você pode enviar ou receber até 4x itens. _____________________________________________________ MELHORIAS NO REPORT > Você pode reportar bugs através das mensagens. > Em "Ultimas Noticias do Servidor", clique no botão "Abrir Ticket". > Você pode reportar bugs, tirar dúvidas ou mencionar uma sugestão para ser avaliada pela Staff. > Quando seu report for respondido, sua Caixa de Mensagem será atualizada com a resposta. _____________________________________________________ SALAS PVP > Para participar, vá em MENU > ACTIVE > SALAS PVP. > As salas PVP não são eventos programados. Você pode iniciar um desafio PVP sempre que quiser. > Para iniciar um evento PVP, o número de jogadores para o evento precisam ser atendidos. > As recompensas dos vitoriosos em eventos PVP são sempre PVP points. > As recompensas são baseadas na duração do evento. Quanto mais demorada, mais PVP Points é ganho. _____________________________________________________ EVENTOS DIÁRIOS > São eventos programados que ocorre todos os dias da semana. SEGUNDA: > A cada 1 hora, haverá invasões de monstros em 3 áreas aleatórias do mapa. > Esses monstros devem ser mortos antes da próxima onda iniciar (a cada 1 hora). > O diferencial desse evento é o loot da criatura. > O loot é variado e muda de acordo com a arma usada para eliminá-lo. > O loot varia entre os itens de upgrade da arma equipada. > Dessa forma, o loot da criatura muda de pessoa para pessoa. TERÇA: > As Passivas são separadas em 4 cores: vermelho, azul, verde e amarelo. > De forma aleatória, uma dessas cores será sorteada. > Durante o dia todo, as Passivas dessas cores terão seus efeitos melhorados. QUARTA: > A cada 1 hora, 1 Boss será invocado no mapa. > Ao eliminar o Boss, você ganha um buff aleatório disponível no Shop. QUINTA: > Durante todo o dia todos os jogadores ganham um bônus de venda. > Esse bônus é válido apenas para venda de itens na Central Box. > A % do bônus é determinado pelo número de jogadores online na hora da venda. > A metade dos jogadores online determinará o valor do bônus. > 100 jogadores online, bônus de 50%. 50 jogadores online, bônus de 25%. SEXTA: > Toda recompensa em PVP Points das Salas PVP são dobradas. SÁBADO: > Alguns produtos do Shop são sorteados de forma aleatória. > Esses produtos entraram em descontos durante todo o dia. DOMINGO: > Algumas atividades feitas em grupo terão recompensas melhoradas: > Finalizar Task em grupo dará 1x Task Points adicional. > Eliminar um Boss da Blacklist em grupo dará 1x EXP adicional. > Abrir o báu final das Dangerous em grupo dará 10% amais de chance de drop. _____________________________________________________ REFORMULAÇÃO DA WARZONE > Diferente de antigamente, a Warzone apenas se iniciará em um único horário: as 08:05 da noite. > Além de se obter uma recompensa em PVP Points, o time ganhador da Warzone obterá, daquele momento em diante, um bônus de 05% de EXP bônus pela vitória. > Esse bônus de EXP é acumulativo. Se no dia seguinte você obter uma nova vitória na Warzone, você somará +05% de bônus de EXP, ficando com 10% e assim sucessivamente. > O bônus de EXP funcionará durante todo o dia, até a próxima Warzone. > Se você perder uma Warzone ou simplesmente não participar no horário programado, você perderá todo o bônus de EXP obtido até então. Seu bônus será resetado a 0. Terá que vencer novamente uma Warzone para obter novamente o bônus. > No domingo, na SS das 00:00hrs, todo e qualquer bônus de qualquer jogador será resetado e os bônus devem ser conquistados novamente durante a próxima semana. _____________________________________________________ CORREÇÕES DE BUGS / ALTERAÇÕES > Diversos bugs no mapa foram resolvidos. > Atributo [ Pegadas ao Vento ] agora funciona com 70% ou mais de vida. > Passivas com requisito 90% agora funciona com 70% ou mais de vida. > Corrigido alguns bugs de click no cliente. > Corrigido um bug ao comprar munição onde não reconhecia sua munição máxima. > Corrigido um bug envolvendo o acesso a Hunt dos Quaras. > Ao morrer, o cliente só mostra sua penalidade se você tiver morrido sem bless. > Morrer faz você perder qualquer Skull ativa. > Habilitado novamente o sistema de ultimas mortes no site. > Corrigido um erro onde era possivel lurar Lizards para o Nexus de Bonebrook. > Agora a contagem de monstros em Task é dado para todos que derem algum dano ao monstro. > Corrigido um bug ao morrer enfrentando um Boss da Blacklist. > Corrigido a localização da missão Draken Quest. > Corrigido o bug onde as armas param de disparar por alguns segundos. > Diminuido os requisitos de itens para dar Upgrade em armas e equipamentos. > Alterado detalhes da missão "Aulas de Defesa - I". ]], }, ["en"] = { [[ > Added some improvements to the bot detection system. > Added Message Panel system. > Added PVP rooms for clashes in various modes. > Added daily events. _____________________________________________________ MESSAGE PANEL > Now server updates and news can be followed here by the Dashboard. > To open the Panel you must press Ctrl + Z. > In "Latest Server News" you can see the changerlog of the latest updates. > In the "Message Box" button, you can send or receive messages from other players. > Through messages, you can send or receive up to 4x items. _____________________________________________________ IMPROVEMENTS IN THE REPORT > You can report bugs through messages. > In "Latest Server News", click on the "Open Ticket" button. > You can report bugs, ask questions or mention a suggestion to be evaluated by the Staff. > When your report is replied to, your Message Box will be updated with the reply. _____________________________________________________ PVP ROOMS > To participate, go to MENU > ACTIVE > PVP ROOMS. > PVP rooms are not scheduled events. You can start a PVP challenge whenever you want. > To start a PVP event, the number of players for the event need to be met. > The rewards of victors in PVP events are always PVP points. > Rewards are based on the duration of the event. The longer it takes, the more PVP Points you earn. _____________________________________________________ DAILY EVENTS > These are scheduled events that take place every day of the week. MONDAY: > Every 1 hour, there will be monster invasions in 3 random areas of the map. > These monsters must be killed before the next wave starts (every 1 hour). > The differential of this event is the creature's loot. > The loot is varied and changes according to the weapon used to eliminate it. > Loot varies between equipped weapon upgrade items. > That way, the creature's loot changes from person to person. THIRD: > Passives are separated into 4 colors: red, blue, green and yellow. > At random, one of these colors will be drawn. > All day, Passives of these colors will have their effects improved. FOURTH: > Every 1 hour, 1 Boss will be summoned on the map. > When you eliminate the Boss, you get a random buff available in the Shop. THURSDAY: > All day all players earn a sale bonus. > This bonus is only valid for selling items in the Central Box. > The % of the bonus is determined by the number of players online at the time of sale. > Half of the online players will determine the bonus amount. > 100 players online, 50% bonus. 50 players online, 25% bonus. FRIDAY: > All PVP Points rewards from PVP Rooms are doubled. SATURDAY: > Some Shop products are randomly drawn. > These products were discounted throughout the day. SUNDAY: > Some group activities will have improved rewards: > Finishing Task in a group will give 1x additional Task Points. > Killing a Blacklist Boss in a group will give 1x additional EXP. > Opening the final Dangerous chest in a group will give 10% increased drop chance. _____________________________________________________ WARZONE REFORMULATION > Unlike in the past, Warzone will only start at a single time: 08:05 at night. > In addition to getting a reward in PVP Points, the winning team in Warzone will, from that moment on, get a 05% bonus XP bonus for winning. > This EXP bonus is cumulative. If the next day you get a new victory in Warzone, you will add +05% EXP bonus, getting 10% and so on. > The EXP bonus will work throughout the day, until the next Warzone. > If you miss a Warzone or simply don't participate at the scheduled time, you'll lose all the XP bonus you've earned so far. Your bonus will be reset to 0. You will have to win a Warzone again to get the bonus again. > On Sunday, at 00:00hrs SS, any and all bonuses from any player will be reset and the bonuses must be earned again during the next week. _____________________________________________________ BUG FIXES / CHANGES > Various map bugs have been fixed. > Attribute [ Footprints in the Wind ] now works at 70% or more health. > Passives with 90% requirement now work at 70% or higher health. > Fixed some client click bugs. > Fixed a bug when buying ammo where it didn't recognize your maximum ammo. > Fixed a bug involving access to Hunt dos Quaras. > When dying, the client only shows his penalty if you died without bless. > Dying makes you lose any active Skulls. > Re-enabled the last kills system on the site. > Fixed a bug where it was possible to lure Lizards to Bonebrook's Nexus. > Now the monster count in Task is given to everyone who damages the monster. > Fixed a bug when dying facing a Blacklist Boss. > Fixed the location of the Draken Quest quest. > Fixed bug where weapons stop firing for a few seconds. > Decreased item requirements to upgrade weapons and equipment. > Changed details of the quest "Defense Lessons - I". ]], }, }, }, [03] = { TITULO = { ["pt"] = "UPDATE 1.4.12", ["en"] = "UPDATE 1.4.12", }, LEITURA = 00, DESC = { ["pt"] = "Modificação no sistema de morte e melhorias internas para corrigir falhas de crash.", ["en"] = "Death system modification and internal improvements to fix crash failures.", }, TEXT = { ["pt"] = { [[ > Adicionado algumas melhorias internas. > Removido a lista de morte temporariamente. > Adicionado promoção de Reset Status no Shop. > Adicionado proteções de login/logout. > Adicionado uma proteção de tela ao morrer. ]], }, ["en"] = { [[ > Added some internal improvements. > Removed the kill list temporarily. > Added Reset Status promotion in Shop. > Added login/logout protections. > Added a screensaver on death. ]], }, }, }, [04] = { TITULO = { ["pt"] = "MELHORIAS NO SERVIDOR", ["en"] = "SERVER IMPROVEMENTS", }, LEITURA = 00, DESC = { ["pt"] = "Melhorias no drop de gold coins, nas chances de obter armas na Blacklist e outras pequenas alterações.", ["en"] = "Improvements in the drop of gold coins, in the chances of getting weapons in the Blacklist and other small changes.", }, TEXT = { ["pt"] = { [[ Atualização no Servidor. > Todos os loot de gold coins - especialmente de monstros mid/high level - foram aumentados, se aproximando ao padrão existente no Global. > Alterado o loot especial único de bosses da blacklist. > Agora cada Boss terá sua % fixa de drope de armas. Quando maior o Rank, menor a %. > Agora o loot de bosses pode ser melhorado com o uso de Amuletos ou atributos que melhoram o drope. > Adicionado um auxílio de drope de armas. Esse auxílio é ativado quando o jogador gasta X quantidade de pontos no Boss. > O auxílio de drope tem limite de até 80%. > O auxílio de drope reseta assim que você dropa uma arma. ]], }, ["en"] = { [[ Server Update. > All gold coins loot - especially from mid/high level monsters - have been increased, approaching the existing Global standard. > Changed the unique special loot of blacklist bosses. > Now each Boss will have its fixed weapon drop %. The higher the Rank, the lower the %. > Boss loot can now be improved with the use of Amulets or stats that improve the drop. > Added a weapon drop aid. This aid is activated when the player spends X amount of points on the Boss. > The drop aid has a limit of up to 80%. > Drop assist resets as soon as you drop a weapon. ]], }, }, }, [05] = { TITULO = { ["pt"] = "UPDATE 1.4.11", ["en"] = "UPDATE 1.4.11", }, LEITURA = 00, DESC = { ["pt"] = "Revisão de valores relacionadas a munição e poções de cura.", ["en"] = "Review of values ??related to ammo and healing potions.", }, TEXT = { ["pt"] = { [[ > Revisado os valores de todas as munições. > Revisado os valores de todas as poções de cura. ]], }, ["en"] = { [[ > Revised the values of all ammunition. > Revised the values of all healing potions. ]], }, }, }, [06] = { TITULO = { ["pt"] = "UPDATE 1.4.10", ["en"] = "UPDATE 1.4.10", }, LEITURA = 00, DESC = { ["pt"] = "Revisão de level em diversas modalidades e vários bugs resolvidos.", ["en"] = "Level review in different modalities and several bugs fixed.", }, TEXT = { ["pt"] = { [[ > Reativado as restrição de níveis em diversas atividades: Ninho > Fácil: Nv. 10+ > Médio: Nv. 40+ > Difícil: Nv. 75+ > Impossível: Nv. 100+ Power Box (Aumento valor de gold): > Box #01: Nv. 20+ > Box #02: Nv. 55+ > Box #03: Nv. 90+ > Box #04: Nv. 145+ > Box #05: Nv. 180+ Machine Sort (Aumento valor de gold): > Machine #01: Nv. 40+ | 10.000 | 10 White Task > Machine #02: Nv. 85+ | 40.000 | 20 White Task > Machine #03: Nv. 130+ | 70.000 | 30 White Task > Machine #04: Nv. 180+ | 100.000 | 20 Yellow Task > Machine #05: Nv. 225+ | 155.000 | 30 Yellow Task > Machine #06: Nv. 285+ | 200.000 | 25 Blue Task > Machine #07: Nv. 320+ | 250.000 | 35 Blue Task Árvore Amaldiçoada: > Fácil: Nv. 30+ > Médio: Nv. 70+ > Difícil: Nv. 125+ > Impossível: Nv. 185+ Maestria: > Aprender: Nv. 80+ | 50.000 > Maestria #1: Nv. 150+ | 100.000 > Maestria #2: Nv. 200+ | 250.000 > Maestria #3: Nv. 250+ | 350.000 > Maestria #4: Nv. 300+ | 500.000 Especialista: > Aprender: Nv. 150 | 200.000 > Esp. #01: Nv. 200 | 350.000 > Esp. #02: Nv. 250 | 500.000 > Esp. #03: Nv. 300 | 700.000 > Esp. #04: Nv. 350 | 900.000 > Esp. #05: Nv. 400 | 2.000.000 > Locais de Hunt do Especialista: Nv. 400+ | 50.000 > Outras modificações: > Agora as Dangerous mostraram a % de chance de obter um equipamento de raridade ao clicar no baú da recompensa. Essa % também sobe para cada vez que você a finaliza. > Corrigido algumas jogadas e bugs do sistema de Duelo de Kards. > Adicionado alguns delay de clique no cliente. > Alterado os requisitos de Task Points na Blacklist de nível Ouro e superior. > Alterado valores de alguns itens no Shop. > Removido a Task dos Massive Earth Elemental. > Corrigido um erro visual no nível de Especialista. > Corrigido problemas no teleport nos desafios de Especialista. > Corrigido um erro nos baus dos saqueadores. > Corrigido um bug na hora de dar as recompensas em Task Points no Coliseu. > Alterado recompensas finais do Coliseu. > Alterado a força dos Bosses de Duelo 1 vs 1 do Coliseu. > Alterado os valores dos atributos do Coliseu Shop. > Agora os atributos obtidos no Coliseu Shop não são mais travados. > Pisos especiais foram adicionados na arena do Coliseu. > Corrigido um bug no filtro do Market. > Corrigido bug visual na aba de status ao usar as passivas de defesa e esquiva. > Alterado o dano dos atributos Bomb em equipamentos. > Uma nova área de Haunted Treeling no Nexus de Sodon. > Alterado os valores de algumas Passivas. > Ajustado defesa e esquiva dos jogadores em PVP. > Corrigido um bug onde não contava Task de Blood Crab. > Corrigido alguns erros no mapa. > Agora é possível fechar uma janela de tutorial na tela apenas clicando em qualquer parte dele. > Substituído os War Golens para Hydras na Dangerous Palácio de Crystal, em Huampali. ]], }, ["en"] = { [[ > Reactivated the level restrictions in several activities: Nest > Easy: Lv. 10+ > Medium: Lv. 40+ > Hard: Lv. 75+ > Impossible: Lv. 100+ Power Box (Increase gold value): > Box #01: Lv. 20+ > Box #02: Lv. 55+ > Box #03: Lv. 90+ > Box #04: Lv. 145+ > Box #05: Lv. 180+ Machine Sort (Increase gold value): > Machine #01: Lv. 40+ | 10,000 | 10 White Task > Machine #02: Lv. 85+ | 40,000 | 20 White Task > Machine #03: Lv. 130+ | 70,000 | 30 White Task > Machine #04: Lv. 180+ | 100,000 | 20 Yellow Task > Machine #05: Lv. 225+ | 155,000 | 30 Yellow Task > Machine #06: Lv. 285+ | 200,000 | 25 Blue Task > Machine #07: Lv. 320+ | 250,000 | 35 Blue Task Cursed Tree: > Easy: Lv. 30+ > Medium: Lv. 70+ > Hard: Lv. 125+ > Impossible: Lv. 185+ Mastery: > Learn: Lv. 80+ | 50,000 > Mastery #1: Lv. 150+ | 100,000 > Mastery #2: Lv. 200+ | 250,000 > Mastery #3: Lv. 250+ | 350,000 > Mastery #4: Lv. 300+ | 500,000 Specialist: > Learn: Lv. 150 | 200,000 > esp. #01: Lv. 200 | 350,000 > esp. #02: Lv. 250 | 500,000 > esp. #03: Lv. 300 | 700,000 > esp. #04: Lv. 350 | 900,000 > esp. #05: Lv. 400 | 2,000,000 > Specialist Hunt Locations: Lv. 400+ | 50,000 > Other modifications: > Dangerous now show the % chance of getting a rarity gear when clicking on the reward chest. This % also goes up for each time you finish it. > Fixed some moves and bugs in the Kards Duel system. > Added some client click delay. > Changed the Task Points requirements in the Gold level Blacklist and above. > Changed values of some items in the Shop. > Removed the Massive Earth Elemental Task. > Fixed a visual bug at the Expert level. > Fixed teleport issues in Specialist challenges. > Fixed a bug in looter chests. > Fixed a bug when giving the rewards in Task Points in the Colosseum. > Changed Colosseum final rewards. > Changed the strength of Colosseum 1v1 Duel Bosses. > Changed the values of the Coliseu Shop attributes. > Now the attributes obtained in the Coliseum Shop are no longer locked. > Special floors have been added to the Colosseum arena. > Fixed a bug in the Market filter. > Fixed visual bug in status tab when using defense and dodge passives. > Changed the damage of Bomb attributes on equipment. > A new Haunted Treeling area in the Nexus of Sodon. > Changed the values of some Passives. > Adjusted player defense and dodging in PVP. > Fixed a bug where Blood Crab Task did not count. > Fixed some errors on the map. > It is now possible to close an on-screen tutorial window just by clicking on any part of it. > Replaced the War Golems for Hydras in the Dangerous Crystal Palace in Huampali. ]], }, }, }, [07] = { TITULO = { ["pt"] = "", ["en"] = "", }, LEITURA = 00, DESC = { ["pt"] = "", ["en"] = "", }, TEXT = { ["pt"] = { [[ ]], }, ["en"] = { [[ ]], }, }, }, [08] = { TITULO = { ["pt"] = "", ["en"] = "", }, LEITURA = 00, DESC = { ["pt"] = "", ["en"] = "", }, TEXT = { ["pt"] = { [[ ]], }, ["en"] = { [[ ]], }, }, }, [09] = { TITULO = { ["pt"] = "", ["en"] = "", }, LEITURA = 00, DESC = { ["pt"] = "", ["en"] = "", }, TEXT = { ["pt"] = { [[ ]], }, ["en"] = { [[ ]], }, }, }, [10] = { TITULO = { ["pt"] = "", ["en"] = "", }, LEITURA = 00, DESC = { ["pt"] = "", ["en"] = "", }, TEXT = { ["pt"] = { [[ ]], }, ["en"] = { [[ ]], }, }, }, } local CAIXA_MENSAGEM = { [00] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [01] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [02] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [03] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [04] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [05] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [06] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [07] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [08] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [09] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [10] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [11] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [12] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [13] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [14] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [15] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [16] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [17] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [18] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [19] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [20] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [21] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [22] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [23] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [24] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [25] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [26] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [27] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [28] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [29] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [30] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [31] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [32] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [33] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [34] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [35] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [36] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [37] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [38] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [39] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [40] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [41] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [42] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [43] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [44] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [45] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [46] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [47] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [48] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [49] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, [50] = {ID = 00, TYPE = 00, PLAYER_ID = 00, NAME = "", TARGET_ID = 00, TARGET_NAME = "", TITLE = "", MESSAGEM = "", RESPOSTA = "", BOX_1 = "", BOX_2 = "", BOX_3 = "", BOX_4 = "", GOLD = 00, VIP = 00, LIDA = 00, BOX_CHECK = 00, DEL_MSG = 00, DEL_RESP = 00}, } function init() connect(g_game, { connect(g_game, 'onTextMessage', onNoticePanel), }) connect(g_game, { onGameEnd = offline }) ProtocolGame.registerExtendedOpcode(MESSAGE_BOX, function(protocol, opcode, buffer) end) noticePanel = g_ui.displayUI('notice') loadPanel = noticePanel:recursiveGetChildById('loadPanel') sendMessageWindow = noticePanel:recursiveGetChildById('sendMessageWindow') messageItemPanel = noticePanel:recursiveGetChildById('messageItemPanel') mainMessage = noticePanel:recursiveGetChildById('mainMessage') mainSeparador = noticePanel:recursiveGetChildById('mainSeparador') mainBox_1 = noticePanel:recursiveGetChildById('mainBox_1') mainBox_2 = noticePanel:recursiveGetChildById('mainBox_2') mainBox_3 = noticePanel:recursiveGetChildById('mainBox_3') mainBox_4 = noticePanel:recursiveGetChildById('mainBox_4') mainAnexoButton = noticePanel:recursiveGetChildById('mainAnexoButton') respostaMessage = noticePanel:recursiveGetChildById('respostaMessage') respostaSeparador = noticePanel:recursiveGetChildById('respostaSeparador') respostaBox_1 = noticePanel:recursiveGetChildById('respostaBox_1') respostaBox_2 = noticePanel:recursiveGetChildById('respostaBox_2') respostaBox_3 = noticePanel:recursiveGetChildById('respostaBox_3') respostaBox_4 = noticePanel:recursiveGetChildById('respostaBox_4') delMessage = noticePanel:recursiveGetChildById('delMessage') messageWindow = noticePanel:recursiveGetChildById('messageWindow') playerLabel = noticePanel:recursiveGetChildById('playerLabel') titleText = noticePanel:recursiveGetChildById('titleText') destinatarioLabel = noticePanel:recursiveGetChildById('destinatarioLabel') messageText = noticePanel:recursiveGetChildById('messageText') goldText = noticePanel:recursiveGetChildById('goldText') vipText = noticePanel:recursiveGetChildById('vipText') box_1 = noticePanel:recursiveGetChildById('box_1') box_2 = noticePanel:recursiveGetChildById('box_2') box_3 = noticePanel:recursiveGetChildById('box_3') box_4 = noticePanel:recursiveGetChildById('box_4') typeCombo = noticePanel:recursiveGetChildById('typeCombo') typeCombo.onOptionChange = onChangeMsgType noticeWindow = noticePanel:recursiveGetChildById('noticeWindow') noticeLabel = noticePanel:recursiveGetChildById('noticeLabel') noticeItemPanel = noticePanel:recursiveGetChildById('noticeItemPanel') lastNoticeButton = noticePanel:recursiveGetChildById('lastNoticeButton') mensagemBoxButton = noticePanel:recursiveGetChildById('mensagemBoxButton') escreverMessage = noticePanel:recursiveGetChildById('escreverMessage') g_keyboard.bindKeyDown(HOTKEY, show, modules.game_interface.getRootPanel()) noticePanel:hide() end function onNoticePanel(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if string.find(text, "@Notice") then local t = string.explode(text, "|") if tonumber(t[02]) == 00 then local ID = tonumber(t[03]) if tonumber(t[03]) == 01 then for X = 01, #CAIXA_MENSAGEM do CAIXA_MENSAGEM[X].ID = 00 CAIXA_MENSAGEM[X].TYPE = 00 CAIXA_MENSAGEM[X].PLAYER_ID = 00 CAIXA_MENSAGEM[X].NAME = "" CAIXA_MENSAGEM[X].TARGET_ID = 00 CAIXA_MENSAGEM[X].TARGET_NAME = "" CAIXA_MENSAGEM[X].TITLE = "" CAIXA_MENSAGEM[X].MESSAGEM = "" CAIXA_MENSAGEM[X].RESPOSTA = "" CAIXA_MENSAGEM[X].BOX_1 = "" CAIXA_MENSAGEM[X].BOX_2 = "" CAIXA_MENSAGEM[X].BOX_3 = "" CAIXA_MENSAGEM[X].BOX_4 = "" CAIXA_MENSAGEM[X].GOLD = 00 CAIXA_MENSAGEM[X].VIP = 00 CAIXA_MENSAGEM[X].LIDA = 00 CAIXA_MENSAGEM[X].BOX_CHECK = 00 CAIXA_MENSAGEM[X].DEL_MSG = 00 CAIXA_MENSAGEM[X].DEL_RESP = 00 end CAIXA_MSG_ID = 01 end CAIXA_MENSAGEM[CAIXA_MSG_ID].ID = tonumber(t[04]) CAIXA_MENSAGEM[CAIXA_MSG_ID].TYPE = tonumber(t[05]) CAIXA_MENSAGEM[CAIXA_MSG_ID].PLAYER_ID = tonumber(t[06]) CAIXA_MENSAGEM[CAIXA_MSG_ID].NAME = t[07] CAIXA_MENSAGEM[CAIXA_MSG_ID].TARGET_ID = tonumber(t[08]) CAIXA_MENSAGEM[CAIXA_MSG_ID].TARGET_NAME = t[09] CAIXA_MENSAGEM[CAIXA_MSG_ID].TITLE = t[10] CAIXA_MENSAGEM[CAIXA_MSG_ID].MESSAGEM = t[11] CAIXA_MENSAGEM[CAIXA_MSG_ID].RESPOSTA = t[12] CAIXA_MENSAGEM[CAIXA_MSG_ID].BOX_1 = t[13] CAIXA_MENSAGEM[CAIXA_MSG_ID].BOX_2 = t[14] CAIXA_MENSAGEM[CAIXA_MSG_ID].BOX_3 = t[15] CAIXA_MENSAGEM[CAIXA_MSG_ID].BOX_4 = t[16] CAIXA_MENSAGEM[CAIXA_MSG_ID].GOLD = tonumber(t[17]) CAIXA_MENSAGEM[CAIXA_MSG_ID].VIP = tonumber(t[18]) CAIXA_MENSAGEM[CAIXA_MSG_ID].LIDA = tonumber(t[19]) CAIXA_MENSAGEM[CAIXA_MSG_ID].BOX_CHECK = tonumber(t[20]) CAIXA_MENSAGEM[CAIXA_MSG_ID].DEL_MSG = tonumber(t[21]) CAIXA_MENSAGEM[CAIXA_MSG_ID].DEL_RESP = tonumber(t[22]) CAIXA_MSG_ID = CAIXA_MSG_ID + 01 end if tonumber(t[02]) == 01 then local localPlayer = g_game.getLocalPlayer() local OrderMail = {} for _MSG = 01, #CAIXA_MENSAGEM do MSG_BOX = noticePanel:recursiveGetChildById('MSG_BOX_' .._MSG) if MSG_BOX then MSG_BOX:destroy() end end if CAIXA_MSG_ID == 01 then for X = 01, #CAIXA_MENSAGEM do CAIXA_MENSAGEM[X].ID = 00 CAIXA_MENSAGEM[X].TYPE = 00 CAIXA_MENSAGEM[X].PLAYER_ID = 00 CAIXA_MENSAGEM[X].NAME = "" CAIXA_MENSAGEM[X].TARGET_ID = 00 CAIXA_MENSAGEM[X].TARGET_NAME = "" CAIXA_MENSAGEM[X].TITLE = "" CAIXA_MENSAGEM[X].MESSAGEM = "" CAIXA_MENSAGEM[X].RESPOSTA = "" CAIXA_MENSAGEM[X].BOX_1 = "" CAIXA_MENSAGEM[X].BOX_2 = "" CAIXA_MENSAGEM[X].BOX_3 = "" CAIXA_MENSAGEM[X].BOX_4 = "" CAIXA_MENSAGEM[X].GOLD = 00 CAIXA_MENSAGEM[X].VIP = 00 CAIXA_MENSAGEM[X].LIDA = 00 CAIXA_MENSAGEM[X].BOX_CHECK = 00 CAIXA_MENSAGEM[X].DEL_MSG = 00 CAIXA_MENSAGEM[X].DEL_RESP = 00 end end for ORG = 01, 02 do for Y = 01, #CAIXA_MENSAGEM do if ORG == 01 then if CAIXA_MENSAGEM[Y].ID > 00 then if CAIXA_MENSAGEM[Y].LIDA == 00 then table.insert(OrderMail, Y) end end else if CAIXA_MENSAGEM[Y].ID > 00 then if CAIXA_MENSAGEM[Y].LIDA == 01 then table.insert(OrderMail, Y) end end end end end for X = 01, #OrderMail do local NEWS_ID = OrderMail[X] if CAIXA_MENSAGEM[NEWS_ID].ID > 00 and CAIXA_MENSAGEM[NEWS_ID].NAME == localPlayer:getName() and CAIXA_MENSAGEM[NEWS_ID].DEL_MSG == 00 or CAIXA_MENSAGEM[NEWS_ID].ID > 00 and CAIXA_MENSAGEM[NEWS_ID].TARGET_NAME == localPlayer:getName() and CAIXA_MENSAGEM[NEWS_ID].DEL_RESP == 00 then INBOX_MESSAGE = g_ui.createWidget('UIButton', messageItemPanel) INBOX_MESSAGE:setId("MSG_BOX_" ..NEWS_ID) INBOX_MESSAGE:setImageSource('/images/custom/Task/Monster_1') INBOX_MESSAGE:setMarginTop(05) INBOX_MESSAGE:setOpacity(0.8) INBOX_MESSAGE.onHoverChange = function(widget, hoverState) if hoverState then widget:setOpacity('1.0') else widget:setOpacity('0.8') end end INBOX_TITLE = g_ui.createWidget('UIButton', INBOX_MESSAGE) INBOX_TITLE:setSize({width = 10, height = 22}) INBOX_TITLE:setTextAlign(AlignLeft) INBOX_TITLE:setFont("verdana-11px-antialised") INBOX_TITLE:setTextWrap(true) INBOX_TITLE:setPhantom(true) INBOX_TITLE:addAnchor(AnchorLeft, 'parent', AnchorLeft) INBOX_TITLE:addAnchor(AnchorRight, 'parent', AnchorRight) INBOX_TITLE:addAnchor(AnchorTop, 'parent', AnchorTop) INBOX_TITLE:setMarginTop(05) INBOX_TITLE:setMarginBottom(05) INBOX_TITLE:setMarginLeft(55) INBOX_TITLE:setMarginRight(07) INBOX_TITLE:setText(CAIXA_MENSAGEM[NEWS_ID].TITLE) INBOX_DESC = g_ui.createWidget('UIButton', INBOX_MESSAGE) INBOX_DESC:setSize({width = 10, height = 10}) INBOX_DESC:setTextAlign(AlignLeft) INBOX_DESC:setFont("terminus-10px") INBOX_DESC:setTextWrap(true) INBOX_DESC:setPhantom(true) INBOX_DESC:addAnchor(AnchorLeft, 'parent', AnchorLeft) INBOX_DESC:addAnchor(AnchorRight, 'parent', AnchorRight) INBOX_DESC:addAnchor(AnchorTop, 'parent', AnchorTop) INBOX_DESC:addAnchor(AnchorBottom, 'parent', AnchorBottom) INBOX_DESC:setMarginTop(25) INBOX_DESC:setMarginBottom(05) INBOX_DESC:setMarginLeft(60) INBOX_DESC:setMarginRight(07) if CAIXA_MENSAGEM[NEWS_ID].TYPE == 01 then INBOX_DESC:setText(tr('Bug Reportado')) elseif CAIXA_MENSAGEM[NEWS_ID].TYPE == 02 then INBOX_DESC:setText(tr('Sugestao Enviada')) elseif CAIXA_MENSAGEM[NEWS_ID].TYPE == 03 then INBOX_DESC:setText(tr('Duvida')) elseif CAIXA_MENSAGEM[NEWS_ID].TYPE == 04 then if CAIXA_MENSAGEM[NEWS_ID].NAME == localPlayer:getName() then INBOX_DESC:setText(tr('Mensagem Enviada para').. ' ' ..CAIXA_MENSAGEM[NEWS_ID].TARGET_NAME) else INBOX_DESC:setText(tr('Enviada por').. ' ' ..CAIXA_MENSAGEM[NEWS_ID].NAME) INBOX_MESSAGE:setImageSource('/images/custom/Task/Monster_4') end else INBOX_DESC:setText(tr('Desconhecido')) end INBOX_ICON = g_ui.createWidget('UIButton', INBOX_MESSAGE) INBOX_ICON:setId("ICON_BOX_" ..NEWS_ID) INBOX_ICON:setSize({width = 32, height = 32}) INBOX_ICON:addAnchor(AnchorLeft, 'parent', AnchorLeft) INBOX_ICON:addAnchor(AnchorTop, 'parent', AnchorTop) INBOX_ICON:setMarginTop(07) INBOX_ICON:setMarginLeft(13) INBOX_ICON:setPhantom(true) if CAIXA_MENSAGEM[NEWS_ID].TYPE == 04 then if CAIXA_MENSAGEM[NEWS_ID].NAME == localPlayer:getName() then if #CAIXA_MENSAGEM[NEWS_ID].BOX_1 > 05 then INBOX_ICON:setImageSource('/images/custom/UI/email_open_anexo') else INBOX_ICON:setImageSource('/images/custom/UI/email_open') end else if CAIXA_MENSAGEM[NEWS_ID].LIDA == 00 then if #CAIXA_MENSAGEM[NEWS_ID].BOX_1 > 05 then INBOX_ICON:setImageSource('/images/custom/UI/email_closer_anexo') else INBOX_ICON:setImageSource('/images/custom/UI/email_closer') end INBOX_MESSAGE:setImageSource('/images/custom/Task/Monster_4') else if #CAIXA_MENSAGEM[NEWS_ID].BOX_1 > 05 then INBOX_ICON:setImageSource('/images/custom/UI/email_open_anexo') else INBOX_ICON:setImageSource('/images/custom/UI/email_open') end INBOX_MESSAGE:setImageSource('/images/custom/Task/Monster_1') end end else if CAIXA_MENSAGEM[NEWS_ID].LIDA == 00 then if #CAIXA_MENSAGEM[NEWS_ID].BOX_1 > 05 then INBOX_ICON:setImageSource('/images/custom/UI/email_closer_anexo') else INBOX_ICON:setImageSource('/images/custom/UI/email_closer') end INBOX_MESSAGE:setImageSource('/images/custom/Task/Monster_4') else if #CAIXA_MENSAGEM[NEWS_ID].BOX_1 > 05 then INBOX_ICON:setImageSource('/images/custom/UI/email_open_anexo') else INBOX_ICON:setImageSource('/images/custom/UI/email_open') end end end INBOX_MESSAGE.onClick = function(widget) local CLICK_ID = NEWS_ID onNoticeConfig(08, CLICK_ID) MSG_ICON = noticePanel:recursiveGetChildById('ICON_BOX_' ..CLICK_ID) widget:setImageSource('/images/custom/Task/Monster_1') if #CAIXA_MENSAGEM[CLICK_ID].BOX_1 > 05 then onNoticeConfig(07, CLICK_ID) mainSeparador:show() mainAnexoButton:show() mainBox_1:show() mainBox_2:show() mainBox_3:show() mainBox_4:show() if CAIXA_MENSAGEM[CLICK_ID].NAME == localPlayer:getName() then mainAnexoButton:hide() else if CAIXA_MENSAGEM[CLICK_ID].BOX_CHECK == 01 then mainAnexoButton:disable() mainAnexoButton:setImageSource('/images/custom/Task/Monster_5') else mainAnexoButton:enable() mainAnexoButton:setImageSource('/images/custom/Task/Monster_3') mainAnexoButton.onClick = function() local A = CAIXA_MENSAGEM[CLICK_ID].ID local B = CAIXA_MENSAGEM[CLICK_ID].BOX_1 local C = CAIXA_MENSAGEM[CLICK_ID].BOX_2 local D = CAIXA_MENSAGEM[CLICK_ID].BOX_3 local E = CAIXA_MENSAGEM[CLICK_ID].BOX_4 g_game.getProtocolGame():sendExtendedOpcode(MESSAGE_BOX, "99|" ..A.. "|" ..B.. "|" ..C.. "|" ..D.. "|" ..E) CAIXA_MENSAGEM[CLICK_ID].BOX_CHECK = 01 mainAnexoButton:disable() mainAnexoButton:setImageSource('/images/custom/Task/Monster_5') end end end else mainSeparador:hide() mainAnexoButton:hide() mainBox_1:hide() mainBox_2:hide() mainBox_3:hide() mainBox_4:hide() local A = CAIXA_MENSAGEM[CLICK_ID].ID local B = CAIXA_MENSAGEM[CLICK_ID].BOX_1 local C = CAIXA_MENSAGEM[CLICK_ID].BOX_2 local D = CAIXA_MENSAGEM[CLICK_ID].BOX_3 local E = CAIXA_MENSAGEM[CLICK_ID].BOX_4 if CAIXA_MENSAGEM[CLICK_ID].LIDA == 00 then g_game.getProtocolGame():sendExtendedOpcode(MESSAGE_BOX, "99|" ..A.. "|" ..B.. "|" ..C.. "|" ..D.. "|" ..E) end CAIXA_MENSAGEM[CLICK_ID].LIDA = 01 end if #CAIXA_MENSAGEM[CLICK_ID].BOX_1 > 05 then MSG_ICON:setImageSource('/images/custom/UI/email_open_anexo') else MSG_ICON:setImageSource('/images/custom/UI/email_open') end if #CAIXA_MENSAGEM[CLICK_ID].RESPOSTA > 05 then respostaMessage:show() mainSeparador:show() respostaSeparador:show() respostaMessage:setText(tr(CAIXA_MENSAGEM[CLICK_ID].RESPOSTA)) else respostaMessage:hide() mainSeparador:hide() respostaSeparador:hide() respostaMessage:setText('') end delMessage:show() delMessage.onClick = function() local A = CAIXA_MENSAGEM[CLICK_ID].ID local delResp = 0 if CAIXA_MENSAGEM[NEWS_ID].ID > 00 and CAIXA_MENSAGEM[NEWS_ID].TARGET_NAME == localPlayer:getName() and CAIXA_MENSAGEM[NEWS_ID].DEL_RESP == 00 then delResp = 01 end g_game.getProtocolGame():sendExtendedOpcode(MESSAGE_BOX, "98|" ..A.. "|" ..delResp) end mainMessage:show() mainMessage:setText(CAIXA_MENSAGEM[CLICK_ID].TITLE.. "\n_______________________________________________________\n\n" ..CAIXA_MENSAGEM[CLICK_ID].MESSAGEM) end end end mainMessage:hide() mainAnexoButton:hide() mainSeparador:hide() mainBox_1:hide() mainBox_2:hide() mainBox_3:hide() mainBox_4:hide() delMessage:hide() respostaMessage:hide() respostaSeparador:hide() respostaBox_1:hide() respostaBox_2:hide() respostaBox_3:hide() respostaBox_4:hide() scheduleEvent(function() messageWindow:show() lastNoticeButton:setImageSource('/images/custom/Task/Monster_3') lastNoticeButton:enable() loadPanel:hide() end, 500) else onNoticeConfig(tonumber(t[02])) return end end end end function onGetAnexoMessage() return ANEXAR_MESSAGE end function onNoticeConfig(type, value) sendMessageWindow:hide() ANEXAR_MESSAGE = false if type == 00 then for X = 01, #QUADRO_NOTICIAS do NEWS_ID = noticePanel:recursiveGetChildById('notice_' ..X) QUADRO_NOTICIAS[X].LEITURA = 00 if NEWS_ID then NEWS_ID:setImageSource('/images/custom/Task/Monster_1') end end end if type == 01 then noticeWindow:show() loadPanel:hide() noticeLabel:setText('') local locale = g_settings.getString('locale') for NEWS_ID = 01, #QUADRO_NOTICIAS do NEWS_ID = noticePanel:recursiveGetChildById('notice_' ..NEWS_ID) if NEWS_ID then NEWS_ID:destroy() end end for X = 01, #QUADRO_NOTICIAS do if QUADRO_NOTICIAS[X].TITULO[locale] ~= "" then local newsId = X QUADRO_NOTICIAS[newsId].LEITURA = 00 NOTICE_TAG = g_ui.createWidget('UIButton', noticeItemPanel) NOTICE_TAG:setId("notice_" ..newsId) NOTICE_TAG:setImageSource('/images/custom/Task/Monster_1') NOTICE_TAG:setMarginTop(05) NOTICE_TAG:setOpacity(0.8) NOTICE_TAG.onClick = function(window) local uniId = X local str = QUADRO_NOTICIAS[uniId].TITULO[locale] str = str.. "\n" str = str.. QUADRO_NOTICIAS[uniId].TEXT[locale][01] noticeLabel:setText(str) onNoticeConfig(00) QUADRO_NOTICIAS[uniId].LEITURA = 01 window:setImageSource('/images/custom/Task/Monster_2') end NOTICE_TAG.onHoverChange = function(widget, hoverState) if hoverState then widget:setOpacity('1.0') else widget:setOpacity('0.8') end end NOTICE_TITLE = g_ui.createWidget('UIButton', NOTICE_TAG) NOTICE_TITLE:setSize({width = 10, height = 22}) NOTICE_TITLE:setTextAlign(AlignLeft) NOTICE_TITLE:setFont("verdana-11px-antialised") NOTICE_TITLE:setTextWrap(true) NOTICE_TITLE:setPhantom(true) NOTICE_TITLE:addAnchor(AnchorLeft, 'parent', AnchorLeft) NOTICE_TITLE:addAnchor(AnchorRight, 'parent', AnchorRight) NOTICE_TITLE:addAnchor(AnchorTop, 'parent', AnchorTop) NOTICE_TITLE:setMarginTop(05) NOTICE_TITLE:setMarginBottom(05) NOTICE_TITLE:setMarginLeft(95) NOTICE_TITLE:setMarginRight(07) NOTICE_TITLE:setText(QUADRO_NOTICIAS[newsId].TITULO[locale]) NOTICE_DESC = g_ui.createWidget('UIButton', NOTICE_TAG) NOTICE_DESC:setSize({width = 10, height = 10}) NOTICE_DESC:setTextAlign(AlignLeft) NOTICE_DESC:setFont("terminus-10px") NOTICE_DESC:setTextWrap(true) NOTICE_DESC:setPhantom(true) NOTICE_DESC:addAnchor(AnchorLeft, 'parent', AnchorLeft) NOTICE_DESC:addAnchor(AnchorRight, 'parent', AnchorRight) NOTICE_DESC:addAnchor(AnchorTop, 'parent', AnchorTop) NOTICE_DESC:addAnchor(AnchorBottom, 'parent', AnchorBottom) NOTICE_DESC:setMarginTop(25) NOTICE_DESC:setMarginBottom(05) NOTICE_DESC:setMarginLeft(95) NOTICE_DESC:setMarginRight(07) NOTICE_DESC:setText(QUADRO_NOTICIAS[newsId].DESC[locale]) NOTICE_ICON = g_ui.createWidget('UIButton', NOTICE_TAG) NOTICE_ICON:setSize({width = 64, height = 64}) NOTICE_ICON:setImageSource('/images/custom/UI/news_icon') NOTICE_ICON:addAnchor(AnchorLeft, 'parent', AnchorLeft) NOTICE_ICON:addAnchor(AnchorTop, 'parent', AnchorTop) NOTICE_ICON:setMarginTop(15) NOTICE_ICON:setMarginLeft(13) NOTICE_ICON:setPhantom(true) end end onNoticeConfig(00) lastNoticeButton:setImageSource('/images/custom/Task/Monster_1') lastNoticeButton:disable() mensagemBoxButton:setImageSource('/images/custom/Task/Monster_3') mensagemBoxButton:enable() messageWindow:hide() noticePanel:show() end if type == 02 then noticeWindow:hide() lastNoticeButton:setImageSource('/images/custom/Task/Monster_1') lastNoticeButton:disable() mensagemBoxButton:setImageSource('/images/custom/Task/Monster_1') mensagemBoxButton:disable() loadPanel:show() CAIXA_MSG_ID = 01 g_game.getProtocolGame():sendExtendedOpcode(MESSAGE_BOX, "5") end if type == 03 then playerLabel:hide() destinatarioLabel:hide() box_1:show() box_2:show() box_3:show() box_4:show() destinatarioLabel:setText('') titleText:setText('') titleText:focus() messageText:setText('') MSG_TYPE = 04 CAIXA_MENSAGEM[00].BOX_1 = "" CAIXA_MENSAGEM[00].BOX_2 = "" CAIXA_MENSAGEM[00].BOX_3 = "" CAIXA_MENSAGEM[00].BOX_4 = "" typeCombo:setText(tr("Mensagem para outro Jogador")) typeCombo:disable() playerLabel:show() destinatarioLabel:show() destinatarioLabel:setText('') destinatarioLabel:focus(true) onNoticeConfig(06) ANEXAR_MESSAGE = true local maxTitle = 30 local maxMsg = 250 local TitleChance = function(self, value) local Quant = titleText:getText() if #Quant > maxTitle then local LastStr = string.sub(Quant, 1, maxTitle) titleText:setText(LastStr) return end end titleText.onTextChange = TitleChance local MsgChance = function(self, value) local Quant = messageText:getText() if #Quant > maxMsg then local LastStr = string.sub(Quant, 1, maxMsg) messageText:setText(LastStr) return end end messageText.onTextChange = MsgChance sendMessageWindow:show() end if type == 04 then sendMessageWindow:show() local localPlayer = g_game.getLocalPlayer() local PlayerText = destinatarioLabel:getText() local TitleMsgText = titleText:getText() local MsgText = messageText:getText() local GoldMsgText = goldText:getText() local VipMsgText = vipText:getText() if localPlayer:getName() == PlayerText then modules.game_interface.onLoginAdvice(tr("Voce nao pode enviar mensagem para si mesmo.")) return end if MSG_TYPE == 04 then if #PlayerText < 04 then modules.game_interface.onLoginAdvice(tr("Nome do destinatario invalido.")) return end end if #TitleMsgText < 05 then modules.game_interface.onLoginAdvice(tr("Digite um titulo para sua mensagem.")) return end if TitleMsgText:match('|') then modules.game_interface.onLoginAdvice(tr("Titulo com caractere invalido.")) return end if #MsgText < 02 then modules.game_interface.onLoginAdvice(tr("Mensagem muito curta.")) return end if MsgText:match('|') then modules.game_interface.onLoginAdvice(tr("Mensagem com caractere invalido.")) return end if GoldMsgText ~= "" then if tonumber(goldText:getText()) == nil then goldText:setText('') goldText:focus() modules.game_interface.onLoginAdvice(tr("Valor de Gold invalido.")) return end else GoldMsgText = "0" end if VipMsgText ~= "" then if tonumber(vipText:getText()) == nil then vipText:setText('') vipText:focus() modules.game_interface.onLoginAdvice(tr("Valor de Vip Coins invalido.")) return end else VipMsgText = "0" end if CAIXA_MENSAGEM[00].BOX_1 == "" then CAIXA_MENSAGEM[00].BOX_1 = "0" end if CAIXA_MENSAGEM[00].BOX_2 == "" then CAIXA_MENSAGEM[00].BOX_2 = "0" end if CAIXA_MENSAGEM[00].BOX_3 == "" then CAIXA_MENSAGEM[00].BOX_3 = "0" end if CAIXA_MENSAGEM[00].BOX_4 == "" then CAIXA_MENSAGEM[00].BOX_4 = "0" end local stringAcent = {'á','à','â','ã','é','è','ê','í','ï','ó','ô','õ','ö','ú','ç','ñ','Á','À','Â','Ã','É','È','Í','Ï','Ó','Ô','Õ','Ö','Ú','Ç','Ñ'} local stringCorrect = {'a','a','a','a','e','e','e','i','i','o','o','o','o','u','c','n','A','A','A','A','E','E','I','I','O','O','O','O','U','C','N'} for Replace = 01, #stringAcent do MsgText = MsgText:gsub(stringAcent[Replace], stringCorrect[Replace]) end g_game.getProtocolGame():sendExtendedOpcode(MESSAGE_BOX, MSG_TYPE.. "|" ..PlayerText.. "|" ..TitleMsgText.. "|" ..MsgText.. "|" ..CAIXA_MENSAGEM[00].BOX_1.. "|" ..CAIXA_MENSAGEM[00].BOX_2.. "|" ..CAIXA_MENSAGEM[00].BOX_3.. "|" ..CAIXA_MENSAGEM[00].BOX_4.. "|" ..GoldMsgText.. "|" ..VipMsgText) return end if type == 05 then sendMessageWindow:show() if value ~= "00" then if CAIXA_MENSAGEM[00].BOX_1 ~= "" then local split_in = string.explode(CAIXA_MENSAGEM[00].BOX_1, "-") local split_tar = string.explode(value, "-") local UID_01 = tonumber(split_in[01]) local SLOT = tonumber(split_in[11]) local TAR_UID_01 = tonumber(split_tar[01]) local TAR_SLOT = tonumber(split_tar[11]) if TAR_SLOT == 03 then if UID_01 == TAR_UID_01 then return end else if CAIXA_MENSAGEM[00].BOX_1 == value then return end end end if CAIXA_MENSAGEM[00].BOX_2 ~= "" then local split_in = string.explode(CAIXA_MENSAGEM[00].BOX_2, "-") local split_tar = string.explode(value, "-") local UID_01 = tonumber(split_in[01]) local SLOT = tonumber(split_in[11]) local TAR_UID_01 = tonumber(split_tar[01]) local TAR_SLOT = tonumber(split_tar[11]) if TAR_SLOT == 03 then if UID_01 == TAR_UID_01 then return end else if CAIXA_MENSAGEM[00].BOX_2 == value then return end end end if CAIXA_MENSAGEM[00].BOX_3 ~= "" then local split_in = string.explode(CAIXA_MENSAGEM[00].BOX_3, "-") local split_tar = string.explode(value, "-") local UID_01 = tonumber(split_in[01]) local SLOT = tonumber(split_in[11]) local TAR_UID_01 = tonumber(split_tar[01]) local TAR_SLOT = tonumber(split_tar[11]) if TAR_SLOT == 03 then if UID_01 == TAR_UID_01 then return end else if CAIXA_MENSAGEM[00].BOX_3 == value then return end end end if CAIXA_MENSAGEM[00].BOX_4 ~= "" then local split_in = string.explode(CAIXA_MENSAGEM[00].BOX_4, "-") local split_tar = string.explode(value, "-") local UID_01 = tonumber(split_in[01]) local SLOT = tonumber(split_in[11]) local TAR_UID_01 = tonumber(split_tar[01]) local TAR_SLOT = tonumber(split_tar[11]) if TAR_SLOT == 03 then if UID_01 == TAR_UID_01 then return end else if CAIXA_MENSAGEM[00].BOX_4 == value then return end end end if CAIXA_MENSAGEM[00].BOX_1 == "" then CAIXA_MENSAGEM[00].BOX_1 = value elseif CAIXA_MENSAGEM[00].BOX_2 == "" then CAIXA_MENSAGEM[00].BOX_2 = value elseif CAIXA_MENSAGEM[00].BOX_3 == "" then CAIXA_MENSAGEM[00].BOX_3 = value elseif CAIXA_MENSAGEM[00].BOX_4 == "" then CAIXA_MENSAGEM[00].BOX_4 = value end end local POS_BAG = 01 local TEMPORARIO_BOX = { [01] = "", [02] = "", [03] = "", [04] = "", } for X = 01, #TEMPORARIO_BOX do if CAIXA_MENSAGEM[00].BOX_1 ~= "" then TEMPORARIO_BOX[POS_BAG] = CAIXA_MENSAGEM[00].BOX_1 CAIXA_MENSAGEM[00].BOX_1 = "" POS_BAG = POS_BAG + 01 elseif CAIXA_MENSAGEM[00].BOX_2 ~= "" then TEMPORARIO_BOX[POS_BAG] = CAIXA_MENSAGEM[00].BOX_2 CAIXA_MENSAGEM[00].BOX_2 = "" POS_BAG = POS_BAG + 01 elseif CAIXA_MENSAGEM[00].BOX_3 ~= "" then TEMPORARIO_BOX[POS_BAG] = CAIXA_MENSAGEM[00].BOX_3 CAIXA_MENSAGEM[00].BOX_3 = "" POS_BAG = POS_BAG + 01 elseif CAIXA_MENSAGEM[00].BOX_4 ~= "" then TEMPORARIO_BOX[POS_BAG] = CAIXA_MENSAGEM[00].BOX_4 CAIXA_MENSAGEM[00].BOX_4 = "" POS_BAG = POS_BAG + 01 end end if TEMPORARIO_BOX[01] ~= "" then CAIXA_MENSAGEM[00].BOX_1 = TEMPORARIO_BOX[01] end if TEMPORARIO_BOX[02] ~= "" then CAIXA_MENSAGEM[00].BOX_2 = TEMPORARIO_BOX[02] end if TEMPORARIO_BOX[03] ~= "" then CAIXA_MENSAGEM[00].BOX_3 = TEMPORARIO_BOX[03] end if TEMPORARIO_BOX[04] ~= "" then CAIXA_MENSAGEM[00].BOX_4 = TEMPORARIO_BOX[04] end onNoticeConfig(06) end if type == 06 then sendMessageWindow:show() ANEXAR_MESSAGE = true if #CAIXA_MENSAGEM[00].BOX_1 > 01 then local split = string.explode(CAIXA_MENSAGEM[00].BOX_1, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) box_1:setText("") box_1:setIcon('/images/custom/Items/' ..UID_01) box_1:setImageSource('/images/custom/UI/rare_' ..UID_02) box_1.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then local menu = g_ui.createWidget('PopupMenu') menu:addOption(tr("Remover"), function() CAIXA_MENSAGEM[00].BOX_1 = "" onNoticeConfig(05, "00") end) menu:display() end end if SLOT == 1 or SLOT == 7 then box_1:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then box_1:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then box_1:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then box_1:setText("0" ..UID_04) else box_1:setText(UID_04) end else box_1:setText("") end else box_1:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else box_1:setIcon('/images/custom/Items/0') box_1:setImageSource('/images/custom/UI/item_slot') box_1:setTooltip('') box_1:setText("") box_1.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then return end end end if #CAIXA_MENSAGEM[00].BOX_2 > 01 then local split = string.explode(CAIXA_MENSAGEM[00].BOX_2, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) box_2:setText("") box_2:setIcon('/images/custom/Items/' ..UID_01) box_2:setImageSource('/images/custom/UI/rare_' ..UID_02) box_2.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then local menu = g_ui.createWidget('PopupMenu') menu:addOption(tr("Remover"), function() CAIXA_MENSAGEM[00].BOX_2 = "" onNoticeConfig(05, "00") end) menu:display() end end if SLOT == 1 or SLOT == 7 then box_2:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then box_2:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then box_2:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then box_2:setText("0" ..UID_04) else box_2:setText(UID_04) end else box_2:setText("") end else box_2:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else box_2:setIcon('/images/custom/Items/0') box_2:setImageSource('/images/custom/UI/item_slot') box_2:setTooltip('') box_2:setText("") box_2.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then return end end end if #CAIXA_MENSAGEM[00].BOX_3 > 01 then local split = string.explode(CAIXA_MENSAGEM[00].BOX_3, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) box_3:setText("") box_3:setIcon('/images/custom/Items/' ..UID_01) box_3:setImageSource('/images/custom/UI/rare_' ..UID_02) box_3.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then local menu = g_ui.createWidget('PopupMenu') menu:addOption(tr("Remover"), function() CAIXA_MENSAGEM[00].BOX_3 = "" onNoticeConfig(05, "00") end) menu:display() end end if SLOT == 1 or SLOT == 7 then box_3:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then box_3:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then box_3:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then box_3:setText("0" ..UID_04) else box_3:setText(UID_04) end else box_3:setText("") end else box_3:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else box_3:setIcon('/images/custom/Items/0') box_3:setImageSource('/images/custom/UI/item_slot') box_3:setTooltip('') box_3:setText("") box_3.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then return end end end if #CAIXA_MENSAGEM[00].BOX_4 > 01 then local split = string.explode(CAIXA_MENSAGEM[00].BOX_4, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) box_4:setText("") box_4:setIcon('/images/custom/Items/' ..UID_01) box_4:setImageSource('/images/custom/UI/rare_' ..UID_02) box_4.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then local menu = g_ui.createWidget('PopupMenu') menu:addOption(tr("Remover"), function() CAIXA_MENSAGEM[00].BOX_4 = "" onNoticeConfig(05, "00") end) menu:display() end end if SLOT == 1 or SLOT == 7 then box_4:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then box_4:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then box_4:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then box_4:setText("0" ..UID_04) else box_4:setText(UID_04) end else box_4:setText("") end else box_4:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else box_4:setIcon('/images/custom/Items/0') box_4:setImageSource('/images/custom/UI/item_slot') box_4:setTooltip('') box_4:setText("") box_4.onMouseRelease = function(widget, mousePos, mouseButton) if (widget:containsPoint(mousePos) and mouseButton == MouseLeftButton) then return elseif (widget:containsPoint(mousePos) and mouseButton == MouseRightButton) then return end end end end if type == 07 then if CAIXA_MENSAGEM[value].BOX_1 ~= "0" then local split = string.explode(CAIXA_MENSAGEM[value].BOX_1, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) mainBox_1:setText("") mainBox_1:setIcon('/images/custom/Items/' ..UID_01) mainBox_1:setImageSource('/images/custom/UI/rare_' ..UID_02) if SLOT == 1 or SLOT == 7 then mainBox_1:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then mainBox_1:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then mainBox_1:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then mainBox_1:setText("0" ..UID_04) else mainBox_1:setText(UID_04) end else mainBox_1:setText("") end else mainBox_1:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else mainBox_1:setIcon('/images/custom/Items/0') mainBox_1:setImageSource('/images/custom/UI/item_slot') mainBox_1:setTooltip('') mainBox_1:setText("") end if CAIXA_MENSAGEM[value].BOX_2 ~= "0" then local split = string.explode(CAIXA_MENSAGEM[value].BOX_2, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) mainBox_2:setText("") mainBox_2:setIcon('/images/custom/Items/' ..UID_01) mainBox_2:setImageSource('/images/custom/UI/rare_' ..UID_02) if SLOT == 1 or SLOT == 7 then mainBox_2:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then mainBox_2:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then mainBox_2:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then mainBox_2:setText("0" ..UID_04) else mainBox_2:setText(UID_04) end else mainBox_2:setText("") end else mainBox_2:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else mainBox_2:setIcon('/images/custom/Items/0') mainBox_2:setImageSource('/images/custom/UI/item_slot') mainBox_2:setTooltip('') mainBox_2:setText("") end if CAIXA_MENSAGEM[value].BOX_3 ~= "0" then local split = string.explode(CAIXA_MENSAGEM[value].BOX_3, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) mainBox_3:setText("") mainBox_3:setIcon('/images/custom/Items/' ..UID_01) mainBox_3:setImageSource('/images/custom/UI/rare_' ..UID_02) if SLOT == 1 or SLOT == 7 then mainBox_3:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then mainBox_3:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then mainBox_3:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then mainBox_3:setText("0" ..UID_04) else mainBox_3:setText(UID_04) end else mainBox_3:setText("") end else mainBox_3:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else mainBox_3:setIcon('/images/custom/Items/0') mainBox_3:setImageSource('/images/custom/UI/item_slot') mainBox_3:setTooltip('') mainBox_3:setText("") end if CAIXA_MENSAGEM[value].BOX_4 ~= "0" then local split = string.explode(CAIXA_MENSAGEM[value].BOX_4, "-") local UID_01 = tonumber(split[01]) local UID_02 = tonumber(split[02]) local UID_03 = tonumber(split[03]) local UID_04 = tonumber(split[04]) local UID_05 = tonumber(split[05]) local UID_06 = tonumber(split[06]) local UID_07 = tonumber(split[07]) local UID_08 = tonumber(split[08]) local UID_09 = tonumber(split[09]) local UID_10 = tonumber(split[10]) local SLOT = tonumber(split[11]) mainBox_4:setText("") mainBox_4:setIcon('/images/custom/Items/' ..UID_01) mainBox_4:setImageSource('/images/custom/UI/rare_' ..UID_02) if SLOT == 1 or SLOT == 7 then mainBox_4:setTooltip("@JOIAS " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_05.. " " ..UID_09) elseif SLOT == 4 then mainBox_4:setTooltip("@GUN " ..UID_01.. " " ..UID_04.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_03.. " " ..UID_02.. " " ..UID_10.. " " ..UID_09) elseif SLOT == 03 then mainBox_4:setTooltip("@BAG " ..UID_01.. " " ..UID_03.. " " ..UID_02.. " " ..UID_04.. " " ..UID_09) if UID_04 > 0 then if UID_04 < 10 then mainBox_4:setText("0" ..UID_04) else mainBox_4:setText(UID_04) end else mainBox_4:setText("") end else mainBox_4:setTooltip("@EQUIP " ..UID_01.. " " ..UID_03.. " " ..UID_05.. " " ..UID_06.. " " ..UID_07.. " " ..UID_02.. " " ..UID_09) end else mainBox_4:setIcon('/images/custom/Items/0') mainBox_4:setImageSource('/images/custom/UI/item_slot') mainBox_4:setTooltip('') mainBox_4:setText("") end end if type == 08 then mainBox_1:setIcon('/images/custom/Items/0') mainBox_1:setImageSource('/images/custom/UI/item_slot') mainBox_1:setTooltip('') mainBox_1:setText("") mainBox_2:setIcon('/images/custom/Items/0') mainBox_2:setImageSource('/images/custom/UI/item_slot') mainBox_2:setTooltip('') mainBox_2:setText("") mainBox_3:setIcon('/images/custom/Items/0') mainBox_3:setImageSource('/images/custom/UI/item_slot') mainBox_3:setTooltip('') mainBox_3:setText("") mainBox_4:setIcon('/images/custom/Items/0') mainBox_4:setImageSource('/images/custom/UI/item_slot') mainBox_4:setTooltip('') mainBox_4:setText("") end if type == 09 then playerLabel:hide() destinatarioLabel:hide() box_1:hide() box_2:hide() box_3:hide() box_4:hide() destinatarioLabel:setText('') titleText:setText('') titleText:focus() messageText:setText('') MSG_TYPE = 01 local maxTitle = 30 local maxMsg = 250 local TitleChance = function(self, value) local Quant = titleText:getText() if #Quant > maxTitle then local LastStr = string.sub(Quant, 1, maxTitle) titleText:setText(LastStr) return end end titleText.onTextChange = TitleChance local MsgChance = function(self, value) local Quant = messageText:getText() if #Quant > maxMsg then local LastStr = string.sub(Quant, 1, maxMsg) messageText:setText(LastStr) return end end messageText.onTextChange = MsgChance CAIXA_MENSAGEM[00].BOX_1 = "" CAIXA_MENSAGEM[00].BOX_2 = "" CAIXA_MENSAGEM[00].BOX_3 = "" CAIXA_MENSAGEM[00].BOX_4 = "" typeCombo:setText(tr("Reportar um bug")) typeCombo:setOption(tr("Reportar um bug"), "01") typeCombo:enable() playerLabel:hide() destinatarioLabel:hide() destinatarioLabel:setText('') titleText:focus(true) ANEXAR_MESSAGE = false onNoticeConfig(06) sendMessageWindow:show() end end function setMsgType(value) MSG_TYPE = tonumber(value) end function onChangeMsgType(comboBox, option, value) setMsgType(value:lower()) end function show() if noticePanel:isVisible() then return end onNoticeConfig(01) end function closer() noticePanel:hide() ANEXAR_MESSAGE = false end function offline() noticePanel:hide() ANEXAR_MESSAGE = false end function terminate() disconnect(g_game, { disconnect(g_game, 'onTextMessage', onNoticePanel), }) ANEXAR_MESSAGE = false g_keyboard.unbindKeyDown(HOTKEY, modules.game_interface.getRootPanel()) ProtocolGame.unregisterExtendedOpcode(MESSAGE_BOX) disconnect(g_game, { onGameEnd = offline }) noticePanel:destroy() end