# Exports

{% tabs %}
{% tab title="Client" %}

### getVIP()

> Retrieve the VIP status from the player.

**returns:**

* **status** `boolean`

```lua
local isVIP = exports['av_vip']:getVIP()
print(isVIP) -- true/false
```

### getTokens()

> Get the tokens owned by the player.

**returns:**

* **amount** `number`

```lua
local tokens = exports['av_vip']:getTokens()
print(tokens) -- number (0 - ????)
```

{% endtab %}

{% tab title="Server" %}

### getVip(playerId)

> Retrieve the VIP status from the player.

**parameters:**

* **playerId** `number`: The player server ID.

**returns:**

* **status** `boolean`

```lua
local isVIP = exports['av_vip']:getVIP(playerId)
print(isVIP) -- true/false
```

### addVIP(playerId, months)

> Extends or grants a VIP membership to a player for the specified months.

**parameters:**

* **playerId** `number`: The player server ID.
* **months** `number`: Duration or extension of the VIP membership

```lua
exports['av_vip']:addVIP(playerId, 6)
```

### getTokens(playerId)

> Get the tokens owned by the player using his server ID.

**parameters:**

* **playerId** `number`: Player server ID.

**returns:**

* **amount** `number`

```lua
local tokens = exports['av_vip']:getTokens(playerId)
print(tokens) -- number (0 - ????)
```

### addTokens(playerId, amount)

> Add tokens to the player.

**parameters:**

* **playerId** `number`: The player server ID.
* **amount** `number`: The amount to add.

**returns:**

* **tokens** `number`: Returns the current amount of tokens.

```lua
local newAmount = exports['av_vip']:addTokens(playerId, 500)
print(newAmount)
```

### removeTokens(playerId, amount)

> Remove tokens from the player.&#x20;
>
> Make sure to always run a getTokens() before, this export does NOT verify the current amount of tokens owned by the player.

**parameters:**

* **playerId** `number`: The player server ID.
* **amount** `number`: Amount of tokens to remove.

```lua
local toRemove = 50
local myTokens = exports['av_vip']:getTokens(playerId)
if myTokens and tonumber(myTokens) >= toRemove then
    exports['av_vip']:removeTokens(playerId, toRemove)
else
    print("Player doesn't have enough tokens")
end
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.av-scripts.com/guides/vip-script/exports.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
