AI Core
Dokumentacja APIAI Core: eksporty serwerowe

Więzienie

Wsadzaj graczy do więzienia, zwalniaj ich i odczytuj pozostały czas przez skrypt więzienia, którego używa serwer.

Wywołania więzienia przechodzą przez ai-core, nigdy przez własne eksporty lub zdarzenia skryptu więzienia (łącznie z ai-prison). ai-core przekazuje każde wywołanie do pierwszego działającego skryptu więzienia: ai-prison, qb-prison, rcore_prison, xt-prison, potem tgiann-policejob. Dopóki żaden nie działa, każde wywołanie odpowiada false lub 0.

JailPlayer

Wysyła gracza do więzienia na określoną liczbę minut.

Strona: Serwer · Czeka: nie · Lib: prison.jail

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

Parametry

Prop

Type

Zwraca

boolean: true, gdy skrypt więzienia przyjął gracza. false, gdy minutes nie jest powyżej 0, source nie jest liczbą, nie działa żaden skrypt więzienia albo odmówił.

Przykład

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

Zapisz odpowiedni wpis MDT przez AddMdtRecord (kind: "jail"), gdy serwer używa MDT.

ReleasePlayer

Wypuszcza gracza z więzienia.

Strona: Serwer · Czeka: nie · Lib: prison.release

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

Parametry

Prop

Type

Zwraca

boolean: true, gdy skrypt więzienia zwolnił gracza. false, gdy skrypt więzienia go nie zwolnił (na przykład nie był w więzieniu), source nie jest liczbą albo nie działa żaden skrypt więzienia.

Przykład

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

Ile czasu gracz musi jeszcze odsiedzieć.

Strona: Serwer · Czeka: nie · Lib: prison.timeLeft

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

Parametry

Prop

Type

Zwraca

number: pozostałe minuty. 0, gdy gracz nie jest w więzieniu, source nie jest liczbą albo nie działa żaden skrypt więzienia.

Przykład

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

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

// Więźniowie nie mogą używać budki telefonicznej.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

Na tej stronie