M MY Multiplayer: Wiki
Lado
Tipo

processLineOfSight

Cliente

Lança um raio entre dois pontos e devolve a primeira coisa que ele acerta.

bool, vec3, vec3, element|nil processLineOfSight(float startX, startY, startZ, float endX, endY, endZ [, bool checkBuildings = true, bool checkVehicles = true, bool checkPeds = true, bool checkObjects = true])

Parâmetros

NomeTipoDescrição
startX, startY, startZfloatOnde o raio começa. Também aceita um vec3.
endX, endY, endZfloatOnde o raio termina. Também aceita um vec3.
checkBuildingsboolSe prédios contam.padrão true
checkVehiclesboolSe veículos contam.padrão true
checkPedsboolSe peds contam.padrão true
checkObjectsboolSe objetos contam.padrão true

Retorno

false se nada foi atingido. Se algo foi, true, o ponto atingido, a normal da superfície nesse ponto e o elemento atingido (nil quando não é um elemento, como um prédio do mapa).

Exemplo

local function firstHit(from, to)
    local hit, position, normal, element = processLineOfSight(from, to, true, true, false, true)
    if hit and element then
        outputDebugString("Hit a " .. getElementType(element))
    end
    return hit and position
end

Veja também