AI Core
Referência da APIAI Core: exports de servidor

Prisão

Prenda jogadores, solte-os e leia o tempo restante, pelo script de prisão que o servidor roda.

As chamadas de prisão passam pelo ai-core, nunca pelos exports ou eventos próprios de um script de prisão (ai-prison incluído). O ai-core encaminha cada chamada ao primeiro script de prisão que estiver rodando: ai-prison, qb-prison, rcore_prison, xt-prison e depois tgiann-policejob. Enquanto nenhum está rodando, cada chamada responde false ou 0.

JailPlayer

Manda um jogador para a prisão por alguns minutos.

Lado: Servidor · Espera: não · Lib: prison.jail

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

Parâmetros

Prop

Type

Retorno

boolean: true quando o script de prisão recebeu o jogador. false quando minutes não está acima de 0, source não é um número, nenhum script de prisão está rodando ou ele recusou.

Exemplo

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

Escreva o registro correspondente no MDT com AddMdtRecord (kind: "jail") quando o servidor roda um MDT.

ReleasePlayer

Solta um jogador da prisão.

Lado: Servidor · Espera: não · Lib: prison.release

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

Parâmetros

Prop

Type

Retorno

boolean: true quando o script de prisão soltou o jogador. false quando o script de prisão não o soltou (por exemplo, ele não estava preso), source não é um número ou nenhum script de prisão está rodando.

Exemplo

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

Quanto tempo um jogador ainda precisa cumprir.

Lado: Servidor · Espera: não · Lib: prison.timeLeft

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

Parâmetros

Prop

Type

Retorno

number: minutos restantes. 0 quando o jogador não está preso, source não é um número ou nenhum script de prisão está rodando.

Exemplo

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

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

// Prisioneiros não podem usar o orelhão.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

Nesta página