Le système de persistance expose des événements serveur et client pour accrocher aux moments clés du cycle de vie (chargement, sauvegarde, spawn, etc.).
Tous les noms sont définis dans shared/events.lua et reflétés côté serveur et client.
Vue d’ensemble
Chaque événement logique a :
- un nom serveur :
ts-persistence:server:<...>
- un nom client :
ts-persistence:client:<...>
Vous n’activez et n’écoutez que ce dont vous avez besoin.
onPersistenceLoad
Déclenché quand ts-persistence a fini de charger ses données et est prêt.
- Serveur :
ts-persistence:server:load
- Client :
ts-persistence:client:load
Exemple (serveur)
AddEventHandler('ts-persistence:server:load', function()
print('[ts-persistence] Persistance chargée côté serveur.')
end)
onVehicleCreated
Déclenché quand un nouveau véhicule est enregistré dans la persistance (temporaire ou permanent).
- Serveur :
ts-persistence:server:vehicle:created
- Client :
ts-persistence:client:vehicle:created
Charge utile :
{
id = '123', -- id de persistance
vehicle = { ... }, -- entrée véhicule interne complète (voir Structure des données)
}
Exemple (serveur)
AddEventHandler('ts-persistence:server:vehicle:created', function(data)
print(('[ts-persistence] Véhicule créé (id: %s, plaque: %s)'):format(data.id, data.vehicle.plate))
end)
onVehicleUpdated
Déclenché à chaque mise à jour des données persistées (position, props, dégâts, etc.).
- Serveur :
ts-persistence:server:vehicle:updated
- Client :
ts-persistence:client:vehicle:updated
Charge utile :
Même structure que onVehicleCreated.
onVehicleForgot
Déclenché quand un véhicule est retiré de la persistance (retiré du cache et éventuellement de la BDD).
- Serveur :
ts-persistence:server:vehicle:forgot
- Client :
ts-persistence:client:vehicle:forgot
Charge utile :
{
id = '123',
plate = 'ABC123',
vehicle = { ... },
}
onVehicleSpawned
Déclenché quand un véhicule persistant est spawné côté serveur.
- Serveur :
ts-persistence:server:vehicle:spawned
- Client :
ts-persistence:client:vehicle:spawned
Charge utile :
{
id = '123',
netId = 42,
entity = <entity>, -- entité serveur (serveur uniquement)
vehicle = { ... },
}
onVehiclesUnloaded
Déclenché quand tous les véhicules sont déchargés du monde (ex. lors d’un /persistence reload).
- Serveur :
ts-persistence:server:vehicles:unloaded
- Client :
ts-persistence:client:vehicles:unloaded
Charge utile :
{
['123'] = { ... },
['124'] = { ... },
-- tous les véhicules déchargés
}
onPersistenceSave
Déclenché quand les données sont sauvegardées (ex. après un tick d’auto-sauvegarde).
- Serveur :
ts-persistence:server:persistence:saved
- Client :
ts-persistence:client:persistence:saved
Utile pour logs, métriques ou tâches annexes. Last modified on March 29, 2026