Garage Docs

kairo-garage v2.2.4 dépendance : kairo-core Voir le produit

Présentation

Kairo Garage gère les véhicules possédés par les joueurs : rangement, sortie, fourrière et assurance. Carburant, dégâts, plaque et modifications sont sauvegardés quand le véhicule est rangé.

Les garages peuvent être publics, réservés à un métier, ou partagés par un groupe. Chaque garage peut accepter un ou plusieurs types de véhicules (voiture, moto, bateau, aéronef).

Installation

  1. Télécharge l'archive depuis « Mes achats » et décompresse-la.
  2. Place le dossier kairo-garage dans resources/[kairo]/ de ton serveur.
  3. Vérifie que kairo-core est démarré avant kairo-garage dans ton server.cfg.
  4. Ajoute la ligne ensure kairo-garage, puis redémarre le serveur. Les tables sont créées automatiquement au premier lancement.
server.cfg
# server.cfgensure kairo-coreensure kairo-garage

Configuration

Chaque garage a un point d'interaction et une position de sortie (vector4, l'angle en plus). Ajoute job = 'police' pour réserver un garage à un métier.

config.lua
-- config.luaConfig.ImpoundPrice = 500Config.InsurancePrice = 2500Garages.pillbox = {    label = 'Parking Pillbox',    types = { 'car', 'bike' },    point = vector3(215.8, -810.1, 30.7),    spawn = vector4(229.7, -800.1, 30.5, 157.0),}

API

Les exports s'appellent avec exports['kairo-garage']:Nom(...). Les fonctions serveur ne sont jamais accessibles depuis le client.

StoreVehicle

serveur
exports['kairo-garage']:StoreVehicle(source, vehicle, garage)

Range un véhicule et sauvegarde son état. Le joueur doit en être le propriétaire.

ParamètreTypeDescription
sourcenumberID serveur
vehiclenumberHandle réseau de l'entité
garagestringIdentifiant du garage

Retour boolean

exemple.lua
exports['kairo-garage']:StoreVehicle(source, vehicle, 'pillbox')

SpawnVehicle

serveur
exports['kairo-garage']:SpawnVehicle(source, plate, garage)

Sort un véhicule rangé et lui réapplique son état.

ParamètreTypeDescription
sourcenumberID serveur
platestringPlaque
garagestringGarage de sortie

Retour number? — l'entité créée, ou nil

exemple.lua
local veh = exports['kairo-garage']:SpawnVehicle(source, 'KAIRO123', 'pillbox')

GetVehicles

serveur
exports['kairo-garage']:GetVehicles(source)

Liste les véhicules d'un joueur avec leur emplacement.

ParamètreTypeDescription
sourcenumberID serveur

Retour table — { plate, model, garage, state }

exemple.lua
for _, v in ipairs(exports['kairo-garage']:GetVehicles(source)) do    print(v.plate, v.state)end

Impound

serveur
exports['kairo-garage']:Impound(plate, reason)

Envoie un véhicule en fourrière.

ParamètreTypeDescription
platestringPlaque
reasonstring?Motif affiché au propriétaire

Retour boolean

exemple.lua
exports['kairo-garage']:Impound('KAIRO123', 'Stationnement gênant')

GiveVehicle

serveur
exports['kairo-garage']:GiveVehicle(source, model, garage)

Ajoute un nouveau véhicule au joueur (concession, récompense).

ParamètreTypeDescription
sourcenumberID serveur
modelstringNom du modèle
garagestringGarage où il est livré

Retour string — la plaque générée

exemple.lua
local plate = exports['kairo-garage']:GiveVehicle(source, 'sultan', 'pillbox')

Événements

kairo-garage:stored

serveur

Un véhicule a été rangé.

exemple.lua
AddEventHandler('kairo-garage:stored', function(source, plate, garage)end)

kairo-garage:spawned

serveur

Un véhicule a été sorti.

exemple.lua
AddEventHandler('kairo-garage:spawned', function(source, plate, entity)end)

FAQ

Que devient un véhicule détruit ?

Il passe en état détruit. Le joueur peut le récupérer via l'assurance s'il l'a souscrite, ou en payant la fourrière.

Les modifications sont-elles conservées ?

Oui : peinture, pièces, néons et extras sont enregistrés au rangement.