Jump to content

Ajude me


Recommended Posts

Posted

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
Posted

É 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! spacer.png

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.

Posted
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
Posted (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 by Lord Henry
Código comentado.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! spacer.png

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...