AI Core
API başvurusuAI Core: server export’ları

Hapishane

Sunucunun çalıştırdığı hapishane script’i hangisiyse onun üzerinden oyuncuları hapse at, serbest bırak ve kalan süreyi oku.

Hapis çağrıları ai-core üzerinden gider, asla bir hapishane script’inin kendi export’ları ya da event’leri üzerinden değil (ai-prison dahil). ai-core her çağrıyı çalışan ilk hapishane script’ine iletir: ai-prison, qb-prison, rcore_prison, xt-prison, sonra tgiann-policejob. Hiçbiri çalışmıyorken her çağrı false ya da 0 cevabı verir.

JailPlayer

Bir oyuncuyu belli bir dakika boyunca hapse gönderir.

Taraf: Server · Bekler: hayır · Lib: prison.jail

İmza
JailPlayer(source: number, minutes: number, by?: number): boolean
Lua
local jailed = exports['ai-core']:JailPlayer(target, 20, source)

Parametreler

Prop

Type

Dönüş değeri

boolean: hapishane script’i oyuncuyu aldığında true. minutes 0’ın üstünde değilse, source bir sayı değilse, hiçbir hapishane script’i çalışmıyorsa ya da reddettiyse false.

Örnek

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

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

addCommand("jail", {
  help: "Jails a player",
  params: [{ name: "id", type: "playerId" }, { name: "minutes", type: "number" }],
  restricted: "ai.job.police",
}, (source, args) => {
  if (core.GetDutyJob(source) !== "police") return;
  core.JailPlayer(args.id, args.minutes, source);
});

Sunucu bir MDT çalıştırıyorsa eşleşen MDT kaydını AddMdtRecord (kind: "jail") ile yaz.

ReleasePlayer

Bir oyuncuyu hapisten çıkarır.

Taraf: Server · Bekler: hayır · Lib: prison.release

İmza
ReleasePlayer(source: number): boolean
Lua
local released = exports['ai-core']:ReleasePlayer(target)

Parametreler

Prop

Type

Dönüş değeri

boolean: hapishane script’i oyuncuyu serbest bıraktığında true. Hapishane script’i onu serbest bırakmadıysa (örneğin hapiste değildi), source bir sayı değilse ya da hiçbir hapishane script’i çalışmıyorsa false.

Örnek

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

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

addCommand("unjail", { help: "Releases a player", params: [{ name: "id", type: "playerId" }], restricted: true }, (_source, args) => {
  console.log(core.ReleasePlayer(args.id) ? "released" : "not in prison");
});

GetJailTime

Bir oyuncunun daha ne kadar yatması gerektiği.

Taraf: Server · Bekler: hayır · Lib: prison.timeLeft

İmza
GetJailTime(source: number): number
Lua
local minutes = exports['ai-core']:GetJailTime(source)

Parametreler

Prop

Type

Dönüş değeri

number: kalan dakika. Oyuncu hapiste değilse, source bir sayı değilse ya da hiçbir hapishane script’i çalışmıyorsa 0.

Örnek

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

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

// Mahkumlar telefon kulübesini kullanamaz.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

Bu sayfada