CrowLey Posted December 2, 2020 Posted December 2, 2020 Estou fazendo um script de chamado de SAMU, a pessoa escreve o comando e escreve o que aconteceu. Mas eu queria fazer que quando um socorrista aceitasse o comando nenhum poderia aceitar. aí aparecesse um outputChatBox. Avisando que não podia aceitar o chamado pós já foi aceito.
Moderators Lord Henry Posted December 2, 2020 Moderators Posted December 2, 2020 É necessário criar uma table de chamados. Pois pode ocorrer de vários jogadores pedirem o Samu ao mesmo tempo e dai um pedido iria substituir o outro. Dai para aceitar o chamado, você poderia fazer com um segundo argumento opcional do nome do jogador que chamou. Ex: /aceitar Joaozinho123 "Você aceitou o chamado de socorro de Joaozinho123, a posição dele foi marcada no seu radar." (remove o Joaozinho123 da table de chamados) Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
CrowLey Posted December 3, 2020 Author Posted December 3, 2020 35 minutes ago, Lord Henry said: É necessário criar uma table de chamados. Pois pode ocorrer de vários jogadores pedirem o Samu ao mesmo tempo e dai um pedido iria substituir o outro. Dai para aceitar o chamado, você poderia fazer com um segundo argumento opcional do nome do jogador que chamou. Ex: /aceitar Joaozinho123 "Você aceitou o chamado de socorro de Joaozinho123, a posição dele foi marcada no seu radar." (remove o Joaozinho123 da table de chamados) Como iria criar a tablet?
Moderators Lord Henry Posted December 3, 2020 Moderators Posted December 3, 2020 (edited) local chamados = {} addCommandHandler ("samu", function (thePlayer, cmd) -- Comando pro jogador chamar o Samu. local name = getPlayerName (thePlayer) -- Name recebe o nick do jogador que executou o comando. if (chamados[name]) then -- Se já tem um chamado na table com esse nome, então: outputChatBox ("Você já tem um chamado em aberto. Aguarde mais tempo até alguém aceitar.", thePlayer, 255, 0, 0) else -- Se não tem nenhum chamado deste jogador na table, então: chamados[name] = true -- Adiciona ele na table. outputChatBox ("Você chamou um Samu. Aguarde alguém aceitar.", thePlayer, 0, 255, 0) end end) addCommandHandler ("aceitar", function (thePlayer, cmd, name) if (name) then -- Se o jogador que vai aceitar incluiu o nick do jogador, então: if (chamados[name]) then -- Se tem um chamado do jogador mencionado na table, então: chamados[name] = nil -- Fecha o chamado. outputChatBox ("Você aceitou o chamado de "..name, thePlayer, 0, 255, 0) -- Aqui é o código que cria o blip no jogador que chamou o socorro e que aparece somente pra quem aceitou. Essa parte é por sua conta. else -- Se não tem um chamado do jogador mencionado na table, então: outputChatBox ("O jogador "..name.." não tem nenhum chamado de Samu em aberto.", thePlayer, 255, 0, 0) end else -- Se o jogador que vai aceitar não informou o nick para o qual vai aceitar, então: outputChatBox ("Erro de sintaxe: /aceitar <nick>", thePlayer, 255, 255, 0) end end) Exemplo bem simples. Se o jogador trocar de nick ou sair do server já irá bugar o sistema. Mas serve pra vc usar de base. Edited December 3, 2020 by Lord Henry Código comentado. Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now