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()
GetStressSystem(): string | nulllocal system = exports['ai-core']:GetStressSystem() -- string lub nilParametry
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ść)
AddStress(source: number, amount: number): booleanlocal ok = exports['ai-core']:AddStress(source, 5) -- więcej stresu
local ok2 = exports['ai-core']:AddStress(source, -10) -- mniej stresuParametry
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
RefillNeeds(source: number): booleanlocal 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 };
});