AI Core
Prace i służbyai-cityhall

ai-cityhall dla deweloperów

Metadane przedmiotów dokumentów, które zapisuje ai-cityhall (dowód osobisty, prawo jazdy), jak dać dokument z innego skryptu oraz jego prywatne zdarzenia.

ai-cityhall nie ma eksportów. Prace przyjęte w urzędzie pracy są ustawiane funkcjami prac ai-core, a dokumenty to zwykłe przedmioty ekwipunku, więc inny skrypt obsługuje je przez AI Core.

Metadane przedmiotu dokumentu

Dokument (id_card, driver_license lub każdy przedmiot z listy Documents) to jeden unikalny przedmiot, którego metadane zawierają posiadacza. Pola są takie jak w qbx_idcard, więc skrypty napisane dla Qbox czytają je bez zmian.

Prop

Type

Dawanie dokumentu z innego skryptu

Użycie przedmiotu pokazuje kartę bez względu na to, kto go dał: ai-cityhall rejestruje każdy przedmiot dokumentu jako przedmiot do użycia. Daj przedmiot z tymi samymi metadanymi, a zachowa się jak kupiony przy ladzie.

Strona: serwer · Czeka: nie

Przykład

Skrypt policji wydaje nowe prawo jazdy po egzaminie:

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

Tylko przedmioty z listy Documents w panelu są rejestrowane przez ai-cityhall jako przedmioty do użycia. Przedmiot spoza tej listy nie pokazuje karty po użyciu.

Pieniądze

Dokumenty są opłacane przez RemoveMoney z ai-core z kont ustawionych w panelu, powód wpisu cityhall:<item> (na przykład cityhall:id_card).

Prywatne zdarzenia i callbacki

Własny kontrakt skryptu (resource/common/hall.ts). Serwer sprawdza odległość od ratusza przy każdym wywołaniu. Mogą się zmieniać między wersjami: nie wywołuj ich ani nie nasłuchuj ich z innych zasobów.

NazwaKierunekCo przenosi
ai-cityhall:offercallback klienta(hallId): odpowiada { ok, jobs, documents }, czyli co oferuje ten ratusz.
ai-cityhall:takeJobcallback klienta(hallId, job): przyjmij pracę z urzędu pracy.
ai-cityhall:buycallback klienta(hallId, item): kup dokument.
ai-cityhall:client:showCardserwer -> każdy gracz w pobliżu pokazanego dokumentu(card): pokaż kartę na ekranie.
ai-cityhall:client:showingserwer -> gracz, który pokazuje(): odtwórz animację pokazywania.

Na tej stronie