AI Core
Dokumentacja APIAI Core: eksporty serwerowe

Stres i potrzeby

Dodawaj lub zmniejszaj stres oraz uzupełniaj głód i pragnienie przez HUD, który je trzyma.

Stres, głód i pragnienie żyją w skrypcie HUD, który je pokazuje. ai-core przekazuje zmiany do pierwszego działającego HUD, który trzyma stres: tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, qb-hud, ps-hud, potem ai-hud. Nigdy nie wywołuj własnych zdarzeń lub eksportów HUD (hud:server:GainStress, AddNeed z ai-hud).

GetStressSystem

Nazwa zasobu HUD, któremu ai-core przekazuje stres.

Strona: Serwer · Czeka: nie · Lib: stress.provider()

Sygnatura
GetStressSystem(): string | null
Lua
local system = exports['ai-core']:GetStressSystem() -- string lub nil

Parametry

Brak.

Zwraca

string | null: nazwa zasobu HUD. null, gdy nie działa żaden HUD ze stresem (zmiany stresu są wtedy odrzucane).

Przykład

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

Dodaje graczowi stres albo zmniejsza go ujemną wartością.

Strona: Serwer · Czeka: nie · Lib: stress.gain(source, amount) i stress.relieve(source, amount) (oba przyjmują dodatnią wartość)

Sygnatura
AddStress(source: number, amount: number): boolean
Lua
local ok = exports['ai-core']:AddStress(source, 5)    -- więcej stresu
local ok2 = exports['ai-core']:AddStress(source, -10) -- mniej stresu

Parametry

Prop

Type

Zwraca

boolean: true, gdy zmiana została przekazana do HUD. false, gdy source lub amount jest poza zakresem, nie działa żaden HUD ze stresem albo HUD zawiódł. HUD ogranicza wynik do 0-100.

Przykład

import { resourceExport } from "@aicore-fivem/lib/server";

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

// Napad na sklep stresuje; skręt odpręża.
export function robberyStarted(source: number): void {
  core.AddStress(source, 8);
}

core.RegisterUsableItem("joint", (source) => {
  core.AddStress(source, -15);
});

Stres od strzelania i szybkiej jazdy to zadanie samego HUD. Używaj AddStress dla zdarzeń, o których wie twój skrypt.

RefillNeeds

Napełnia do pełna głód i pragnienie gracza przez HUD, który je trzyma. Używaj tego po reanimacji lub pobycie w szpitalu.

Strona: Serwer · Czeka: nie · Lib: needs.refill

Sygnatura
RefillNeeds(source: number): boolean
Lua
local ok = exports['ai-core']:RefillNeeds(source)

Parametry

Prop

Type

Zwraca

boolean: true, gdy uzupełnienie zostało przekazane do HUD. Bez HUD, który trzyma potrzeby, ai-core sam ustawia metadane postaci hunger i thirst na 100 (i informuje HUD w stylu QB przez hud:client:UpdateNeeds) i odpowiada true. false, gdy gracz nie ma wczytanej postaci albo HUD zawiódł.

Przykład

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

// Łóżko szpitalne: reanimacja, pełne zdrowie, pełny żołądek.
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 };
});

Na tej stronie