AI Core
Referência da APIAI Core: exports de servidor

Estresse e necessidades

Adicione ou alivie estresse e reponha fome e sede pelo HUD que os guarda.

Estresse, fome e sede ficam no script de HUD que os mostra. O ai-core encaminha as mudanças ao primeiro HUD que estiver rodando e que guarda estresse: tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, qb-hud, ps-hud e depois ai-hud. Nunca chame os eventos ou exports próprios de um HUD (hud:server:GainStress, o AddNeed do ai-hud).

GetStressSystem

O nome do recurso do HUD a que o ai-core dá o estresse.

Lado: Servidor · Espera: não · Lib: stress.provider()

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

Parâmetros

Nenhum.

Retorno

string | null: o nome do recurso do HUD. null quando nenhum HUD com estresse está rodando (as mudanças de estresse então são descartadas).

Exemplo

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

Adiciona estresse a um jogador, ou o alivia com uma quantia negativa.

Lado: Servidor · Espera: não · Lib: stress.gain(source, amount) e stress.relieve(source, amount) (os dois recebem uma quantia positiva)

Assinatura
AddStress(source: number, amount: number): boolean
Lua
local ok = exports['ai-core']:AddStress(source, 5)    -- mais estresse
local ok2 = exports['ai-core']:AddStress(source, -10) -- menos estresse

Parâmetros

Prop

Type

Retorno

boolean: true quando a mudança foi entregue ao HUD. false quando source ou amount está fora da faixa, nenhum HUD com estresse está rodando ou o HUD falhou. O HUD limita o resultado a 0-100.

Exemplo

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

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

// Assaltar uma loja é estressante; fumar um baseado relaxa.
export function robberyStarted(source: number): void {
  core.AddStress(source, 8);
}

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

O estresse de atirar e dirigir rápido é trabalho do próprio HUD. Use AddStress para eventos que seu script conhece.

RefillNeeds

Enche a fome e a sede de um jogador pelo HUD que as guarda. Use depois de um revive ou de uma estadia no hospital.

Lado: Servidor · Espera: não · Lib: needs.refill

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

Parâmetros

Prop

Type

Retorno

boolean: true quando a reposição foi entregue ao HUD. Sem um HUD que guarde as necessidades, o ai-core define ele mesmo a metadata hunger e thirst do personagem como 100 (e avisa os HUDs no estilo QB com hud:client:UpdateNeeds) e responde true. false quando o jogador não tem personagem carregado ou o HUD falhou.

Exemplo

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

// Uma cama de hospital: revive, vida cheia, estômago cheio.
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 };
});

Nesta página