AI Core
Empregos e serviçosai-cityhall

ai-cityhall para desenvolvedores

A metadata dos itens de documento que o ai-cityhall escreve (RG, carteira de motorista), como dar um documento a partir de outro script, e seus eventos privados.

O ai-cityhall não tem exports. Os empregos pegos na central de empregos são definidos com as funções de emprego do ai-core, e os documentos são itens comuns de inventário, então outro script trabalha com eles através do AI Core.

Metadata dos itens de documento

Um documento (id_card, driver_license, ou qualquer item listado em Documents) é um item único cuja metadata carrega o titular. Os campos são os do qbx_idcard, então scripts escritos para o Qbox os leem como estão.

Prop

Type

Dando um documento a partir de outro script

Usar o item mostra o cartão, não importa quem o deu: o ai-cityhall registra todo item de documento como usável. Dê o item com a mesma metadata e ele se comporta como um comprado no balcão.

Lado: Servidor · Espera: não

Exemplo

Um script de polícia entrega uma nova carteira de motorista depois de um teste:

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

Só itens listados em Documents no painel são registrados como usáveis pelo ai-cityhall. Um item que não está nessa lista não mostra um cartão quando usado.

Dinheiro

Os documentos são pagos com o RemoveMoney do ai-core a partir das contas do painel, motivo de registro cityhall:<item> (por exemplo cityhall:id_card).

Eventos e callbacks privados

O contrato próprio do script (resource/common/hall.ts). O servidor verifica a distância até a prefeitura a cada chamada. Eles podem mudar entre versões: não os dispare nem os escute a partir de outros recursos.

NomeDireçãoO que carrega
ai-cityhall:offercallback do cliente(hallId): responde { ok, jobs, documents }, o que esta prefeitura oferece.
ai-cityhall:takeJobcallback do cliente(hallId, job): pega um emprego na central de empregos.
ai-cityhall:buycallback do cliente(hallId, item): compra um documento.
ai-cityhall:client:showCardservidor -> cada jogador perto de um documento mostrado(card): mostra o cartão na tela.
ai-cityhall:client:showingservidor -> o jogador que mostra(): toca a animação de mostrar.

Nesta página