AI Core
Référence de l’APIAI Core : exports serveur

Prison

Emprisonner des joueurs, les libérer et lire le temps restant, via le script de prison qu’utilise le serveur.

Les appels de prison passent par ai-core, jamais par les exports ou événements propres à un script de prison (ai-prison compris). ai-core transmet chaque appel au premier script de prison qui tourne : ai-prison, qb-prison, rcore_prison, xt-prison, puis tgiann-policejob. Tant qu’aucun ne tourne, chaque appel répond false ou 0.

JailPlayer

Envoie un joueur en prison pour un nombre de minutes.

Côté : Serveur · Attend : non · Lib : prison.jail

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

Paramètres

Prop

Type

Retour

boolean : true quand le script de prison a pris le joueur. false quand minutes n’est pas supérieur à 0, que source n’est pas un nombre, qu’aucun script de prison ne tourne ou qu’il a refusé.

Exemple

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

Écrivez l’enregistrement MDT correspondant avec AddMdtRecord (kind: "jail") quand le serveur utilise un MDT.

ReleasePlayer

Fait sortir un joueur de prison.

Côté : Serveur · Attend : non · Lib : prison.release

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

Paramètres

Prop

Type

Retour

boolean : true quand le script de prison a libéré le joueur. false quand le script de prison ne l’a pas libéré (par exemple, il n’était pas en prison), que source n’est pas un nombre ou qu’aucun script de prison ne tourne.

Exemple

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

Combien de temps un joueur doit encore purger.

Côté : Serveur · Attend : non · Lib : prison.timeLeft

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

Paramètres

Prop

Type

Retour

number : minutes restantes. 0 quand le joueur n’est pas en prison, que source n’est pas un nombre ou qu’aucun script de prison ne tourne.

Exemple

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

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

// Les prisonniers ne peuvent pas utiliser la cabine téléphonique.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

Sur cette page