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