AI Core
Referencia de la APIAI Core: exports de servidor

Estrés y necesidades

Añade o alivia estrés y rellena el hambre y la sed a través del HUD que los guarda.

El estrés, el hambre y la sed viven en el script de HUD que los muestra. ai-core reenvía los cambios al primer HUD en marcha que guarda estrés: tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, qb-hud, ps-hud y después ai-hud. Nunca llames a los eventos o exports propios de un HUD (hud:server:GainStress, el AddNeed de ai-hud).

GetStressSystem

El nombre de recurso del HUD al que ai-core da el estrés.

Lado: Servidor · Espera: no · Lib: stress.provider()

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

Parámetros

Ninguno.

Devuelve

string | null: el nombre de recurso del HUD. null cuando no hay ningún HUD con estrés en marcha (los cambios de estrés se descartan entonces).

Ejemplo

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

Añade estrés a un jugador, o lo alivia con una cantidad negativa.

Lado: Servidor · Espera: no · Lib: stress.gain(source, amount) y stress.relieve(source, amount) (ambos reciben una cantidad positiva)

Firma
AddStress(source: number, amount: number): boolean
Lua
local ok = exports['ai-core']:AddStress(source, 5)    -- más estrés
local ok2 = exports['ai-core']:AddStress(source, -10) -- menos estrés

Parámetros

Prop

Type

Devuelve

boolean: true cuando el cambio se entregó al HUD. false cuando source o amount están fuera de rango, no hay ningún HUD con estrés en marcha o el HUD falló. El HUD limita el resultado a 0-100.

Ejemplo

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

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

// Robar una tienda estresa; fumarse un porro relaja.
export function robberyStarted(source: number): void {
  core.AddStress(source, 8);
}

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

El estrés por disparar y por conducir rápido es trabajo del propio HUD. Usa AddStress para los sucesos que conoce tu script.

RefillNeeds

Llena del todo el hambre y la sed de un jugador a través del HUD que los guarda. Úsalo después de una reanimación o una estancia en el hospital.

Lado: Servidor · Espera: no · Lib: needs.refill

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

Parámetros

Prop

Type

Devuelve

boolean: true cuando el relleno se entregó al HUD. Sin un HUD que guarde las necesidades, ai-core pone él mismo los metadatos hunger y thirst del personaje a 100 (y avisa a los HUD al estilo QB con hud:client:UpdateNeeds) y responde true. false cuando el jugador no tiene un personaje cargado o el HUD falló.

Ejemplo

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

// Una cama de hospital: reanimación, salud completa, estómago lleno.
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 };
});

En esta página