# client

```lua
if exports['gw-gang']:HasGang() then
    print("Vous êtes dans un gang")
end
```

***

#### `GetPlayerGang()` → `table|nil`

Retourne toutes les données du gang du joueur (nom, couleur, membres, influence, etc.).

```lua
local gang = exports['gw-gang']:GetPlayerGang()
if gang then
    print("Gang: " .. gang.name .. " | Influence: " .. gang.influence .. "%")
end
```

***

#### `GetPlayerGangId()` → `string|nil`

Retourne uniquement l’ID du gang.

#### `GetPlayerGangName()` → `string|nil`

Retourne uniquement le nom du gang.

#### `GetGangInfluence()` → `number`

Retourne l’influence globale du gang (0–100).

#### `GetControlledTerritories()` → `number`

Nombre de territoires actuellement contrôlés par le gang.

***

#### `GetPlayerHierarchy()` → `number` (0–10)

Retourne le niveau de hiérarchie du joueur (0 = pas de gang).

```lua
local hierarchy = exports['gw-gang']:GetPlayerHierarchy()
if hierarchy >= 8 then
    print("Vous êtes haut placé dans le gang")
end
```

***

#### `GetPlayerRank()` → `table|nil`

Retourne les données complètes du rang actuel (nom, hiérarchie, permissions).

```lua
local rank = exports['gw-gang']:GetPlayerRank()
if rank then
    print("Rang: " .. rank.name .. " (Hiérarchie: " .. rank.hierarchy .. ")")
end
```

***

#### `HasPermission(permission)` → `boolean`

Vérifie si le joueur a une permission basée sur sa hiérarchie.

```lua
if exports['gw-gang']:HasPermission(5) then
    print("Vous pouvez inviter des membres")
end
```

***

### Actions & Missions Débloquées

#### `GetUnlockedActions()` → `table`

Retourne toutes les actions débloquées du gang.

#### `IsActionUnlocked(actionId)` → `boolean`

Exemples : `'cuff'`, `'drag'`, `'escort'`, `'putinveh'`

```lua
if exports['gw-gang']:IsActionUnlocked('cuff') then
    -- Autoriser l'action menottage
end
```

#### `GetUnlockedMissions()` → `table`

#### `IsMissionUnlocked(missionId)` → `boolean`

Exemples : `'heist_fleeca'`, `'drug_run'`, `'weapon_traffic'`

```lua
if exports['gw-gang']:IsMissionUnlocked('heist_fleeca') then
    -- Afficher le marqueur du braquage
end
```

***

### Menus

#### `OpenGangMenu()` → Ouvre le menu principal (F6)

```lua
exports['gw-gang']:OpenGangMenu()
```

#### `CloseGangMenu()` → Ferme tous les menus gang

```lua
exports['gw-gang']:CloseGangMenu()
```

#### `OpenQuickActionsMenu()` → Ouvre les actions rapides (F7)

```lua
exports['gw-gang']:OpenQuickActionsMenu()
```

***

### Territoires & Zones

#### `GetCapturedTerritories()` → `table`

Retourne tous les territoires capturés avec leur propriétaire.

#### `GetCurrentZone()` → `table|nil` *(asynchrone)*

Données de la zone où se trouve le joueur.

```lua
local zone = exports['gw-gang']:GetCurrentZone()
if zone then
    print("Zone actuelle: " .. zone.zoneName)
end
```

#### `GetZoneData(zoneName)` → `table|nil` *(asynchrone)*

Données détaillées d’une zone spécifique.

#### `GetGangInfluenceInTerritory(zoneName, gangId)` → `number` *(asynchrone)*

#### `GetTerritoryPoints()` → `number` *(asynchrone)*

Points de territoire totaux du gang.

#### `GetOwnedTerritoryReserves()` → `table|nil` *(asynchrone)*

Réserves détaillées par territoire contrôlé.

***

### Stockage Gang (Coffre, Garage, etc.)

#### `GetGangStorage()` → `table|nil` *(asynchrone)*

Retourne les données de stash, garage, laboratoires, etc.

```lua
local storage = exports['gw-gang']:GetGangStorage()
if storage then
    print("Garage: " .. storage.garage.instances .. " places")
end
```

***

### Membres

#### `GetGangMembers()` → `table|nil`

Retourne la liste complète des membres du gang.

```lua
local members = exports['gw-gang']:GetGangMembers()
for _, member in ipairs(members) do
    print(member.name .. " - " .. member.rankName)
end
```

***

### Utilitaires

#### `SyncGangData()`

Force la resynchronisation des données gang depuis le serveur.

```lua
exports['gw-gang']:SyncGangData()
```

#### `GetAllGangsForLegend()` → `table` *(asynchrone)*

Utilisé pour la légende de la carte (nom, couleur, nombre de zones).

#### `IsMenuOpen()` → `boolean`

> Warning: Actuellement non implémenté par défaut (retourne `false`)

***

### Résumé des exports les plus utilisés

| Export                     | Usage fréquent                       |
| -------------------------- | ------------------------------------ |
| `HasGang()`                | Vérifier l’appartenance à un gang    |
| `GetPlayerGang()`          | Accéder à toutes les données du gang |
| `GetPlayerHierarchy()`     | Gérer les permissions                |
| `HasPermission(5)`         | Vérifier un droit spécifique         |
| `IsActionUnlocked('cuff')` | Activer/désactiver des interactions  |
| `OpenGangMenu()`           | Ouvrir le menu principal             |
| `GetCurrentZone()`         | Détecter la zone du joueur           |
| `GetCapturedTerritories()` | Afficher la carte des territoires    |

***
