> For the complete documentation index, see [llms.txt](https://jixelpatterns.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jixelpatterns.gitbook.io/docs/dependency/jim_bridge/player-functions.md).

# Player Functions

## playerfunctions.lua

This module contains helper functions for manipulating player states, interactions, and utility checks.

###

### **instantLookEnt(ent, ent2)**

Instantly turns an entity to face a target (entity or coordinates) without animation.

**Example:**

```lua
instantLookEnt(nil, vector3(200.0, 300.0, 40.0))
instantLookEnt(ped1, ped2)
```

***

### **lookEnt(entity)**

Makes the current player look toward the given entity.

Usually called after when opening a menu or something similar to make the player visually face the location

**Example:**

```lua
lookEnt(vector3(200.0, 300.0, 40.0))
lookEnt(pedEntity)
```

***

### **setThirst(src, thirst)**

{% hint style="warning" %}
Server Side Only
{% endhint %}

Sets the thirst level of a player.

**Example:**

```lua
setThirst(source, 75)
```

***

### **setHunger(src, hunger)**

{% hint style="warning" %}
Server Side Only
{% endhint %}

Sets the hunger level of a player.

**Example:**

```lua
setHunger(source, 50)
```

***

### **chargePlayer(cost, moneyType, newsrc)**

{% hint style="warning" %}
Server Side Only
{% endhint %}

Deducts money from a player of the specified type (`cash`, `bank`, etc).

**Example:**

```lua
chargePlayer(100, "cash", source)
```

***

### **fundPlayer(fund, moneyType, newsrc)**

{% hint style="warning" %}
Server Side Only
{% endhint %}

Adds money to a player's balance of a given type.

**Example:**

```lua
fundPlayer(250, "bank", source)
```

***

### **ConsumeSuccess(itemName, type, data)**

Handles logic when an item is successfully consumed (e.g., food, drink, etc).

Supports hunger and thirst info directly from table eg. `{ hunger = 10, thirst = 20 }`

**Example:**

```lua
ConsumeSuccess("health_pack", "food", { hunger = 10 })

ConsumeSuccess("beer", "alcohol", { thirst = 20 })
```

***

### **hasJob(job, source, grade)**

Checks if a player has a certain job and optionally checks for a specific grade.

Similar to `jobCheck()` but also retrieves as much player job info as possible

**Example:**

```lua
-- Check if the player has the 'police' job and is on duty
local hasPoliceJob, isOnDuty = hasJob("police")
if hasPoliceJob and isOnDuty then
    -- Grant access to police-specific features
end

-- Check if a specific player has the 'gang_leader' job with at least grade 2
local hasGangLeaderJob, _ = hasJob("gang_leader", playerId, 2)
if hasGangLeaderJob then
    -- Allow gang leader actions
end
```

***

### **getPlayer(source)**

Retrieves basic player information (name, cash, bank, job, etc.) based on the active core/inventory system.

Can be called server-side (passing a player source) or client-side (for current player).

Called often in my scripts as its makes use of frameworks "GetPlayerData" etc.

**Example:**

```lua
-- Get information for a specific player
local playerInfo = getPlayer(playerId)
print(playerInfo.name, playerInfo.cash, playerInfo.bank)

-- Get information for the current player (client-side)
local myInfo = getPlayer()
print(myInfo.name, myInfo.cash, myInfo.bank)
```

***

### **GetPlayersFromCoords(coords, radius)**

Returns a list of players within a specified radius of a set of coordinates.

**Example:**

```lua
local nearby = GetPlayersFromCoords(GetEntityCoords(PlayerPedId()), 10.0)
for _, playerId in pairs(nearby) do
    print("Nearby player ID:", playerId)
end
```

***
