AI Core
Welt und Werkzeugeai-smallresources

ai-smallresources für Entwickler

Client-Exports, das Sicherheitsgurt-Event, State Bags und Metadaten von ai-smallresources.

Um den Sicherheitsgurt oder Gesten aus deinem eigenen Skript zu lesen, nutze seatbelt.isOn() / seatbelt.onChange(fn) und gestures.isHandsUp() / gestures.isPointing() der Lib (Client; Lua aiLib.seatbelt, aiLib.gestures). Sie laufen über ai-core und funktionieren mit jedem laufenden Gurt- oder Emote-Skript. Die Exports unten sind das, was ai-core liest, solange ai-smallresources antwortet.

Alle drei Exports laufen auf dem Client, sind synchron und lesen den lokalen Spieler. GetSeatbelt ist als AiSmallResourcesClientExports in @aicore-fivem/shared typisiert; IsHandsUp und IsPointing sind nicht typisiert (nutze callExport).

TypeScript
import { resourceExport, callExport } from "@aicore-fivem/lib/client";
const small = resourceExport("ai-smallresources");

Client-Exports

GetSeatbelt

Ob der lokale Spieler einen Sicherheitsgurt trägt.

Seite: Client · Wartet: nein

Signatur
GetSeatbelt(): boolean | null
Lua
local worn = exports['ai-smallresources']:GetSeatbelt() -- true, false oder nil

Rückgabewert

true, wenn angeschnallt, false, wenn nicht. null, wenn die Funktion Seatbelt im Panel ausgeschaltet ist oder der Spieler nicht in einem Fahrzeug mit Sicherheitsgurt sitzt.

Beispiel

import { seatbelt } from "@aicore-fivem/lib/client";

// Das Gurtsymbol eines HUD: einmal lesen, dann Änderungen folgen.
let worn = seatbelt.isOn();
seatbelt.onChange((value) => {
  worn = value;
});

Lies ihn bei einer Aktion oder einem Fahrzeugwechsel, nie in jedem Frame.

IsHandsUp

Ob der lokale Spieler die Hände oben hat (die Geste X).

Seite: Client · Wartet: nein

Signatur
IsHandsUp(): boolean
Lua
local up = exports['ai-smallresources']:IsHandsUp()

Rückgabewert

true, solange die Hände oben sind, sonst false.

IsPointing

Ob der lokale Spieler zeigt (die Geste B).

Seite: Client · Wartet: nein

Signatur
IsPointing(): boolean
Lua
local pointing = exports['ai-smallresources']:IsPointing()

Rückgabewert

true, solange er zeigt, sonst false.

Events

ai-smallresources:seatbelt

Wird auf dem lokalen Client ausgelöst, wenn sich der Sicherheitsgurt ändert. Der Name ist SEATBELT_EVENT in @aicore-fivem/shared. ai-core gibt es als sein eigenes Gurt-Event weiter, auf das seatbelt.onChange der Lib hört; nutze lieber das.

Seite: Client (lokales Event)

Prop

Type

Lua
AddEventHandler('ai-smallresources:seatbelt', function(worn)
  print('seat belt', worn)
end)

Jedes andere Event von ai-smallresources ist intern (sein Client und sein Server).

State Bags und Metadaten

NameAnTypBedeutung
aiHoldSpielerstring | falseDas Nachrichten-Item, das der Spieler hält (newscam, newsmic, newsboom).
aiCarryingSpielernumberDer Spieler trägt jemanden (dessen Server-ID).
aiCarriedBySpielernumberDer Spieler wird von jemandem getragen (dessen Server-ID).
aiDivingSpielerbooleanDer Spieler trägt die Tauchausrüstung.
aiRealPlateFahrzeugstringDas echte Kennzeichen, solange ein falsches angebracht ist.
aiMooredFahrzeugbooleanDas Boot ist an einer Anlegestelle festgebunden.
diveOxygenCharakter-Metadaten (ai-core)numberVerbleibende Sekunden Luft in der Tauchflasche.
aiPlayerCount / aiMaxPlayersGlobalStatenumberSpieler online und Slots, gesetzt, solange Discord Rich Presence an ist.
// Server: das echte Kennzeichen eines Fahrzeugs, falsch oder nicht.
export function realPlate(vehicle: number): string {
  const real = Entity(vehicle).state.aiRealPlate as string | undefined;
  return real ?? GetVehicleNumberPlateText(vehicle);
}

Benutzbare Items

Über den Inventar-Layer von ai-core registriert, daher funktionieren sie mit jedem laufenden Inventar: binoculars, firework1-firework4, newscam, newsmic, newsboom, fakeplate, notepad, note (Metadaten text und description), diving_gear, diving_fill.

Auf dieser Seite