AI Core
Métiers et servicesai-cityhall

ai-cityhall pour les développeurs

Les métadonnées des objets documents qu’écrit ai-cityhall (carte d’identité, permis de conduire), comment donner un document depuis un autre script, et ses events privés.

ai-cityhall n’a aucun export. Les métiers pris à l’agence pour l’emploi sont réglés avec les fonctions de métier d’ai-core, et les documents sont des objets d’inventaire ordinaires, donc un autre script les manipule à travers AI Core.

Métadonnées de l’objet document

Un document (id_card, driver_license, ou tout objet listé sous Documents) est un objet unique dont les métadonnées portent le titulaire. Les champs sont ceux de qbx_idcard, donc les scripts écrits pour Qbox les lisent tels quels.

Prop

Type

Donner un document depuis un autre script

Utiliser l’objet affiche la carte, peu importe qui l’a donné : ai-cityhall enregistre chaque objet document comme utilisable. Donnez l’objet avec les mêmes métadonnées et il se comporte comme un objet acheté au guichet.

Côté : serveur · Attend : non

Exemple

Un script de police remet un nouveau permis de conduire après un examen :

import { inventory, notify, online } from "@aicore-fivem/lib/server";

function giveLicense(source: number): boolean {
  const c = online.character(source);
  if (!c) return false;
  const metadata = {
    name: `${c.firstname} ${c.lastname}`,
    firstname: c.firstname,
    lastname: c.lastname,
    birthdate: c.birthdate,
    sex: c.sex,
    nationality: c.nationality,
    citizenid: c.citizenid,
  };
  if (!inventory.canCarryItem(source, "driver_license", 1, metadata)) {
    notify(source, "No room in your inventory", "error");
    return false;
  }
  return inventory.addItem(source, "driver_license", 1, metadata);
}

Seuls les objets listés sous Documents dans le panneau sont enregistrés comme utilisables par ai-cityhall. Un objet absent de cette liste n’affiche pas de carte quand on l’utilise.

Argent

Les documents sont payés avec le RemoveMoney d’ai-core depuis les comptes du panneau, motif de registre cityhall:<item> (par exemple cityhall:id_card).

Events et callbacks privés

Le contrat propre du script (resource/common/hall.ts). Le serveur vérifie la distance à la mairie à chaque appel. Ils peuvent changer d’une version à l’autre : ne les déclenchez pas et ne les écoutez pas depuis d’autres ressources.

NomDirectionCe qu’il transporte
ai-cityhall:offercallback client(hallId) : répond { ok, jobs, documents }, ce que propose cette mairie.
ai-cityhall:takeJobcallback client(hallId, job) : prendre un métier à l’agence pour l’emploi.
ai-cityhall:buycallback client(hallId, item) : acheter un document.
ai-cityhall:client:showCardserveur -> chaque joueur proche d’un document montré(card) : afficher la carte à l’écran.
ai-cityhall:client:showingserveur -> le joueur qui montre() : jouer l’animation.

Sur cette page