Advertisement
MasterCheats

Mini game Archero 5

Feb 4th, 2025
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 24.61 KB | Gaming | 0 0
  1. -- Configurações iniciais
  2. local tabuleiro = ""
  3. local jogador_posicao_x = 14  -- Linha do jogador (válido de 1 a 14, pois 0 e 15 são as bordas)
  4. local jogador_posicao_y = 7   -- Coluna do jogador (válido de 1 a 14)
  5. local porta_x, porta_y = nil, nil  -- A porta só aparece após derrotar os inimigos
  6. local cenarios = {"🧱", "🏕️", "🏖️", "🏜️", "🏝️", "🏟️", "🏛️", "🌃", "🕌", "️🕋"}  -- Símbolos das bordas
  7. local cenario_atual = 1
  8. -- A lista abaixo dos inimigos padrão não é usada diretamente, pois os inimigos serão gerados aleatoriamente.
  9. local inimigos = {}  
  10. local obstaculos = {}  -- Obstáculos serão definidos com um padrão fixo
  11. local dificuldade = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}  -- Número de inimigos para cada cenário
  12. local monster = 0
  13. local pontuacao = 0
  14. local vida = 3  -- Internamente, usamos um número; na exibição, mostraremos corações.
  15. local level = 1
  16. local mortes = {}  -- Registra as posições dos inimigos derrotados
  17.  
  18. -- Variáveis globais para o herói e arma escolhidos
  19. local heroIcon = "🧑‍🚒"   -- Valor padrão para o herói
  20. local weaponIcon = "🔥"   -- Valor padrão para a arma
  21.  
  22. ----------------------------------------------------------
  23. -- Padrão fixo para obstáculos (células interiores: linhas 1 a 14, colunas 1 a 14)
  24. -- Cada string tem 14 caracteres: "O" representa obstáculo, "." representa célula aberta.
  25. ----------------------------------------------------------
  26. local fixedPattern = {
  27.   "..............",   -- Linha 1
  28.   "..O..O..O..O..",   -- Linha 2
  29.   "..............",   -- Linha 3
  30.   "..O..O..O..O..",   -- Linha 4
  31.   "..............",   -- Linha 5
  32.   "..O..O..O..O..",   -- Linha 6
  33.   "..............",   -- Linha 7
  34.   "..............",   -- Linha 8
  35.   "..O..O..O..O..",   -- Linha 9
  36.   "..............",   -- Linha 10
  37.   "..O..O..O..O..",   -- Linha 11
  38.   "..............",   -- Linha 12
  39.   "..O..O..O..O..",   -- Linha 13
  40.   ".............."    -- Linha 14
  41. }
  42.  
  43. ----------------------------------------------------------
  44. -- Preenche a tabela "obstaculos" usando o padrão fixo
  45. ----------------------------------------------------------
  46. function gerar_obstaculos()
  47.     obstaculos = {}
  48.     for i = 1, 14 do
  49.         local row = fixedPattern[i]
  50.         for j = 1, 14 do
  51.             local ch = row:sub(j, j)
  52.             if ch == "O" then
  53.                 table.insert(obstaculos, {x = i, y = j})
  54.             end
  55.         end
  56.     end
  57. end
  58. ----------------------------------------------------------
  59. -- Função para verificar se há um obstáculo em uma dada posição
  60. ----------------------------------------------------------
  61. function is_obstaculo_at(x, y)
  62.     for _, o in ipairs(obstaculos) do
  63.         if o.x == x and o.y == y then
  64.             return true
  65.         end
  66.     end
  67.     return false
  68. end
  69. ----------------------------------------------------------
  70. -- Função para verificar se há um inimigo em uma dada posição (opcionalmente excluindo um índice)
  71. ----------------------------------------------------------
  72. function is_inimigo_at(x, y, excluir_index)
  73.     for idx, inimigo in ipairs(inimigos) do
  74.         if idx ~= excluir_index and inimigo.x == x and inimigo.y == y then
  75.             return true
  76.         end
  77.     end
  78.     return false
  79. end
  80. ----------------------------------------------------------
  81. -- Função para verificar se existe algum obstáculo entre duas posições (linha ou coluna)
  82. ----------------------------------------------------------
  83. function obstaculo_no_caminho(x1, y1, x2, y2)
  84.     for _, o in ipairs(obstaculos) do
  85.         if x1 == x2 and o.x == x1 and o.y > math.min(y1, y2) and o.y < math.max(y1, y2) then
  86.             return true
  87.         elseif y1 == y2 and o.y == y1 and o.x > math.min(x1, x2) and o.x < math.max(x1, x2) then
  88.             return true
  89.         end
  90.     end
  91.     return false
  92. end
  93. ----------------------------------------------------------
  94. -- Função para gerar inimigos aleatórios
  95. ----------------------------------------------------------
  96. function gerar_inimigos()
  97.     inimigos = {}
  98.     local quantidade = dificuldade[cenario_atual] or 50
  99.     local tipos_inimigos = {"😈", "🤡", "👹", "👻", "👺"}  -- Lista de tipos de inimigos
  100.     for i = 1, quantidade do
  101.         local inimigo_x, inimigo_y
  102.         repeat
  103.             inimigo_x = math.random(1, 12)  -- posições válidas de 1 a 12
  104.             inimigo_y = math.random(1, 12)
  105.         until not (inimigo_x == jogador_posicao_x and inimigo_y == jogador_posicao_y)
  106.               and not is_obstaculo_at(inimigo_x, inimigo_y)
  107.               and not is_inimigo_at(inimigo_x, inimigo_y)
  108.        
  109.         -- Escolhendo aleatoriamente um tipo de inimigo
  110.         local tipo_inimigo = tipos_inimigos[math.random(#tipos_inimigos)]
  111.        
  112.         table.insert(inimigos, {x = inimigo_x, y = inimigo_y, tipo = tipo_inimigo})
  113.     end
  114.     porta_x, porta_y = nil, nil  -- Esconde a porta até eliminar os inimigos
  115. end
  116. ----------------------------------------------------------
  117. -- Função para atualizar a porta (aparece quando todos os inimigos forem derrotados)
  118. ----------------------------------------------------------
  119. function atualizar_porta()
  120.     if #inimigos == 0 and not porta_x then
  121.         porta_x, porta_y = 8, 7  -- A porta é exibida na borda esquerda, coluna 7
  122.     end
  123. end
  124. ----------------------------------------------------------
  125. -- Função para mover os inimigos
  126. ----------------------------------------------------------
  127. function mover_inimigos()
  128.     for idx, inimigo in ipairs(inimigos) do
  129.         if inimigo.x == jogador_posicao_x and not obstaculo_no_caminho(inimigo.x, inimigo.y, jogador_posicao_x, jogador_posicao_y) then
  130.             local nova_y = inimigo.y
  131.             if inimigo.y < jogador_posicao_y then
  132.                 nova_y = inimigo.y + 1
  133.             elseif inimigo.y > jogador_posicao_y then
  134.                 nova_y = inimigo.y - 1
  135.             end
  136.             if nova_y == jogador_posicao_y then
  137.                 if not is_inimigo_at(inimigo.x, nova_y, idx) then
  138.                     inimigo.y = nova_y
  139.                 end
  140.             else
  141.                 if not is_obstaculo_at(inimigo.x, nova_y) and not is_inimigo_at(inimigo.x, nova_y, idx) then
  142.                     inimigo.y = nova_y
  143.                 end
  144.             end
  145.         elseif inimigo.y == jogador_posicao_y and not obstaculo_no_caminho(inimigo.x, inimigo.y, jogador_posicao_x, jogador_posicao_y) then
  146.             local nova_x = inimigo.x
  147.             if inimigo.x < jogador_posicao_x then
  148.                 nova_x = inimigo.x + 1
  149.             elseif inimigo.x > jogador_posicao_x then
  150.                 nova_x = inimigo.x - 1
  151.             end
  152.             if nova_x == jogador_posicao_x then
  153.                 if not is_inimigo_at(nova_x, inimigo.y, idx) then
  154.                     inimigo.x = nova_x
  155.                 end
  156.             else
  157.                 if not is_obstaculo_at(nova_x, inimigo.y) and not is_inimigo_at(nova_x, inimigo.y, idx) then
  158.                     inimigo.x = nova_x
  159.                 end
  160.             end
  161.         end
  162.     end
  163. end
  164. ----------------------------------------------------------
  165. -- Função para desenhar o tabuleiro
  166. ----------------------------------------------------------
  167. function desenhar_tabuleiro()
  168.     tabuleiro = ""
  169.     local cor = cenarios[cenario_atual]
  170.     local shooting_trail = {}
  171.    
  172.     -- Define a trilha de disparo (5 células com a arma escolhida) se houver um inimigo alinhado com o jogador, a distância for <= 5
  173.     for _, inimigo in ipairs(inimigos) do
  174.         if inimigo.x == jogador_posicao_x then
  175.             local distancia = math.abs(inimigo.y - jogador_posicao_y)
  176.             if distancia <= 5 and not obstaculo_no_caminho(jogador_posicao_x, jogador_posicao_y, inimigo.x, inimigo.y) then
  177.                 local dir = (inimigo.y > jogador_posicao_y) and 1 or -1
  178.                 for i = 1, 5 do
  179.                     table.insert(shooting_trail, {x = jogador_posicao_x, y = jogador_posicao_y + i * dir})
  180.                 end
  181.                 break
  182.             end
  183.         elseif inimigo.y == jogador_posicao_y then
  184.             local distancia = math.abs(inimigo.x - jogador_posicao_x)
  185.             if distancia <= 5 and not obstaculo_no_caminho(jogador_posicao_x, jogador_posicao_y, inimigo.x, inimigo.y) then
  186.                 local dir = (inimigo.x > jogador_posicao_x) and 1 or -1
  187.                 for i = 1, 5 do
  188.                     table.insert(shooting_trail, {x = jogador_posicao_x + i * dir, y = jogador_posicao_y})
  189.                 end
  190.                 break
  191.             end
  192.         end
  193.     end
  194.    
  195.     for i = 0, 15 do
  196.         for j = 0, 15 do
  197.             -- 1. Bordas
  198.             if i == 0 or i == 15 or j == 0 or j == 15 then
  199.                 tabuleiro = tabuleiro .. cor
  200.             -- 2. Posição do jogador (usa o herói selecionado)
  201.             elseif i == jogador_posicao_x and j == jogador_posicao_y then
  202.                 tabuleiro = tabuleiro .. heroIcon
  203.             -- 3. Porta
  204.             elseif porta_x and i == porta_x and j == porta_y then
  205.                 tabuleiro = tabuleiro .. "️🚩"
  206.             else
  207.                 local especial = false
  208.                 -- 4. Inimigos na célula
  209.                 for _, inimigo in ipairs(inimigos) do
  210.                     if i == inimigo.x and j == inimigo.y then
  211.                         tabuleiro = tabuleiro .. inimigo.tipo
  212.                         especial = true
  213.                         break
  214.                     end
  215.                 end
  216.                 if not especial then
  217.                     local morto = false
  218.                     -- 5. Inimigo morto
  219.                     for _, morte in ipairs(mortes) do
  220.                         if i == morte.x and j == morte.y then
  221.                             tabuleiro = tabuleiro .. "☠️"
  222.                             morto = true
  223.                             break
  224.                         end
  225.                     end
  226.                     if not morto then
  227.                         -- 6. Obstáculo fixo
  228.                         if i >= 1 and i <= 14 and j >= 1 and j <= 14 then
  229.                             local row = fixedPattern[i]
  230.                             local ch = row:sub(j, j)
  231.                             if ch == "O" then
  232.                                 tabuleiro = tabuleiro .. "🗿"
  233.                             else
  234.                                 -- 7. Trilha de disparo (usa a arma selecionada)
  235.                                 if (function()
  236.                                         for _, pos in ipairs(shooting_trail) do
  237.                                             if pos.x == i and pos.y == j then
  238.                                                 return true
  239.                                             end
  240.                                         end
  241.                                         return false
  242.                                      end)() then
  243.                                     tabuleiro = tabuleiro .. weaponIcon
  244.                                 else
  245.                                     -- 8. Marcador padrão
  246.                                     tabuleiro = tabuleiro .. "▪️"
  247.                                 end
  248.                             end
  249.                         else
  250.                             tabuleiro = tabuleiro .. "✔"
  251.                         end
  252.                     end
  253.                 end
  254.             end
  255.         end
  256.         tabuleiro = tabuleiro .. "\n"
  257.     end
  258.     return "🏆 Pontuação: " .. pontuacao .. "           🧑‍💻 Vidas: " .. string.rep("❤️", vida) ..
  259.            "\n☠️ Derrotados: " .. monster .. "              👤 Herói: " .. heroIcon ..
  260.            "\n📶 Level: " .. level .."                            🗡️ Arma: " .. weaponIcon .. "\n" .. tabuleiro
  261. end  
  262.  
  263. ----------------------------------------------------------
  264. -- Função para atacar inimigos
  265. ----------------------------------------------------------
  266. function atacar()
  267.     local inimigo_alvo = nil
  268.     local distancia_min = math.huge  -- Inicializa com um número muito grande
  269.    
  270.     for _, inimigo in ipairs(inimigos) do
  271.         if inimigo.x == jogador_posicao_x or inimigo.y == jogador_posicao_y then
  272.             local distancia = math.abs(inimigo.x - jogador_posicao_x) + math.abs(inimigo.y - jogador_posicao_y)
  273.             if distancia <= 5 then  -- Verifica se o inimigo está no alcance (5 células)
  274.                 local bloqueado = false
  275.                 if jogador_posicao_x == inimigo.x then
  276.                     for _, obstaculo in ipairs(obstaculos) do
  277.                         if obstaculo.x == jogador_posicao_x and obstaculo.y > math.min(jogador_posicao_y, inimigo.y) and obstaculo.y < math.max(jogador_posicao_y, inimigo.y) then
  278.                             bloqueado = true
  279.                             break
  280.                         end
  281.                     end
  282.                 elseif jogador_posicao_y == inimigo.y then
  283.                     for _, obstaculo in ipairs(obstaculos) do
  284.                         if obstaculo.y == jogador_posicao_y and obstaculo.x > math.min(jogador_posicao_x, inimigo.x) and obstaculo.x < math.max(jogador_posicao_x, inimigo.x) then
  285.                             bloqueado = true
  286.                             break
  287.                         end
  288.                     end
  289.                 end
  290.                 if not bloqueado and distancia < distancia_min then
  291.                     distancia_min = distancia
  292.                     inimigo_alvo = inimigo
  293.                 end
  294.             end
  295.         end
  296.     end
  297.     if inimigo_alvo then
  298.         table.insert(mortes, {x = inimigo_alvo.x, y = inimigo_alvo.y})
  299.         for i = #inimigos, 1, -1 do
  300.             if inimigos[i] == inimigo_alvo then
  301.                 table.remove(inimigos, i)
  302.                 break
  303.             end
  304.         end
  305.         pontuacao = pontuacao + 150
  306.         monster = monster + 1
  307.         atualizar_porta()
  308.     end
  309. end
  310. ----------------------------------------------------------
  311. -- Função para reiniciar o jogo
  312. ----------------------------------------------------------
  313. function resetar_jogo()
  314.     local escolha = gg.choice({"🔄 Reiniciar Jogo", "❌ Sair"}, nil, "O jogo terminou! Deseja reiniciar?")
  315.     if escolha == 1 then
  316.         -- Reseta todas as variáveis do jogo
  317.         jogador_posicao_x, jogador_posicao_y = 14, 7
  318.         porta_x, porta_y = nil, nil
  319.         cenario_atual = 1
  320.         inimigos = {}
  321.         obstaculos = {}  -- Será refeito via fixedPattern
  322.         dificuldade = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
  323.         monster = 0
  324.         pontuacao = 0
  325.         vida = 3
  326.         mortes = {}
  327.         level = 15
  328.         gg.toast("Jogo reiniciado!")
  329.         jogar()  -- Inicia um novo jogo
  330.     else
  331.         gg.toast("Jogo encerrado.")
  332.     end
  333. end
  334. ----------------------------------------------------------
  335. -- Função principal do jogo
  336. ----------------------------------------------------------
  337. function jogar()
  338.     gerar_obstaculos()  -- Preenche os obstáculos com o padrão fixo
  339.     gerar_inimigos()
  340.     while true do
  341.         local tabuleiro_atual = desenhar_tabuleiro()
  342.        
  343.         local escolha = gg.choice({
  344.                 "                         ⬆️ Cima\n",
  345.                 "\n⬅️ Esquerda\n",
  346.                 "\n                                                  ➡️ Direita\n",
  347.                 "\n                         ⬇️ Baixo\n",
  348.                 "                                                ⚡ Atacar\n",
  349.                 "🗂️Menu Principa↩️l",
  350.                 "❌ Desistir👋"
  351.             }, nil, tabuleiro_atual .. "")
  352.        
  353.         -- Movimentação do jogador (não pode atravessar obstáculos fixos)
  354.         if escolha == 1 and jogador_posicao_x > 1 and not is_obstaculo_at(jogador_posicao_x - 1, jogador_posicao_y) then
  355.             jogador_posicao_x = jogador_posicao_x - 1  -- Cima
  356.         elseif escolha == 2 and jogador_posicao_y > 1 and not is_obstaculo_at(jogador_posicao_x, jogador_posicao_y - 1) then
  357.             jogador_posicao_y = jogador_posicao_y - 1  -- Esquerda
  358.         elseif escolha == 3 and jogador_posicao_y < 14 and not is_obstaculo_at(jogador_posicao_x, jogador_posicao_y + 1) then
  359.             jogador_posicao_y = jogador_posicao_y + 1  -- Direita
  360.         elseif escolha == 4 and jogador_posicao_x < 14 and not is_obstaculo_at(jogador_posicao_x + 1, jogador_posicao_y) then
  361.             jogador_posicao_x = jogador_posicao_x + 1  -- Baixo
  362.         elseif escolha == 5 then
  363.             atacar()
  364.         elseif escolha == 6 then
  365.             mainMenu()
  366.         elseif escolha == 7 or escolha == nil then
  367.             sairJogo()
  368.         end
  369.        
  370.         mover_inimigos()
  371.        
  372.         -- Verifica se algum inimigo atingiu o jogador (mesma célula)
  373.         for _, inimigo in ipairs(inimigos) do
  374.             if inimigo.x == jogador_posicao_x and inimigo.y == jogador_posicao_y then
  375.                 vida = vida - 1
  376.                 gg.toast("Você foi atingido! Vidas restantes: " .. string.rep("❤️", vida))
  377.                 if vida == 0 then
  378.                     gg.toast("Você foi derrotado pelos inimigos!")
  379.                     resetar_jogo()
  380.                     return
  381.                 end
  382.             end
  383.         end
  384.        
  385.         -- Verifica se o jogador entrou na porta para avançar de cenário
  386.         if porta_x and jogador_posicao_x == porta_x and jogador_posicao_y == porta_y then
  387.             if cenario_atual < #cenarios then
  388.                 cenario_atual = cenario_atual + 1
  389.                 level = cenario_atual
  390.                 jogador_posicao_x, jogador_posicao_y = 14, 7
  391.                 mortes = {}
  392.                 gerar_obstaculos()
  393.                 gerar_inimigos()
  394.                 gg.toast("Novo cenário!")
  395.             else
  396.                 gg.alert([[
  397. 🌟 **Parabéns, você acaba de conquistar a vitória!** 🌟
  398.  
  399. Você não apenas venceu... você DOMINOU o jogo! 😎🔥  
  400. A sua habilidade e estratégia foram simplesmente incríveis!  
  401. Agora, com seu nome gravado nas estrelas do universo dos games, é hora de respirar fundo e se preparar para o que vem a seguir… ou, quem sabe, aproveitar o momento e comemorar sua conquista épica! 🏆🎉
  402.    
  403. **Você fez história!**  
  404. Clique em OK para reiniciar ou aceite o desafio e vá ainda mais longe! 🚀  
  405. Parabéns, campeão! 👑✨
  406.  
  407. ***Jogo resetado... Agora, o próximo capítulo te espera!***
  408. ]])
  409.                 resetar_jogo()
  410.                 return
  411.             end
  412.         end
  413.     end
  414. end
  415. ----------------------------------------------------------
  416. -- Função para exibir informações de contato
  417. ----------------------------------------------------------
  418. function cnt()
  419.     gg.alert([[
  420. 🔔 **Script made for the Channel**
  421.     📽 **Master Cheats⚜** - Created by: **Edrwuan👑**
  422.    
  423.     ➡️ **Subscribe to the Channel** for more Cheats and Game News 🎮
  424.    
  425.     🔗 **Telegram Contact**: [Click here to join](https://t.me/joinchat/IarWN9hjkgcunWEN)
  426.     📧 **Email**: edrwuan@live.com
  427.    
  428.     📱 **Official Telegram**: @MastercheatsAnonymous
  429.    
  430. 🔔 **Script produzido para o Canal**
  431.     📽 **Master Cheats⚜** - Criado por: **Edrwuan👑**
  432.    
  433.     ➡️ **Inscreva-se no Canal** para mais Cheats e Novidades sobre Jogos 🎮
  434.    
  435.     🔗 **Contato Telegram**: [Clique aqui para entrar](https://t.me/joinchat/IarWN9hjkgcunWEN)
  436.     📧 **E-mail**: edrwuan@live.com
  437.    
  438.     📱 **Telegram Oficial**: @MastercheatsAnonymous
  439.     ]])
  440.     return
  441. end
  442. ----------------------------------------------------------
  443. -- Função para exibir dicas e informações do jogo
  444. ----------------------------------------------------------
  445. function exibir_dicas()
  446.     local mensagem = [[
  447. 📜 *Mini Game Archero🧕 - Game Guardian* 📜
  448.  
  449. 🎮 *Objetivo do Jogo:*
  450. - Sobreviva aos inimigos e chegue até a bandeira 🚩.
  451. - Derrote todos os inimigos para abrir a porta da saída.
  452.  
  453. 💡 *Dicas e Estratégias:*
  454. 1️⃣ Use obstáculos 🗿 a seu favor para bloquear inimigos.
  455. 2️⃣ Se posicione corretamente para atacar inimigos alinhados (sua arma fará o disparo).
  456. 3️⃣ Fique atento ao número de inimigos no cenário e à sua posição.
  457. 4️⃣ Utilize bem suas 3 vidas ❤️, evitando cercos.
  458. 5️⃣ Cuidado! Os inimigos se movem quando você se move.
  459.  
  460. 🔥 Boa sorte e divirta-se!
  461. ]]
  462.     gg.alert(mensagem)
  463. end
  464. ----------------------------------------------------------
  465. -- Função para exibir mensagem de saída
  466. ----------------------------------------------------------
  467. function sairJogo()
  468.     local resposta = gg.choice({"✅Sim, quero sair", "❌Não, quero continuar"}, nil, "Você tem certeza? 😔 Quer mesmo deixar o jogo?")
  469.     if resposta == 1 then
  470.         gg.alert("Oh não! 😢 O jogo terminou. Volte logo para se divertir mais! Até a próxima! 👋")
  471.         os.exit()  -- Encerra o script
  472.     else
  473.         gg.alert("Ufa! Que bom que você decidiu continuar! 😎 Vamos nessa, boa sorte! 🍀")
  474.         return
  475.     end
  476. end
  477. ----------------------------------------------------------
  478. -- Menu de Seleção de Herói
  479. ----------------------------------------------------------
  480. function selecionarHeroi()
  481.     -- Tabela de heróis com ícone e nome
  482.     local herois = {
  483.         {icon = "🧜‍♂️", nome = "Merman"},
  484.         {icon = "🧕", nome = "Mulher"},
  485.         {icon = "🧑‍🚒", nome = "Bombeiro"},
  486.         {icon = "👮‍♀️", nome = "Policial"},
  487.         {icon = "🥷", nome = "Ninja"},
  488.         {icon = "🦸", nome = "Super-herói"},
  489.         {icon = "🧙‍♂️", nome = "Mago"},
  490.         {icon = "🦹‍♀️", nome = "Vilã"},
  491.         {icon = "🧑‍🍳", nome = "Cozinheiro"},
  492.         {icon = "👩‍🌾", nome = "Agricultora"},
  493.         {icon = "🧌", nome = "Monstro"},
  494.         {icon = "👸", nome = "Princesa"}
  495.     }
  496.    
  497.     -- Constrói o menu de opções com ícone e nome
  498.     local opcoes = {}
  499.     for i, heroi in ipairs(herois) do
  500.         table.insert(opcoes, heroi.icon .. " - " .. heroi.nome)
  501.     end
  502.     local escolha = gg.choice(opcoes, nil, "Escolha seu Herói:")
  503.     if escolha then
  504.         heroIcon = herois[escolha].icon  -- Atualiza apenas o ícone que será usado no jogo
  505.         gg.toast("Herói selecionado: " .. herois[escolha].nome)
  506.     else
  507.         gg.toast("Nenhum herói selecionado. Usando padrão: " .. heroIcon)
  508.     end
  509. end
  510. ----------------------------------------------------------
  511. -- Menu de Seleção de Arma
  512. ----------------------------------------------------------
  513. function selecionarArma()
  514.     -- Tabela de armas com ícone e nome
  515.     local armas = {
  516.         {icon = "🔪", nome = "Faca"},
  517.         {icon = "🗡️", nome = "Espada"},
  518.         {icon = "🔥", nome = "Fogo"},
  519.         {icon = "⚡", nome = "Raio"},
  520.         {icon = "❄️", nome = "Gelo"},
  521.         {icon = "☄️", nome = "Cometa"},
  522.         {icon = "🧨", nome = "Dinamite"},
  523.         {icon = "💫", nome = "Estelar"},
  524.         {icon = "💣", nome = "Bomba"},
  525.         {icon = "🪃", nome = "Bumerangue"},
  526.         {icon = "⛓️", nome = "Corrente"},
  527.         {icon = "⚙️", nome = "Disco Serra"},
  528.         {icon = "🪓", nome = "Machado"},
  529.         {icon = "💥", nome = "Explosiva"}
  530.     }
  531.    
  532.     -- Cria o menu de opções concatenando ícone e nome
  533.     local opcoes = {}
  534.     for i, arma in ipairs(armas) do
  535.         table.insert(opcoes, arma.icon .. " - " .. arma.nome)
  536.     end
  537.     local escolha = gg.choice(opcoes, nil, "Selecione sua Arma:")
  538.     if escolha then
  539.         weaponIcon = armas[escolha].icon  -- Atualiza a arma com o ícone selecionado
  540.         gg.toast("Arma selecionada: " .. armas[escolha].nome)
  541.     else
  542.         gg.toast("Nenhuma arma selecionada. Usando padrão: " .. weaponIcon)
  543.     end
  544. end
  545. ----------------------------------------------------------
  546. -- Menu Principal
  547. ----------------------------------------------------------
  548. function mainMenu()
  549.     local escolha = gg.choice(
  550.     {
  551.         "🎮 Iniciar Jogo",
  552.         "🧑‍🚒Escolha um Heroi",
  553.         "🗡️Selecione uma arma",
  554.         "📖Sobre o Jogo e Dicas💡",
  555.         "🌐 Contate-Me",
  556.         "❌ Desistir!😪"},
  557.         nil,
  558.         "🕹️ Mini Game Archero - Made for Edrwuan \nBy: 🎞️YouTube 👑Master Cheats Channel🎥\n\n             💠 Menu Principal 💠"
  559.     )
  560.     if escolha == 1 then
  561.         jogar()
  562.     elseif escolha == 2 then
  563.         selecionarHeroi()
  564.         mainMenu()  -- Retorna ao menu principal após a seleção
  565.     elseif escolha == 3 then
  566.         selecionarArma()
  567.         mainMenu()
  568.     elseif escolha == 4 then
  569.         exibir_dicas()
  570.         mainMenu()
  571.     elseif escolha == 5 then
  572.         cnt()
  573.         mainMenu()
  574.     elseif escolha == 6 or escolha == nil then
  575.         gg.toast("Jogo encerrado.")
  576.         os.exit()
  577.     end
  578. end
  579. -- Iniciar a aplicação pelo Menu Principal
  580. mainMenu()
  581.  
  582.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement