# MISC::VAR_STRING

- **Hash:** `0xFA925AC00EB830B9`
- **Namespace:** MISC
- **Runtime name (Lua/JS):** `VarString`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** described
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/MISC/VAR_STRING

## Signature

```c
const char* VAR_STRING(int flags, Any ..., ...);
```

## Parameters

- `flags` (`int`)
- `...` (`Any`)

## Returns

`const char*`

## Description

*Source: alloc8or RDR3 NativeDB*

Note: The first bit in 'flags' must not be set.
It is also required to pass at least one extra argument (this must be a text label string or hash).
When passing a hash, flags should be 0.

*Source: femga rdr3_discoveries*

```
0xFA925AC00EB830B9      (By smallos)
Turns out if you change some values in it, like so
local str = Citizen.InvokeNative(0xFA925AC00EB830B9, 2, "CASH_STRING", amountInCents, Citizen.ResultAsLong())

It'll format your string nicely in cents and in the right format https://smallo.wtf/i/MqkVN5W.png
Now I wonder if it changes the money icon to match locale
```

## Usage

### Lua

```lua
local retval = VarString(flags, ___)

-- always available, by hash
local retval = Citizen.InvokeNative(0xFA925AC00EB830B9, flags, ___, Citizen.ResultAsString())
```

### JavaScript

```js
const retval = VarString(flags, ___);

// by hash
const retval = Citizen.invokeNative('0xFA925AC00EB830B9', flags, ___, Citizen.returnResultAnyway(), Citizen.resultAsString());
```

### C#

```csharp
string retval = Function.Call<string>((Hash)0xFA925AC00EB830B9, flags, ___);
```

*Sources: alloc8or RDR3 NativeDB, femga rdr3_discoveries.*
