Pular para o conteúdo

createProjectile

Cliente Projéteis OOP Projectile.create(...)Projectile(...)

Lança um projétil a partir de um ped, jogador ou veículo.

projectile createProjectile ( element criador, number tipo [, number x, number y, number z, number forca = 1.0, element alvo, number rx = 0, number ry = 0, number rz = 0, number velX = 0, number velY = 0, number velZ = 0, number modelo = 0 ] )
NomeTipoPadrãoDescrição
criadorelement—Ped, jogador ou veículo de onde o projétil sai. Qualquer outro tipo de elemento é recusado.
tiponumber—Um dos tipos da tabela acima.
x, y, znumberposição do criadorPosição de onde o projétil parte. Também aceita um único Vector3.
forcanumber1.0Força com que o projétil é arremessado.
alvoelement—Elemento perseguido. Só faz sentido para o foguete teleguiado. nil ou false significam sem alvo; um alvo que não está carregado (streamed in) é descartado.
rx, ry, rznumber0Rotação inicial do projétil, em graus. Também aceita um único Vector3.
velX, velY, velZnumber0Velocidade inicial do projétil. Também aceita um único Vector3.
modelonumber0Modelo de objeto a dar ao projétil. 0 mantém o modelo do próprio projétil; qualquer outro valor precisa ser um modelo de objeto válido.

A rotação e a velocidade são aplicadas no mesmo instante em que o projétil é criado. O onClientProjectileCreation dispara para ele no próximo frame, e não durante esta chamada; um projétil destruído antes disso não gera o evento.

O elemento do projétil, ou false.

Um argumento de tipo errado — um criador que não é elemento, um tipo que não é um número não negativo, um alvo que não é elemento — escreve o motivo no console de debug. Toda outra recusa é silenciosa: um criador que não é ped, jogador ou veículo ou que não está carregado, um tipo fora da tabela acima, um modelo inválido, ou um projétil que o jogo se recusa a criar.

-- granada solta do próprio jogador, com 3 segundos de pavio
addCommandHandler("granada", function()
local granada = createProjectile(localPlayer, 16)
if granada then
setProjectileCounter(granada, 3000)
else
outputDebugString("nao foi possivel criar a granada")
end
end)
-- foguete teleguiado saindo de um veículo atrás de outro
local foguete = createProjectile(meuVeiculo, 20, nil, 1.0, veiculoAlvo)