Pular para o conteúdo

testSphereAgainstWorld

Cliente Mundo

Testa uma esfera contra o mundo e descreve o que ela encostou.

bool, element, number, number, number, number, number, number, number, number, string testSphereAgainstWorld ( number x, number y, number z, number raio [, element elementoIgnorado, bool verificarPredios = true, bool verificarVeiculos = true, bool verificarPeds = true, bool verificarObjetos = true, bool verificarDummies = true, bool ignorarObjetosDeCamera = false ] )
NomeTipoPadrãoDescrição
x, y, znumber—Centro da esfera.
raionumber—Raio da esfera.
elementoIgnoradoelement—Elemento que a esfera atravessa. Omita ou passe nil para nenhum.
verificarPrediosbooltrueConsiderar prédios e cenário fixo.
verificarVeiculosbooltrueConsiderar veículos.
verificarPedsbooltrueConsiderar peds e jogadores.
verificarObjetosbooltrueConsiderar objetos.
verificarDummiesbooltrueConsiderar dummies.
ignorarObjetosDeCameraboolfalseIgnorar os objetos que a câmera também ignora.

Sempre 11 valores, mesmo quando não houve colisão:

PosiçãoDescrição
1true se colidiu, false caso contrário.
2Elemento atingido, ou nil.
3ID do modelo atingido.
4, 5, 6Posição do que foi atingido.
7, 8, 9Rotação do que foi atingido, em graus.
10ID do modelo de LOD.
11Tipo do que foi atingido, como texto.

Os valores possíveis da posição 11:

TextoSignificado
"building"Prédio ou cenário fixo.
"vehicle"Veículo.
"ped"Ped ou jogador.
"object"Objeto.
"dummy"Dummy.
"unknown"Nada foi atingido, ou o tipo não é reconhecido.

Os argumentos são conferidos de forma estrita: uma coordenada ou raio que não seja número (ou seja NaN ou infinito), um elementoIgnorado que não seja um elemento existente — false incluído — ou uma opção que não seja booleana gera um erro de Lua.

-- cabe um veiculo aqui?
local colidiu = testSphereAgainstWorld(x, y, z, 3.0)
if colidiu then
outputDebugString("espaco ocupado")
end
  • processLineOfSight — Traça uma linha entre dois pontos e descreve o primeiro obstáculo encontrado.
  • isLineOfSightClear — Responde apenas se existe caminho livre entre dois pontos, sem descrever o obstáculo.
  • processLineAgainstMesh — Traça uma linha contra a malha de um elemento específico e devolve o ponto exato do triângulo atingido.
  • getGroundPosition — Devolve a altura do chão logo abaixo de um ponto.
  • getRoofPosition — Devolve a altura do teto logo acima de um ponto.