> For the complete documentation index, see [llms.txt](https://golua.fatality.win/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://golua.fatality.win/documentation/namespaces/utilities.md).

# Utilities

## Random values

### random\_int

```lua
utils.random_int(0, 100)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">min</td><td align="center">number</td><td align="center">minimum number to generate</td></tr><tr><td align="center">max</td><td align="center">number</td><td align="center">maximum number to generate</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">random number</td><td align="center">number</td></tr></tbody></table>

### random\_float

```lua
utils.random_float(0, 100)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">min</td><td align="center">number</td><td align="center">minimum number to generate</td></tr><tr><td align="center">max</td><td align="center">number</td><td align="center">maximum number to generate</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">random number</td><td align="center">number</td></tr></tbody></table>

## Memory

### find\_interface

```lua
utils.find_interface("client.dll", "VClient018")
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">module_name</td><td align="center">string</td><td align="center">name of module</td></tr><tr><td align="center">interface_name</td><td align="center">string</td><td align="center">name of interface followed by its version number </td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">interface address or nil on failure</td><td align="center">number - nil</td></tr></tbody></table>

### find\_pattern

```lua
utils.find_pattern("client.dll",  "8B 3D ? ? ? ? 85 FF 74 47") + 2
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">module_name</td><td align="center">string</td><td align="center">name of module</td></tr><tr><td align="center">pattern</td><td align="center">string</td><td align="center"><a href="https://hex-rays.com/ida-pro/">IDA</a> style pattern. ? indicates wildcard</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">pattern address or nil on failure</td><td align="center">number - nil</td></tr></tbody></table>

### flags

```lua
utils.flags(render.font_flag_outline, render.font_flag_shadow)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">flag</td><td align="center">number</td><td align="center">flags to combine with the  <a href="https://www.cprogramming.com/tutorial/bitwise_operators.html">bitwise OR</a> operator</td></tr><tr><td align="center">...</td><td align="center">number</td><td align="center">any other flags</td></tr></tbody></table>

## Timers

### new\_timer

```lua
local timer = utils.new_timer(100, function()
    print("This will be called every 100ms")
end)
timer:start()
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">rate</td><td align="center">number</td><td align="center">the rate in which the function will be called (in milliseconds)</td></tr><tr><td align="center">function_to_call</td><td align="center">function</td><td align="center">function to be called</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">timer object</td><td align="center"><a href="/pages/6FtJd0QUwSLFJEPlXMII">utils.timer</a></td></tr></tbody></table>

### run\_delayed

```lua
utils.run_delayed(100, function()
    print("This will be called after 100ms")
end)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">delay</td><td align="center">number</td><td align="center">the delay to wait before calling the function (in milliseconds)</td></tr><tr><td align="center">function_to_call</td><td align="center">function</td><td align="center">function to be called</td></tr></tbody></table>

## HTTP

### http\_get

<pre class="language-lua"><code class="lang-lua"><strong>utils.http_get("https://pastebin.com/raw/FT1aRqq8", "Accept: */*", function(response)
</strong><strong>    print(response)
</strong><strong>end)
</strong></code></pre>

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">url</td><td align="center">string</td><td align="center">url to send the request to</td></tr><tr><td align="center">headers</td><td align="center">string</td><td align="center"><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">http headers</a></td></tr><tr><td align="center">function_to_call</td><td align="center">function</td><td align="center">callback with response</td></tr></tbody></table>

### http\_post

```lua
utils.http_post("https://reqbin.com/echo/post/json", "Content-Type: application/json", 
[[body: "{"id": 12345,}"]], 
function(response)
  print(response)
end)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">url</td><td align="center">string</td><td align="center">url to send the request to</td></tr><tr><td align="center">headers</td><td align="center">string</td><td align="center"><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers">http headers</a></td></tr><tr><td align="center">body</td><td align="center">string</td><td align="center">post body</td></tr><tr><td align="center">function_to_call</td><td align="center">function</td><td align="center">callback with response</td></tr></tbody></table>

## Json

### json\_decode

```lua
local json_data = 
[[
{
  "value": 1,
  "color": "pink"
}
]]
local json_decoded = utils.json_decode(json_data)
```

<table><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">json_data</td><td align="center">string</td><td align="center">string of json data</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">json data as lua table</td><td align="center">table</td></tr></tbody></table>

### json\_encode

```lua
local table = 
{
    value = 1,
    color = "pink"
}
local json_string = utils.json_encode(table)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">lua_table</td><td align="center">table</td><td align="center">a lua table to be encoded into json</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">lua table as a json string</td><td align="center">string</td></tr></tbody></table>

## Trace ray

### trace

```lua
utils.trace(math.vec3(0, 0, 0), math.vec3(100, 100, 100), -1)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">from</td><td align="center"><a href="/pages/joeTD4iGeiIQ01Qn4fRP">math.vec3</a></td><td align="center">starting point</td></tr><tr><td align="center">to</td><td align="center"><a href="/pages/joeTD4iGeiIQ01Qn4fRP">math.vec3</a></td><td align="center">ending point</td></tr><tr><td align="center">skip_index</td><td align="center">number</td><td align="center">index to skip or -1 for all players</td></tr></tbody></table>

#### Returns

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">trace info</td><td align="center"><a href="/pages/cKCCQlRZTBkfNCdqgO7n">trace_t</a></td></tr></tbody></table>

### trace\_bullet

```lua
utils.trace_bullet(7, math.vec3(0, 0, 0), math.vec3(100, 100, 100))
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">item_definition_index</td><td align="center">number</td><td align="center">weapon's item definition index to use for tracing</td></tr><tr><td align="center">from</td><td align="center"><a href="/pages/joeTD4iGeiIQ01Qn4fRP">math.vec3</a></td><td align="center">starting point</td></tr><tr><td align="center">to</td><td align="center"><a href="/pages/joeTD4iGeiIQ01Qn4fRP">math.vec3</a></td><td align="center">ending point</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">damage</td><td align="center">number</td></tr><tr><td align="center">trace info</td><td align="center"><a href="/pages/cKCCQlRZTBkfNCdqgO7n">trace_t</a></td></tr></tbody></table>

### scale\_damage

```lua
utils.scale_damage(30, 7, 0, player:get_prop("m_ArmorValue"), player:get_prop("m_bHasHeavyArmor"), player:get_prop("m_bHasHelmet"))
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">damage</td><td align="center">number</td><td align="center">damage to scale</td></tr><tr><td align="center">item_definition_index</td><td align="center">number</td><td align="center">weapon's item definition index to use for calculating damage</td></tr><tr><td align="center">hit_group</td><td align="center">number</td><td align="center">hit group to scale with</td></tr><tr><td align="center">armor</td><td align="center">number</td><td align="center">their armor level</td></tr><tr><td align="center">heavy_armor</td><td align="center">boolean</td><td align="center">do they have heavy armor</td></tr><tr><td align="center">helmet</td><td align="center">boolean</td><td align="center">do they have a helmet</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">damage</td><td align="center">number</td></tr></tbody></table>

## Console

### print\_console

```lua
utils.print_console("red text", render.color("#FF0000"))
```

<table data-header-hidden><thead><tr><th width="211.54296253646072" align="center"> </th><th width="151.73360835425558" align="center"> </th><th align="center"></th><th align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Default value</a></td></tr><tr><td align="center">text</td><td align="center">string</td><td align="center">text to print</td><td align="center">❌</td></tr><tr><td align="center">color</td><td align="center"><a href="/pages/McV9CTPvTSQx89z8iuxi#color">render.color</a></td><td align="center">color</td><td align="center">white</td></tr></tbody></table>

### print\_dev\_console

```lua
utils.print_dev_console("text")
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">text</td><td align="center">string</td><td align="center">text to print</td></tr></tbody></table>

### error\_print

```lua
utils.error_print("error")
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">text</td><td align="center">string</td><td align="center">text to print</td></tr></tbody></table>

## Encryption

### aes256\_encrypt

```lua
local encryption = utils.aes256_encrypt("abcdefg", "we woo we woo")
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">key</td><td align="center">string</td><td align="center">key to also used for decryption</td></tr><tr><td align="center">data</td><td align="center">string</td><td align="center">string to encrypt</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">encrypted data</td><td align="center">string</td></tr></tbody></table>

### aes256\_decrypt

```lua
local encryption = utils.aes256_encrypt("abcdefg", "we woo we woo")
local data = utils.aes256_decrypt("abcdefg", encryption)
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">key</td><td align="center">string</td><td align="center">key to also used for encryption</td></tr><tr><td align="center">data</td><td align="center">string</td><td align="center">encrypted string</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">data</td><td align="center">string</td></tr></tbody></table>

### base64\_encode

```lua
local encoded = utils.base64_encode("AAAAAAA")
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">data</td><td align="center">string</td><td align="center">data to encode</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">encoded data</td><td align="center">string</td></tr></tbody></table>

### base64\_decode

```lua
local encoded = utils.base64_encode("AAAAAAA")
local data = utils.base64_decode(encoded)
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">encoded data</td><td align="center">string</td><td align="center">data from base64_encode</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">data</td><td align="center">string</td></tr></tbody></table>

## Miscellaneous

### load\_file

```lua
utils.load_file("path")
```

<table data-header-hidden><thead><tr><th width="264.5429625364607" align="center"> </th><th width="216.73360835425558" align="center"> </th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">path</td><td align="center">string</td><td align="center">path to file</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="373.9484491005951" align="center"> </th><th width="358.7336083542556" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">file_contents</td><td align="center">binary string</td></tr></tbody></table>

#### Note:

Path starts at csgo.exe's file location.

### get\_weapon\_info

```lua
utils.get_weapon_info(1)
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">item_definition_index</td><td align="center">number</td><td align="center">weapons <a href="/pages/frGBxLNu68EVFp6rIHz3#item-definition-indexes">item definition index</a></td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">table with the weapons info</td><td align="center"><a href="/pages/frGBxLNu68EVFp6rIHz3">utils.weapon_info</a></td></tr></tbody></table>

### get\_rtt

```lua
utils.get_rtt()
```

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">round trip time to server</td><td align="center">number</td></tr></tbody></table>

### world\_to\_screen

```lua
local x, y = utils.world_to_screen(0, 0, 100)
if x then
    render.rect_filled(x, y, 1, 1, render.color("#FFFFFF"))
end
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">x</td><td align="center">number</td><td align="center">3D x world position</td></tr><tr><td align="center">y</td><td align="center">number</td><td align="center">3D y world position</td></tr><tr><td align="center">z</td><td align="center">number</td><td align="center">3D z world position</td></tr></tbody></table>

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">x screen pos or nil on failure</td><td align="center">number - nil</td></tr><tr><td align="center">y screen pos or nil on failure</td><td align="center">number - nil</td></tr></tbody></table>

#### Usage:

Converts world coordinates to screen coordinates.

### set\_clan\_tag

```lua
utils.set_clan_tag("fatal")
```

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th width="211.87390915351415" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Parameter</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">new_tag</td><td align="center">string</td><td align="center">string to set clantag to</td></tr></tbody></table>

### get\_time

```lua
utils.get_time()
```

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center">time information</td><td align="center">table</td></tr></tbody></table>

#### Table structure:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th><th align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Description</a></td></tr><tr><td align="center">year</td><td align="center">number</td><td align="center">current year</td></tr><tr><td align="center">month</td><td align="center">number</td><td align="center">month (1 - 12)</td></tr><tr><td align="center">year_day</td><td align="center">number</td><td align="center">day (1 - 366)</td></tr><tr><td align="center">month_day</td><td align="center">number</td><td align="center">day (1 - 31)</td></tr><tr><td align="center">week_day</td><td align="center">number</td><td align="center">day (1 - 7)</td></tr><tr><td align="center">hour</td><td align="center">number</td><td align="center">hour (1 - 23)</td></tr><tr><td align="center">min</td><td align="center">number</td><td align="center">minute (1 - 59)</td></tr><tr><td align="center">sec</td><td align="center">number</td><td align="center">second (0 - 60)<br>including leap second</td></tr></tbody></table>

### get\_unix\_time

```lua
utils.get_unix_time()
```

#### Returns:

<table data-header-hidden><thead><tr><th width="173.4239185397946" align="center"> </th><th width="151.73360835425558" align="center"> </th></tr></thead><tbody><tr><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Value</a></td><td align="center"><a href="/pages/fETd1oqEbXdSk9RmYkpd">Datatype</a></td></tr><tr><td align="center"><a href="https://www.unixtimestamp.com/">unix timestamp</a></td><td align="center">number</td></tr></tbody></table>
