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
JailPlayer(source: number, minutes: number, by?: number): booleanlocal 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
ReleasePlayer(source: number): booleanlocal 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
GetJailTime(source: number): numberlocal 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 },
);