ai-vehiclesales pour les développeurs
Comment ai-vehiclesales détient les véhicules en vente, ses tables et ses events internes.
ai-vehiclesales n’a aucun export. Ce que les autres scripts doivent savoir, c’est à quoi ressemble un véhicule en vente vu de l’extérieur.
Véhicules en vente dans ai-vehicles
Un véhicule en vente reste dans ai-vehicles avec le même id, la même plaque, la même apparence et le même coffre. Tant qu’il est en vente :
- son propriétaire est
{ type: "resource", id: "ai-vehiclesales" }; - son état est
"garage"sans garage (garage: null), donc il n’apparaît dans aucun garage ; - le vendeur n’en détient aucune clé.
Acheter ou reprendre règle le propriétaire sur le personnage avec SetOwner et le fait apparaître au point de livraison du parc.
import { resourceExport } from "@aicore-fivem/lib/server";
const vehicles = resourceExport("ai-vehicles");
// Cette plaque est-elle en vente dans un parc d’occasion en ce moment ?
export function isListed(plate: string): boolean {
const vehicle = vehicles.GetVehicle(plate);
return vehicle?.owner.type === "resource" && vehicle.owner.id === "ai-vehiclesales";
}Tables
| Table | Ce qu’elle contient |
|---|---|
ai_vehiclesales_listings | Une ligne par véhicule en vente (vehicle_id unique) : parc, vendeur, prix, description. |
ai_vehiclesales_payouts | L’argent en attente pour les vendeurs qui étaient hors ligne quand leur véhicule a été vendu. Versé et supprimé à leur prochaine connexion. |
Events
Tous les events d’ai-vehiclesales sont internes (son client et son serveur) ; ne les appelez pas depuis d’autres scripts. Les annonces arrivent aux clients sous forme d’instantané puis uniquement de changements (deltas), et seulement aux joueurs présents sur le parc ou qui ont l’écran ouvert.
| Nom | Type | Ce qu’il fait |
|---|---|---|
ai-vehiclesales:watch / unwatch | callback / event client | Démarrer ou arrêter les mises à jour des voitures garées en entrant sur un parc ou en le quittant. |
ai-vehiclesales:display | serveur vers client | (lotId, puts, removes) : les annonces garées ont changé. |
ai-vehiclesales:browse / unbrowse | callback / event client | Démarrer ou arrêter les mises à jour de l’écran. |
ai-vehiclesales:listings | serveur vers client | (lotId, puts, removes) : les annonces de l’écran ouvert ont changé. |
ai-vehiclesales:details | callback | (lotId, listingId) : la description et l’apparence d’une annonce. |
ai-vehiclesales:list | callback | (lotId, netId, price, description) : mettre en vente le véhicule que conduit le joueur. |
ai-vehiclesales:quote / sellBack | callback | (lotId, netId) : le prix du concessionnaire, et la vente au concessionnaire. |
ai-vehiclesales:buy / takeBack | callback | (lotId, listingId) : acheter, ou reprendre votre propre annonce. |
ai-vehiclesales:testDrive / endTestDrive | callback | Démarrer ou terminer un essai. |
ai-vehiclesales:testDriveEnded | serveur vers client | (lotId) : l’essai est terminé ; le joueur retourne au parc. |