M MY Multiplayer: Wiki
Lado
Tipo

dxDrawPointLight

Cliente

Acende uma luz em todas as direções a partir de um ponto, por um único quadro, sem criar elemento.

bool dxDrawPointLight(float x, y, z, float radius, color color [, float intensity = 1, float falloff = 4, bool castShadow = false])

Parâmetros

NomeTipoDescrição
x, y, zfloatPosição da luz no mundo, três números ou um vec3.
radiusfloatAlcance em metros, maior que 0 e até 1000.
colorcolorTrês números r, g, b (inteiros de 0 a 255) ou um valor de tocolor. O alfa é ignorado.
intensityfloatMultiplicador de brilho, de 0 a 1000. Em 1, uma luz branca brilha com 12 de radiância HDR.padrão 1
fallofffloatExpoente do desvanecimento até o raio, de 0.1 a 32. Valores maiores mantêm a luz forte até mais perto da borda.padrão 4
castShadowboolSe a luz projeta sombras.padrão false

Retorno

true se a luz entrou na fila do quadro. false quando 256 luzes já estão na fila, ou com um argumento errado.

A luz vale para um único quadro. Uma chamada feita antes de o mundo ser desenhado (por exemplo em onClientPreRender ou onClientRender) ilumina esse quadro; uma feita depois ilumina o próximo. Chamadas feitas enquanto nenhum quadro roda são descartadas. Passar de 256 luzes num quadro registra um aviso uma vez, até um quadro sobrar espaço na fila.

Exemplo

addEventHandler("onClientPreRender", root, function()
    local pos = getElementPosition(localPlayer)
    dxDrawPointLight(pos.x, pos.y, pos.z + 1, 6, 120, 180, 255, 2)
end)
Vindo do MTAO MTA não tem luzes dinâmicas.

Veja também