createExplosion
Cria uma explosão numa posição do mundo.
Sintaxe
Seção intitulada “Sintaxe”-- servidorbool createExplosion ( number x, number y, number z, number tipo [, element criador ] )
-- clientebool createExplosion ( number x, number y, number z, number tipo [, bool comSom = true, number tremorDeCamera = -1.0, bool causaDano = true ] )Parâmetros do servidor
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
x, y, z | number | — | Onde a explosão acontece. |
tipo | number | — | Tipo da explosão, de 0 a 12. |
criador | element | — | O jogador a quem a explosão é atribuída. Qualquer outro elemento cria uma explosão para cada jogador entre os seus descendentes. |
Parâmetros do cliente
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
x, y, z | number | — | Onde a explosão acontece. |
tipo | number | — | Tipo da explosão, de 0 a 12. |
comSom | bool | true | Com false, a explosão sai sem som. |
tremorDeCamera | number | -1.0 | Intensidade do tremor de câmera. Com -1.0, vale o tremor que o jogo já calcula pela distância. |
causaDano | bool | true | Com false, a explosão é só visual e não fere ninguém. |
Retorno
Seção intitulada “Retorno”true se a explosão foi criada, false se o tipo estiver fora de 0–12 ou se ela não pôde ser criada. Nos dois lados, tipos fora dessa faixa são recusados e o motivo é registrado no console de debug.
No servidor, onExplosion dispara antes de a explosão ser enviada — com o criador como origem, ou o elemento raiz quando não há criador — e cancelá-lo faz a chamada devolver false. Quando o criador não é um jogador, a chamada devolve false mesmo que as explosões dos jogadores abaixo dele aconteçam.
Criada no servidor, a explosão é enviada para todos os jogadores conectados. Criada no cliente, ela acontece só naquela máquina.
Exemplo
Seção intitulada “Exemplo”-- servidor: todo mundo vêaddCommandHandler("boom", function(jogador) local x, y, z = getElementPosition(jogador) createExplosion(x, y, z + 2, 4)end)
-- cliente: explosão silenciosa e inofensiva, só nesta telalocal x, y, z = getElementPosition(localPlayer)createExplosion(x, y, z + 2, 4, false, -1.0, false)