Loglar
Resource’unun loglarını ai-core üzerinden Discord’a, Fivemanage’e, FiveM Stats’e ve konsola gönder ve log kanallarını tanımla.
Her resource ai-core üzerinden loglar. Resource’un bir kanal adı verir (purchases, robberies) ve bir mesaj yazar; nereye gideceğine ai-core karar verir. Sunucu sahibi sağlayıcıları admin panelinde açar (konsol, Discord, Fivemanage, FiveM Stats), en düşük seviyeyi ayarlar ve resource ve kanal başına Discord webhook url’lerini yapıştırır. Bir resource asla kendisi bir webhook’a ya da log servisine gönderim yapmaz ve asla bir webhook url’si tutmaz.
İlgili oyuncuları adlarını mesaja yazmak yerine source ve target olarak ver: ai-core her oyuncunun adını, karakterini, citizen id’sini ve tanımlayıcılarını ekler (IP’yi yalnızca panel izin verdiğinde).
Log
Resource’unun tek bir log kaydını gönderir.
Taraf: Server · Bekler: hayır · Lib: aiLog(channel, message, options?) (Lua: aiLib.aiLog; ai-core çalışmıyorken ikisi de bunun yerine konsola yazar)
Log(channel: string, message: string, options?: LogOptions): voidexports['ai-core']:Log('purchases', 'Bought a car', { source = source, metadata = { price = 25000 } })Parametreler
Prop
Type
LogOptions
Prop
Type
Bkz. LogOptions ve LogLevel.
Dönüş değeri
Hiçbir şey. Seviyesi panelin en düşük seviyesinin altındaysa ya da kanalı LogChannels ile kapatılmışsa kayıt sessizce atılır.
Örnek
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");
// ... arabayı oluştur ve sakla
core.Log("purchases", "Bought a car", { source, metadata: { model: "sultan", price } });
return { ok: true };
});Loglar sunucu sahibi içindir, bu yüzden mesaj İngilizce kalır ve çevrilmez. Mesajı kısa tut ve değerleri log servislerinin süzebileceği metadata içine koy.
LogChannels
Resource’unun kanallarını tanımlar: Fivemanage ve FiveM Stats için dataset adlarını ve her birinin açık olup olmadığını. Resource’un başladığında bir kez çağır. Hiç tanımlamadığın kanallar varsayılanlarla çalışmaya devam eder.
Taraf: Server · Bekler: hayır · Lib: aiLogChannels(channels)
LogChannels(channels: Record<string, LogChannel>): voidexports['ai-core']:LogChannels({ purchases = { dataset = 'myscript-sales' }, debug = { active = false } })Parametreler
Prop
Type
LogChannel
Prop
Type
Bkz. LogChannel.
Dönüş değeri
Hiçbir şey. İkinci bir çağrı resource’unun tüm tanımını değiştirir. Resource’un durduğunda silinir. Tablo olmayan bir değer hiçbir şey yapmaz.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
// Açılışta bir kez.
core.LogChannels({
purchases: { dataset: "myscript-sales" },
robberies: { dataset: "myscript-crime" },
debug: { active: false },
});Webhook url’leri asla buraya ya da resource’unun herhangi bir yerine girmez: sunucu sahibi onları ai-core’un panelinde ayarlar, panel de onları paylaşılmayan bir dosyada tutar.