Graphics::drawSpotLightWithShadow
Syntax
```js mp.game.graphics.drawSpotLightWithShadow(posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, roundness, radius, falloff, shadow); ```
Required Arguments
- posX: float
- posY: float
- posZ: float
- dirX: float
- dirY: float
- dirZ: float
- colorR: int
- colorG: int
- colorB: int
- distance: float
- brightness: float
- roundness: float
- radius: float
- falloff: float
- shadow: float
Return value
- Undefined
Example
This draws a spotlight with shadow from the source to the target, like a helicopter spotlight.
```js // Clientside let veh = mp.vehicles.at(0); let target = mp.players.at(0); // Examples, use any entity or even just a position as target
mp.events.add('render', () => {
let forward = veh.getForwardVector();
// returns the entity forward vector; Example: \{"x": 0.5455624, "y": 0.00233556, "z": 0.00021313\}
let dist = Math.round(mp.game.system.vdist2(veh.position.x, veh.position.y, veh.position.z, target.position.x, target.position.y, target.position.z) / 3);
// Calculates the distance between the given coords; you can also use mp.game.gameplay.getDistanceBetweenCoords(), but it's slower
let dest = new mp.Vector3((target.position.x - veh.position.x - forward.x * 3.4), (target.position.y - veh.position.y - forward.y * 3.4), (target.position.z - veh.position.z - forward.z * 3.4));
// This is the destinated direction of the spotlight relative to the starting point (start.pos - target.pos - forward.pos * 3.4); "3.4" is just a multiplier to get the correct starting point of the spotlight
// These are NOT the destinated coordinates, it's the direction where the spotlight have to aim at, relative to the global coordinate system
let origin = new mp.Vector3(veh.position.x + forward.x * 3.4, veh.position.y + forward.y * 3.4, (veh.position.z + forward.z * 3.4) - 1);
// Starting point
mp.game.graphics.drawSpotLightWithShadow(origin.x, origin.y, origin.z, dest.x, dest.y, dest.z, 255, 255, 255, dist + 10, 10, 1, 5, 1, 0);
// Draws the spotlight every frame.
}); ```