# General

## GetIdentifier

Description

{% code overflow="wrap" %}

```etlua
Framework.GetIdentifier(source)
```

{% endcode %}

### Arguments

| Argument | Data Type | Optional | Explanation |
| -------- | --------- | -------- | ----------- |
| source   | string    | no       | Player id   |

### Returns

| Data Type     | Explanation               |
| ------------- | ------------------------- |
| string \| nil | Returns player Identifier |

## GetIdentifierID

Description

```etlua
Framework.GetIdentifierID(identifier)
```

### Arguments

| Argument   | Data Type | Optional | Explanation       |
| ---------- | --------- | -------- | ----------------- |
| identifier | string    | no       | Player identifier |

### Returns

| Data Type     | Explanation       |
| ------------- | ----------------- |
| number \| nil | Returns player id |

## GetPlayers

Description

```etlua
Framework.GetPlayers()
```

### Returns

| Data Type | Explanation            |
| --------- | ---------------------- |
| table     | Table with all players |

## DoesJobExists

Description

```etlua
Framework.DoesJobExists(jobName)
```

| Argument | Data Type | Optional | Explanation                    |
| -------- | --------- | -------- | ------------------------------ |
| jobName  | string    | no       | jobName that should be checked |

### Returns

| Data Type | Explanation                      |
| --------- | -------------------------------- |
| boolean   | true if job exists, false if not |

## GetJobOnlineMembers

Description

```etlua
Framework.GetJobOnlineMembers(jobs)
```

| Argument | Data Type | Optional | Explanation                            |
| -------- | --------- | -------- | -------------------------------------- |
| jobs     | table     | no       | table with all job names to be checked |

### Returns

| Data Type | Explanation             |
| --------- | ----------------------- |
| integer   | count of online players |

## GetPosition

Description

```etlua
Framework.GetPosition(source)
```

### Arguments

| Argument | Data Type | Optional | Explanation |
| -------- | --------- | -------- | ----------- |
| source   | string    | no       | Player id   |

### Returns

| Data Type      | Explanation                |
| -------------- | -------------------------- |
| vector3 \| nil | Returns player coordinates |

## GetBank

Description

```etlua
Framework.GetBank(source)
```

### Arguments

| Argument | Data Type | Optional | Explanation |
| -------- | --------- | -------- | ----------- |
| source   | string    | no       | Player id   |

### Returns

| Data Type     | Explanation                |
| ------------- | -------------------------- |
| number \| nil | Returns player bank amount |

## HasGroup

Description

```etlua
Framework.HasGroup(source, group)
```

| Argument | Data Type | Optional | Explanation  |
| -------- | --------- | -------- | ------------ |
| source   | string    | no       | Player id    |
| group    | string    | no       | Player Group |

### Returns

| Data Type   | Explanation                 |
| ----------- | --------------------------- |
| bool \| nil | Returns if player has group |


---

# 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.quantum-studios.net/qtm-lib/server-functions/framework/general.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.
