AI Core
API-ReferenzAI Core: Server-Exports

Gefängnis

Spieler einsperren, freilassen und die Restzeit lesen, über das Gefängnis-Skript, das der Server nutzt.

Gefängnis-Aufrufe laufen über ai-core, nie über die eigenen Exports oder Events eines Gefängnis-Skripts (ai-prison eingeschlossen). ai-core leitet jeden Aufruf an das erste laufende Gefängnis-Skript weiter: ai-prison, qb-prison, rcore_prison, xt-prison, dann tgiann-policejob. Solange keines läuft, antwortet jeder Aufruf mit false oder 0.

JailPlayer

Schickt einen Spieler für eine Anzahl von Minuten ins Gefängnis.

Seite: Server · Wartet: nein · Lib: prison.jail

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

Parameter

Prop

Type

Rückgabe

boolean: true, wenn das Gefängnis-Skript den Spieler übernommen hat. false, wenn minutes nicht über 0 liegt, source keine Zahl ist, kein Gefängnis-Skript läuft oder es abgelehnt hat.

Beispiel

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

Schreibe die passende MDT-Akte mit AddMdtRecord (kind: "jail"), wenn der Server ein MDT nutzt.

ReleasePlayer

Lässt einen Spieler aus dem Gefängnis frei.

Seite: Server · Wartet: nein · Lib: prison.release

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

Parameter

Prop

Type

Rückgabe

boolean: true, wenn das Gefängnis-Skript den Spieler freigelassen hat. false, wenn das Gefängnis-Skript ihn nicht freigelassen hat (zum Beispiel, weil er nicht im Gefängnis war), source keine Zahl ist oder kein Gefängnis-Skript läuft.

Beispiel

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

Wie lange ein Spieler noch absitzen muss.

Seite: Server · Wartet: nein · Lib: prison.timeLeft

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

Parameter

Prop

Type

Rückgabe

number: verbleibende Minuten. 0, wenn der Spieler nicht im Gefängnis ist, source keine Zahl ist oder kein Gefängnis-Skript läuft.

Beispiel

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

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

// Gefangene können die Telefonzelle nicht benutzen.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

Auf dieser Seite