Стресс и потребности
Добавлять или снимать стресс и восполнять голод и жажду через тот HUD, который их хранит.
Стресс, голод и жажда живут в скрипте HUD, который их показывает. ai-core передаёт изменения первому запущенному HUD, который хранит стресс: tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, qb-hud, ps-hud, затем ai-hud. Никогда не вызывайте собственные события или экспорты HUD (hud:server:GainStress, AddNeed у ai-hud).
GetStressSystem
Имя ресурса HUD, которому ai-core передаёт стресс.
Сторона: сервер · Ожидание: нет · Библиотека: stress.provider()
GetStressSystem(): string | nulllocal system = exports['ai-core']:GetStressSystem() -- string или nilПараметры
Нет.
Возвращает
string | null: имя ресурса HUD. null, когда не работает ни один HUD со стрессом (тогда изменения стресса отбрасываются).
Пример
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("stresssystem", { help: "Shows the HUD that keeps stress", restricted: true }, () => {
console.log(core.GetStressSystem() ?? "none: stress is dropped");
});AddStress
Добавляет игроку стресс или снимает его отрицательным значением.
Сторона: сервер · Ожидание: нет · Библиотека: stress.gain(source, amount) и stress.relieve(source, amount) (обе принимают положительное значение)
AddStress(source: number, amount: number): booleanlocal ok = exports['ai-core']:AddStress(source, 5) -- больше стресса
local ok2 = exports['ai-core']:AddStress(source, -10) -- меньше стрессаПараметры
Prop
Type
Возвращает
boolean: true, когда изменение передано HUD. false, когда source или amount вне диапазона, не работает ни один HUD со стрессом или HUD дал сбой. HUD ограничивает результат диапазоном 0-100.
Пример
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
// Ограбление магазина - это стресс; косяк расслабляет.
export function robberyStarted(source: number): void {
core.AddStress(source, 8);
}
core.RegisterUsableItem("joint", (source) => {
core.AddStress(source, -15);
});Стресс от стрельбы и быстрой езды - собственная задача HUD. Используйте AddStress для событий, о которых знает ваш скрипт.
RefillNeeds
Полностью восполняет голод и жажду игрока через HUD, который их хранит. Используйте после реанимации или пребывания в больнице.
Сторона: сервер · Ожидание: нет · Библиотека: needs.refill
RefillNeeds(source: number): booleanlocal ok = exports['ai-core']:RefillNeeds(source)Параметры
Prop
Type
Возвращает
boolean: true, когда восполнение передано HUD. Без HUD, который хранит потребности, ai-core сам ставит метаданные персонажа hunger и thirst в 100 (и сообщает HUD в стиле QB через hud:client:UpdateNeeds) и отвечает true. false, когда у игрока нет загруженного персонажа или HUD дал сбой.
Пример
import { onClientCallback, resourceExport, near } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
const BED = { x: 317.8, y: -585.2, z: 43.3 };
// Больничная койка: реанимация, полное здоровье, полный желудок.
onClientCallback("myscript:hospitalBed", { guards: [near(BED, 2)], lock: true }, (source) => {
if (!core.RemoveMoney(source, "bank", 500, "hospital_bed")) return fail("NOT_ENOUGH_MONEY");
if (!core.RevivePlayer(source)) core.HealPlayer(source);
core.RefillNeeds(source);
return { ok: true };
});Счета
Отправлять счета (штрафы, оплата услуг, счета от игроков), получать список открытых счетов игрока и оплачивать их через тот скрипт счетов, который работает, или через собственные счета ai-core.
Время и погода
Читать и задавать погоду и игровое время, блэкаут и замороженное время через тот скрипт погоды, который использует сервер.