Prisión
Encarcela a jugadores, libéralos y lee el tiempo que les queda, a través del script de prisión que tenga el servidor.
Las llamadas de cárcel pasan por ai-core, nunca por los exports o eventos propios de un script de prisión (ai-prison incluido). ai-core reenvía cada llamada al primer script de prisión en marcha: ai-prison, qb-prison, rcore_prison, xt-prison y después tgiann-policejob. Mientras no hay ninguno en marcha, cada llamada responde false o 0.
JailPlayer
Envía a un jugador a prisión durante un número de minutos.
Lado: Servidor · Espera: no · Lib: prison.jail
JailPlayer(source: number, minutes: number, by?: number): booleanlocal jailed = exports['ai-core']:JailPlayer(target, 20, source)Parámetros
Prop
Type
Devuelve
boolean: true cuando el script de prisión recibió al jugador. false cuando minutes no es mayor que 0, source no es un número, no hay ningún script de prisión en marcha o lo rechazó.
Ejemplo
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);
});Escribe el registro de MDT correspondiente con AddMdtRecord (kind: "jail") cuando el servidor tiene un MDT.
ReleasePlayer
Saca a un jugador de prisión.
Lado: Servidor · Espera: no · Lib: prison.release
ReleasePlayer(source: number): booleanlocal released = exports['ai-core']:ReleasePlayer(target)Parámetros
Prop
Type
Devuelve
boolean: true cuando el script de prisión liberó al jugador. false cuando el script de prisión no lo liberó (por ejemplo, no estaba en prisión), source no es un número o no hay ningún script de prisión en marcha.
Ejemplo
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
Cuánto tiempo le queda por cumplir a un jugador.
Lado: Servidor · Espera: no · Lib: prison.timeLeft
GetJailTime(source: number): numberlocal minutes = exports['ai-core']:GetJailTime(source)Parámetros
Prop
Type
Devuelve
number: minutos restantes. 0 cuando el jugador no está en prisión, source no es un número o no hay ningún script de prisión en marcha.
Ejemplo
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Los presos no pueden usar la cabina telefónica.
onClientCallback("myscript:phoneBooth", (source) =>
core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);