AI Core
Referencia de la APIAI Core: exports de servidor

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

Firma
JailPlayer(source: number, minutes: number, by?: number): boolean
Lua
local 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

Firma
ReleasePlayer(source: number): boolean
Lua
local 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

Firma
GetJailTime(source: number): number
Lua
local 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 },
);

En esta página