AI Core
Jobs und Diensteai-cityhall

ai-cityhall für Entwickler

Die Metadaten der Dokument-Items, die ai-cityhall schreibt (Personalausweis, Führerschein), wie du ein Dokument aus einem anderen Skript vergibst, und seine privaten Events.

ai-cityhall hat keine Exports. Im Jobcenter angenommene Jobs werden mit den Job-Funktionen von ai-core gesetzt, und Dokumente sind normale Inventar-Items, daher arbeitet ein anderes Skript über AI Core mit ihnen.

Metadaten der Dokument-Items

Ein Dokument (id_card, driver_license oder jedes unter Documents aufgeführte Item) ist ein einzigartiges Item, dessen Metadaten den Inhaber tragen. Die Felder sind die von qbx_idcard, sodass für Qbox geschriebene Skripte sie unverändert lesen.

Prop

Type

Ein Dokument aus einem anderen Skript vergeben

Das Item zu benutzen zeigt die Karte, egal wer es vergeben hat: ai-cityhall registriert jedes Dokument-Item als benutzbar. Vergib das Item mit denselben Metadaten, und es verhält sich wie eines, das an der Theke gekauft wurde.

Seite: Server · Wartet: nein

Beispiel

Ein Polizeiskript gibt nach einer Prüfung einen neuen Führerschein aus:

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);
}

Nur Items, die im Panel unter Documents aufgeführt sind, werden von ai-cityhall als benutzbar registriert. Ein Item, das nicht in dieser Liste steht, zeigt beim Benutzen keine Karte.

Geld

Dokumente werden mit RemoveMoney von ai-core von den Konten aus dem Panel bezahlt, Buchungsgrund cityhall:<item> (zum Beispiel cityhall:id_card).

Private Events und Callbacks

Der eigene Vertrag des Skripts (resource/common/hall.ts). Der Server prüft bei jedem Aufruf die Entfernung zum Rathaus. Sie können sich zwischen Versionen ändern: Löse sie nicht aus anderen Ressourcen aus und höre nicht darauf.

NameRichtungWas es überträgt
ai-cityhall:offerClient-Callback(hallId): antwortet mit { ok, jobs, documents }, was dieses Rathaus anbietet.
ai-cityhall:takeJobClient-Callback(hallId, job): einen Job aus dem Jobcenter annehmen.
ai-cityhall:buyClient-Callback(hallId, item): ein Dokument kaufen.
ai-cityhall:client:showCardServer -> jeder Spieler in der Nähe eines gezeigten Dokuments(card): die Karte auf dem Bildschirm zeigen.
ai-cityhall:client:showingServer -> der zeigende Spieler(): die Zeige-Animation abspielen.

Auf dieser Seite