AI Core
Dokumentacja APIAI Core: eksporty serwerowe

Logi

Wysyłaj logi swojego zasobu przez ai-core do Discorda, Fivemanage, FiveM Stats i konsoli oraz opisuj swoje kanały logów.

Każdy zasób loguje przez ai-core. Twój zasób podaje kanał (purchases, robberies) i pisze wiadomość; ai-core decyduje, dokąd ona trafia. Właściciel serwera włącza dostawców w panelu administratora (konsola, Discord, Fivemanage, FiveM Stats), ustawia minimalny poziom i wkleja url webhooków Discorda dla każdego zasobu i kanału. Zasób nigdy sam nie wysyła niczego na webhook ani do usługi logów i nigdy nie trzyma url webhooka.

Przekazuj zaangażowanych graczy jako source i target zamiast wpisywać ich imiona do wiadomości: ai-core dodaje imię każdego gracza, postać, citizen id i identyfikatory (IP tylko wtedy, gdy panel na to pozwala).

Log

Wysyła jeden wpis logu twojego zasobu.

Strona: Serwer · Czeka: nie · Lib: aiLog(channel, message, options?) (Lua: aiLib.aiLog; oba wypisują do konsoli, dopóki ai-core nie działa)

Sygnatura
Log(channel: string, message: string, options?: LogOptions): void
Lua
exports['ai-core']:Log('purchases', 'Bought a car', { source = source, metadata = { price = 25000 } })

Parametry

Prop

Type

LogOptions

Prop

Type

Zobacz LogOptions i LogLevel.

Zwraca

Nic. Wpis jest po cichu odrzucany, gdy jego poziom jest poniżej minimum z panelu albo jego kanał jest wyłączony przez LogChannels.

Przykład

import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";

const core = resourceExport("ai-core");

onClientCallback("myscript:buyCar", { lock: true }, (source) => {
  const price = 25_000;
  if (!core.RemoveMoney(source, "bank", price, "car_purchase")) return fail("NOT_ENOUGH_MONEY");
  // ... utwórz i zapisz samochód
  core.Log("purchases", "Bought a car", { source, metadata: { model: "sultan", price } });
  return { ok: true };
});

Logi są dla właściciela serwera, więc wiadomość zostaje po angielsku i nie jest tłumaczona. Trzymaj wiadomość krótką, a wartości wkładaj do metadata, gdzie usługi logów mogą je filtrować.

LogChannels

Opisuje kanały twojego zasobu: ich nazwę zbioru danych dla Fivemanage i FiveM Stats oraz czy każdy jest włączony. Wywołaj to raz, gdy twój zasób startuje. Kanały, których nigdy nie opiszesz, i tak działają z wartościami domyślnymi.

Strona: Serwer · Czeka: nie · Lib: aiLogChannels(channels)

Sygnatura
LogChannels(channels: Record<string, LogChannel>): void
Lua
exports['ai-core']:LogChannels({ purchases = { dataset = 'myscript-sales' }, debug = { active = false } })

Parametry

Prop

Type

LogChannel

Prop

Type

Zobacz LogChannel.

Zwraca

Nic. Drugie wywołanie zastępuje cały opis twojego zasobu. Jest usuwany, gdy twój zasób się zatrzymuje. Wartość, która nie jest tabelą, nic nie robi.

Przykład

import { resourceExport } from "@aicore-fivem/lib/server";

const core = resourceExport("ai-core");

// Raz przy starcie.
core.LogChannels({
  purchases: { dataset: "myscript-sales" },
  robberies: { dataset: "myscript-crime" },
  debug: { active: false },
});

Url webhooków nigdy nie trafiają tutaj ani nigdzie w twoim zasobie: właściciel serwera ustawia je w panelu ai-core, który trzyma je w pliku, który nie jest udostępniany.

Na tej stronie