AI Core
Справочник APIAI Core: серверные экспорты

Тюрьма

Сажать игроков в тюрьму, освобождать их и читать оставшийся срок через тот тюремный скрипт, который использует сервер.

Тюремные вызовы идут через ai-core, а не через собственные экспорты или события тюремного скрипта (включая ai-prison). ai-core передаёт каждый вызов первому запущенному тюремному скрипту: ai-prison, qb-prison, rcore_prison, xt-prison, затем tgiann-policejob. Пока ни один не работает, каждый вызов отвечает false или 0.

JailPlayer

Отправляет игрока в тюрьму на заданное число минут.

Сторона: сервер · Ожидание: нет · Библиотека: prison.jail

Сигнатура
JailPlayer(source: number, minutes: number, by?: number): boolean
Lua
local jailed = exports['ai-core']:JailPlayer(target, 20, source)

Параметры

Prop

Type

Возвращает

boolean: true, когда тюремный скрипт принял игрока. false, когда minutes не больше 0, source не число, ни один тюремный скрипт не работает или он отказал.

Пример

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

Если на сервере работает MDT, запишите соответствующую запись через AddMdtRecord (kind: "jail").

ReleasePlayer

Выпускает игрока из тюрьмы.

Сторона: сервер · Ожидание: нет · Библиотека: prison.release

Сигнатура
ReleasePlayer(source: number): boolean
Lua
local released = exports['ai-core']:ReleasePlayer(target)

Параметры

Prop

Type

Возвращает

boolean: true, когда тюремный скрипт освободил игрока. false, когда тюремный скрипт его не освободил (например, он не был в тюрьме), source не число или ни один тюремный скрипт не работает.

Пример

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

Сколько игроку ещё осталось сидеть.

Сторона: сервер · Ожидание: нет · Библиотека: prison.timeLeft

Сигнатура
GetJailTime(source: number): number
Lua
local minutes = exports['ai-core']:GetJailTime(source)

Параметры

Prop

Type

Возвращает

number: оставшиеся минуты. 0, когда игрок не в тюрьме, source не число или ни один тюремный скрипт не работает.

Пример

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

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

// Заключённые не могут пользоваться телефонной будкой.
onClientCallback("myscript:phoneBooth", (source) =>
  core.GetJailTime(source) > 0 ? fail("IN_PRISON") : { ok: true },
);

На этой странице