# GRAPHICS::_DRAW_MARKER

- **Hash:** `0x2A32FAA57B937173`
- **Namespace:** GRAPHICS
- **Runtime name (Lua/JS):** `DrawMarker`
- **Side:** client (game native)
- **Name status:** community guess (may change)
- **Documentation:** described
- **Since game build:** 1207
- **Other names:** `DRAW_MARKER`
- **URL:** https://natives.borderlinerp.com/natives/GRAPHICS/_DRAW_MARKER

## Signature

```c
void _DRAW_MARKER(Hash type, float posX, float posY, float posZ, float dirX, float dirY, float dirZ, float rotX, float rotY, float rotZ, float scaleX, float scaleY, float scaleZ, int red, int green, int blue, int alpha, BOOL bobUpAndDown, BOOL faceCamera, int p19, BOOL rotate, const char* textureDict, const char* textureName, BOOL drawOnEnts);
```

## Parameters

- `type` (`Hash`)
- `posX` (`float`)
- `posY` (`float`)
- `posZ` (`float`)
- `dirX` (`float`)
- `dirY` (`float`)
- `dirZ` (`float`)
- `rotX` (`float`)
- `rotY` (`float`)
- `rotZ` (`float`)
- `scaleX` (`float`)
- `scaleY` (`float`)
- `scaleZ` (`float`)
- `red` (`int`)
- `green` (`int`)
- `blue` (`int`)
- `alpha` (`int`)
- `bobUpAndDown` (`BOOL`)
- `faceCamera` (`BOOL`)
- `p19` (`int`)
- `rotate` (`BOOL`)
- `textureDict` (`const char*`)
- `textureName` (`const char*`)
- `drawOnEnts` (`BOOL`)

## Returns

`void`

## Description

*Source: alloc8or RDR3 NativeDB*

https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua

*Source: VORPCORE RDR3natives*

https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua
Old name: _DRAW_MARKER

## Usage

### Lua

```lua
DrawMarker(type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts)

-- always available, by hash
Citizen.InvokeNative(0x2A32FAA57B937173, type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts)
```

### JavaScript

```js
DrawMarker(type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts);

// by hash
Citizen.invokeNative('0x2A32FAA57B937173', type, posX + 0.0000001, posY + 0.0000001, posZ + 0.0000001, dirX + 0.0000001, dirY + 0.0000001, dirZ + 0.0000001, rotX + 0.0000001, rotY + 0.0000001, rotZ + 0.0000001, scaleX + 0.0000001, scaleY + 0.0000001, scaleZ + 0.0000001, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts);
```

### C#

```csharp
Function.Call((Hash)0x2A32FAA57B937173, type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts);
```

- Hash parameters: the named function also accepts a string and hashes it for you; `Citizen.InvokeNative` needs the number — pass `joaat("name")` or a backtick literal like `` `name` ``.
- Float parameters: Lua integers (`10`, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write `10.0` or `value + 0.0`. The generated JS wrappers add `0.0000001` to non-zero floats for the same reason.
- The name is a community guess and may change. If the named call is missing in your client build, use `InvokeNative` with the hash — it always works.

*Sources: alloc8or RDR3 NativeDB, VORPCORE RDR3natives.*
