M MY Multiplayer: Wiki
Side
Kind

dxDrawSpotLight

Client

Lights a cone for a single frame, without creating an element.

bool dxDrawSpotLight(float x, y, z, float dirX, dirY, dirZ, float radius, color color [, float cone = 30, float hardness = 0.5, float intensity = 1, float falloff = 4, float sourceRadius = 0.1, bool castShadow = false])

Parameters

NameTypeDescription
x, y, zfloatThe light's position in the world, three numbers or a vec3.
dirX, dirY, dirZfloatWhere the light points. Three numbers or a vec3, finite and non-zero; it is normalised.
radiusfloatRange in metres, above 0 and up to 1000.
colorcolorThree numbers r, g, b (integers from 0 to 255) or a tocolor value. Alpha is ignored.
conefloatHalf the cone's opening, in degrees from its axis, above 0 and up to 90.default 30
hardnessfloatFraction of the cone lit fully, from 0 to 1. Anything above 0.99 counts as 0.99.default 0.5
intensityfloatBrightness multiplier, from 0 to 1000. At 1, a white light shines with an HDR radiance of 12.default 1
fallofffloatExponent of the fade toward the radius, from 0.1 to 32. Higher values keep the light strong closer to its edge.default 4
sourceRadiusfloatRadius of the bulb in metres, from 0 to the light's range. Left out, 0.1 or the range, whichever is smaller.default 0.1
castShadowboolWhether the light casts shadows.default false

Returns

true if the light was queued for the frame. false when 256 lights are already queued, or with a wrong argument.

The light lasts one frame. A call made before the world is drawn (for example in onClientPreRender or onClientRender) lights that frame; one made after it lights the next. Calls made while no frame runs are dropped. Going over 256 lights in a frame logs a warning once, until a frame leaves room in the queue.

Example

addEventHandler("onClientPreRender", root, function()
    local pos = getElementPosition(localPlayer)
    local a = math.rad(getElementRotation(localPlayer).z)
    dxDrawSpotLight(pos.x, pos.y, pos.z + 0.6, -math.sin(a), math.cos(a), -0.2, 30, 255, 250, 230, 20)
end)
Coming from MTAMTA has no dynamic lights.

See also