AI Core
API-ReferenzAI Core: Server-Exports

Bank

Den Bildschirm eines Bank-Skripts öffnen und den Firmenkontostand eines Jobs lesen, über das Bank-Skript, das der Server nutzt.

Die Bank-Ebene erreicht das aktive Bank-Skript: das, das die Panel-Einstellung Banking script (Bank-Skript) wählt, oder das erste, das läuft. Sie öffnet den Bildschirm dieses Skripts und meldet Firmenkontostände. Job- und Gang-Geld selbst bewegt sich immer über die Geld-Exports von ai-core (Geld und Konten), nie über ein Bank-Skript.

Wie Job- und Gang-Konten mit dem Bank-Skript zusammenhängen, hängt von der Panel-Einstellung Job and gang accounts (Job- und Gang-Konten) ab:

  • ai-core's accounts (Standard): ai-core verwahrt das Geld; das Bank-Skript zeigt denselben Kontostand, und Geld, das auf seinem Bildschirm bewegt wird, wird auch in ai-core bewegt.
  • The script's own accounts: Das Bank-Skript verwahrt das Geld; die bank-Konten von Jobs und Gangs in ai-core lesen und ändern die Konten des Skripts.

GetBankingSystem

Der Ressourcenname des Bank-Skripts, das ai-core nutzt.

Seite: Server · Wartet: nein · Lib: banking.provider()

Signature
GetBankingSystem(): string | null
Lua
local system = exports['ai-core']:GetBankingSystem() -- String oder nil

Parameter

Keine.

Rückgabe

string | null: der Ressourcenname des Bank-Skripts. null, wenn keines läuft (Job-Geld bleibt dann nur in ai-core).

Beispiel

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

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

addCommand("bankingsystem", { help: "Shows the banking script in use", restricted: true }, () => {
  console.log(core.GetBankingSystem() ?? "none");
});

OpenBank

Öffnet den Bildschirm des Bank-Skripts für einen Spieler. Nutze es an deinem eigenen Geldautomaten oder Bankschalter.

Seite: Server · Wartet: nein · Lib: banking.open

Signature
OpenBank(source: number): boolean
Lua
local opened = exports['ai-core']:OpenBank(source)

Parameter

Prop

Type

Rückgabe

boolean: true, wenn sich der Bildschirm geöffnet hat. false, wenn der Spieler keinen geladenen Charakter hat, kein Bank-Skript läuft oder sein Bildschirm nicht von einem anderen Skript aus geöffnet werden kann.

Beispiel

import { onClientCallback, resourceExport, near } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";

const core = resourceExport("ai-core");
const COUNTER = { x: 149.9, y: -1040.5, z: 29.4 };

onClientCallback("myscript:bankCounter", { guards: [near(COUNTER, 2)] }, (source) =>
  core.OpenBank(source) ? { ok: true } : fail("BANK_UNAVAILABLE"),
);

GetBankSocietyBalance

Der Firmenkontostand eines Jobs, so wie das Bank-Setup ihn zeigt: das bank-Konto des Jobs in ai-core bei ai-core's accounts, das eigene Konto des Skripts bei The script's own accounts. Nutze es für die Anzeige (ein Chefmenü); um Job-Geld zu bewegen, nutze die Geld-Exports.

Seite: Server · Wartet: nein · Lib: banking.societyBalance

Signature
GetBankSocietyBalance(job: string): number | null
Lua
local balance = exports['ai-core']:GetBankSocietyBalance('police') -- Zahl oder nil

Parameter

Prop

Type

Rückgabe

number | null: der Kontostand. null, wenn kein Bank-Skript läuft, der Job kein Konto hat (unbekannter Job, oder das Skript führt keines für ihn) oder job kein Text ist. Ohne Bank-Skript liest du das Job-Konto mit GetSharedMoney("job", job, "bank").

Beispiel

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

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

/** Der Kontostand für das Chefmenü, mit oder ohne Bank-Skript. */
export function societyBalance(job: string): number {
  return core.GetBankSocietyBalance(job) ?? core.GetSharedMoney("job", job, "bank") ?? 0;
}

Auf dieser Seite