Jump to content

Ajuda - Criando um trabalho em dupla


Recommended Posts

Estou criando um trabalho em dupla, onde só vai iniciar quando os dois jogadores estiverem prontos, mas estou com algumas dúvidas.

 

Como eu envio um outputChatBox para mais de um jogador? Só funcionou quando eu usei 2 outputChatBox.

-- Function
function startJob(seat, vehicle)
    driver = getVehicleOccupant(vehicle, 0)
    collector = getVehicleOccupant(vehicle, 1)

    if driver and collector then
        --outputChatBox("Digite /ready para começar a trabalhar.", (collector and driver))  Nao aparece para os dois.
        outputChatBox("Digite /ready para começar a trabalhar.", driver)
        outputChatBox("Digite /ready para começar a trabalhar.", collector)
    end

end

 

Como eu faço para colocar um frozen nesses veículos?

for i=1,6 do
    veh[createVehicle(408, -101.64936 + (5 * i), -1624.34583, 3.37500, 0,0,0)] = true
    --setElementFrozen(???, true)  (???) O que eu coloco ali?
end

Esse for cria os veículos que eu uso para o trabalho.

Link to comment

Para executar a função outputChatBox para que a mensagem apareça para jogadores específicos, eu deduzi duas opções que você pode estar fazendo.

1) Você pode usar tabela com os jogadores dentro, e então no código você cria um loop desta tabela e usa o argumento de valor do loop no 2° argumento do outputChatBox. Ficaria da seguinte forma:
 

tabela = {
  jogador1,
  jogador2
}

for _, jog in ipairs(tabela) do
  outputChatBox('Olá jogador!', jog)
end

 

2) Você pode criar um elemento e definir estes dois jogadores como filhos do elemento criado, e no código você usaria a variável deste elemento criado no 2° argumento do outputChatBox. Ficaria da seguinte forma:
 

function exibirMensagem(jogador1, jogador2) -- Suponhamos que esta função nos dê dois jogadores em seus parâmetros e então utilizamos eles
  local jogadores = createElement('jogadores-element') -- É criado um elemento novo do tipo 'jogadores-element' que retorna o elemento criado.
  -- Então é definido que o 'jogador1' e 'jogador2' sejam filhos do elemento criado acima
  setElementParent(jogador1, jogadores)
  setElementParent(jogador2, jogadores)
  
  -- E agora só usaremos o elemento criado no 2° argumento de 'outputChatBox' 
  -- pois este elemento conterá dois elementos-filhos que são os jogadores que definimos,
  -- e será para estes dois jogadores que aparecerão a mensagem.
  outputChatBox('Olá jogador!', jogadores)
end

Se eu fosse utilizar uma dessas duas formas (ou outras que desconheço), usaria a  que usa tabela. Porquê não quero ficar criando elementos a cada vez que executo a função :D. Mas daria certo mesmo assim.


Para você congelar o veículo que está no índice de uma tabela, você pode usar um loop. Neste loop você usa a variável de índex, que vai conter o elemento-veículo que será usado para congelar. Então ficaria assim:
 

veh = {
  [veiculo1] = true, -- Digamos que esta foi a tabela utilizada em nosso caso e que já definimos um veículo como índice nesta tabela.
  [veiculo2] = true
}

for veiculo, _ in pairs(veh) do -- Então é feito o loop na tabela obtendo os valores de índice e 'valores' da tabela com a função pairs().
  	setElementFrozen(veiculo, true) -- E então congelamos o 'veiculo1' e 'veiculo2' que estavam em nossa tabela
end

 

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