Jump to content

Ajude me


Recommended Posts

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.

Link to comment
  • Other Languages Moderators

É 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)

Link to comment
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?

Link to comment
  • Other Languages Moderators
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.
Link to comment

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...