> ## Documentation Index
> Fetch the complete documentation index at: https://sharkmenu.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Shark API's

> Esta documentação é destinada a desenvolvedores e detalha as APIs disponíveis no Executor do Shark.

### SharkAPI Inject

API usada para fazer inject em um resource.

```lua HelloWorld.lua theme={null}
SharkAPI.Inject('resource', [[
  _G.print('Hello World');
]])
```

Parâmetros:

| Parâmetro | Descrição                                    |
| --------- | -------------------------------------------- |
| resource  | Nome do resource onde o código será injetado |

Retorno:

* **Sucesso:** `nil`
* **Erro:** Mensagem de erro em caso de falha.

***

### SharkAPI GetName

API que retorna o nome do usuário.

```lua GetName.lua theme={null}
local username = SharkAPI.GetUsername();
```

Retorno:

* **string:** Nome do usuário.

***

### SharkAPI RequestHTTP

API que realiza uma requisição HTTP para a URL especificada.

```lua RequestHTTP.lua theme={null}
SharkAPI.RequestHTTP("url");
```

Parâmetros:

| Parâmetro | Descrição                                |
| --------- | ---------------------------------------- |
| url       | URL para a qual a requisição será feita. |

Retorno:

* **table:** Resposta da requisição.

***

### SharkAPI GetLoadedResources

API que retorna todas as resources que foram carregadas.

```lua GetLoadedResources.lua theme={null}
SharkAPI.GetLoadedResources();
```

Retorno:

* **table:** Lista de resources carregadas. Cada resource é representada como uma string com o nome da resource.

***

### SharkAPI Statebags

API que retorna uma lista de statebag que contém "state1", "state2".

```lua Statebags.lua theme={null}
local statebags = SharkAPI.GetStatebags();
```

Retorno:

* **table:** Lista de statebags.

***

### SharkAPI SetClipboard

API que seta o valor no Clipboard.

```lua SetClipboard.lua theme={null}
SharkAPI.SetClipboard("value");
```

Parâmetros:

| Parâmetro | Descrição                             |
| --------- | ------------------------------------- |
| value     | Valor a ser copiado para o clipboard. |

Retorno:

* **Sucesso:** `nil`
* **Erro:** Mensagem de erro em caso de falha.

***

### SharkAPI RequestRagdoll

API que força um ragdoll no jogador escolhido.

```lua RequestRagdoll.lua theme={null}
SharkAPI.RequestRagdoll(GetPlayerPed(...));
```

Parâmetros:

| Parâmetro | Descrição                             |
| --------- | ------------------------------------- |
| player    | ID do jogador que receberá o ragdoll. |

Retorno:

* **Sucesso:** `nil`
* **Erro:** Mensagem de erro em caso de falha.

***

### SharkAPI IsKeyJustPressed

API que retorna um valor booleano indicando se uma tecla foi pressionada.

```lua IsKeyJustPressed.lua theme={null}
local isPressed = SharkAPI.IsKeyJustPressed(0x0);
```

Parâmetros:

| Parâmetro | Descrição                |
| --------- | ------------------------ |
| vkCode    | Código da tecla virtual. |

Códigos de Tecla Virtual:

| Código (Hex) | Tecla      |
| ------------ | ---------- |
| 0x08         | Backspace  |
| 0x09         | Tab        |
| 0x0D         | Enter      |
| 0x1B         | Esc        |
| 0x20         | Espaço     |
| 0x30         | 0 (número) |
| 0x31         | 1 (número) |
| 0x32         | 2 (número) |
| 0x33         | 3 (número) |
| 0x34         | 4 (número) |
| 0x35         | 5 (número) |
| 0x36         | 6 (número) |
| 0x37         | 7 (número) |
| 0x38         | 8 (número) |
| 0x39         | 9 (número) |
| 0x41         | A          |
| 0x42         | B          |
| 0x43         | C          |
| 0x44         | D          |
| 0x45         | E          |
| 0x46         | F          |
| 0x47         | G          |
| 0x48         | H          |
| 0x49         | I          |
| 0x4A         | J          |
| 0x4B         | K          |
| 0x4C         | L          |
| 0x4D         | M          |
| 0x4E         | N          |
| 0x4F         | O          |
| 0x50         | P          |
| 0x51         | Q          |
| 0x52         | R          |
| 0x53         | S          |
| 0x54         | T          |
| 0x55         | U          |
| 0x56         | V          |
| 0x57         | W          |
| 0x58         | X          |
| 0x59         | Y          |
| 0x5A         | Z          |

Retorno:

* **boolean:** `true` se a tecla foi pressionada, caso contrário `false`.

### SharkAPI SetVar

API que define um valor para uma variável identificada por um ID.

```lua SetVar.lua theme={null}
SharkAPI.SetVar('example_id', 42);
```

Parâmetros:

| Parâmetro | Descrição                 |
| --------- | ------------------------- |
| id        | Identificador da variável |
| value     | Valor a ser atribuído     |

Retorno:

* **Sucesso:** `nil`
* **Erro:** Mensagem de erro em caso de falha.

***

### SharkAPI GetVar

API que obtém o valor de uma variável previamente definida.

```lua GetVar.lua theme={null}
local value = SharkAPI.GetVar('example_id');
```

Parâmetros:

| Parâmetro | Descrição                 |
| --------- | ------------------------- |
| id        | Identificador da variável |

Retorno:

* **any:** Valor armazenado na variável.

***

### SharkAPI StopResource

API que interrompe um resource em execução.

```lua StopResource.lua theme={null}
SharkAPI.StopResource('resource_name');
```

Parâmetros:

| Parâmetro    | Descrição                           |
| ------------ | ----------------------------------- |
| resourceName | Nome do resource a ser interrompido |

Retorno:

* **Sucesso:** `nil`
* **Erro:** Mensagem de erro em caso de falha.

***

### SharkAPI GetSubscription

API que retorna a data de expiração da assinatura.

```lua GetSubscription.lua theme={null}
local subscriptionDate = SharkAPI.GetSubscription();
```

Retorno:

* **string:** Data de expiração da assinatura (exemplo: "12/12/2038").
