Pular para o conteúdo

createEffect

Cliente Efeitos visuais OOP Effect.create(...)Effect(...)

Cria um efeito de partículas contínuo numa posição do mundo.

effect createEffect ( string nomeDoEfeito, number x, number y, number z [, number rx = 0, number ry = 0, number rz = 0, number distanciaDeDesenho = 0, bool som = false ] )
NomeTipoPadrãoDescrição
nomeDoEfeitostring—Nome do efeito. Precisa corresponder a um efeito que existe no jogo.
x, y, znumber—Posição do efeito no mundo.
rx, ry, rznumber0Rotação do efeito, em graus.
distanciaDeDesenhonumber0Distância máxima, em unidades do jogo, em que o efeito ainda é desenhado. 0 mantém a distância própria do efeito.
somboolfalseSe true, o efeito também toca o som que vem junto com ele.

O nome precisa ter entre 1 e 95 caracteres; um número é aceito e convertido em string. distanciaDeDesenho é limitada a 8191.

Para deixar a rotação no padrão e ainda assim definir distanciaDeDesenho ou som, passe um único nil no lugar de rx, ry, rz — não três: createEffect(nome, x, y, z, nil, 300).

O elemento do efeito, ou false. Um nome vazio, longo demais ou desconhecido devolve false em silêncio. Um argumento opcional de tipo errado (uma string que não é número, um som que não é booleano) devolve false e escreve o motivo no console de debug.

-- troque pelo nome de um efeito que exista no jogo
local efeito = createEffect("meu_efeito", 2000.0, 1500.0, 15.0)
if efeito then
setEffectSpeed(efeito, 0.5) -- metade da velocidade normal
setElementPosition(efeito, 2000.0, 1505.0, 15.0)
else
outputDebugString("nome de efeito invalido")
end