AI Core
Dokumentacja API

Eksporty klienckie ai-core

Każdy eksport kliencki ai-core - dane gracza, HUD, podpowiedzi klawiszy, synchronizacja świata, przedmioty, menu radialne, gesty, wygląd i okna dialogowe.

Typowane jako AiCoreClientExports w @aicore-fivem/shared (exports.ts).

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

Większość z nich ma funkcję w libie, której łatwiej użyć (ostatnia kolumna); zasoby Lua mają te same funkcje w aiLib.

Gracz

EksportCoLib
GetPlayerData(): AiPlayerData | nullDane lokalnego gracza: postać, pieniądze, prace, służba, praca, gangi, aktywny gang, metadane.getPlayerData, onPlayerData
IsPlayerLoaded(): booleanCzy postać jest wczytana.
IsDead(): booleanLokalny gracz jest powalony w działającym skrypcie śmierci.medical.isDead
GetDefinitions(file: "jobs" | "gangs"): Record<string, unknown> | nullDefinicje prac lub gangów tak, jak trzyma je plik panelu.
Lua
local data = exports['ai-core']:GetPlayerData()
if data and data.duty == 'police' then
  -- on duty
end

HUD

EksportCoLib
HideHud(reason: string): voidUkrywa każdy HUD, dopóki trwa jakikolwiek powód (powody zatrzymanego zasobu znikają razem z nim).hud.hide
ShowHud(reason: string): voidUsuwa powód.hud.show
IsHudVisible(): booleanCzy HUD-y są teraz widoczne.hud.visible
OpenHudSettings(): booleanOtwiera własne ustawienia działającego HUD-a; false, gdy ich nie ma.
HasHudSettings(): booleanCzy działający HUD ma ustawienia.
TypeScript
core.HideHud("photo-mode");
// ...
core.ShowHud("photo-mode");
Lua
exports['ai-core']:HideHud('photo-mode')
exports['ai-core']:ShowHud('photo-mode')

Klawisze i podpowiedzi klawiszy

EksportCoLib
GetKeybindKey(name: string): string | nullKlawisz, z którym zarejestrowano Keybind liba; null do czasu rejestracji.Keybind.currentKey
ShowKeyHint(id: string, hint: KeyHintRequest): voidPokazuje podpowiedź klawisza (label, keybind?, key?, icon?) do ukrycia.keyHints.show
HideKeyHint(id: string): voidUkrywa ją.keyHints.hide
GetKeyHints(): KeyHintView[]Podpowiedzi, które HUD-y teraz pokazują (id, key, label, icon?).
OpenKeyboard(): voidOtwiera ekran klawiszy: każdy klawisz z akcją.
Lua
exports['ai-core']:ShowKeyHint('noclip_speed', { label = 'Speed', key = 'SHIFT', icon = 'gauge' })

Synchronizacja pogody i czasu

EksportCoLib
PauseWorldSync(reason: string): voidWstrzymuje synchronizację pogody i czasu, dopóki trwa jakikolwiek powód (wnętrza, sceny).world.pauseSync
ResumeWorldSync(reason: string): voidUsuwa powód.world.resumeSync
IsWorldSyncPaused(): booleanCzy synchronizacja jest teraz wstrzymana.

Przedmioty

EksportCoLib
OpenInventory(): voidOtwiera własny ekran ekwipunku gracza.inventory.openInventory
HasItem(item: string, count?: number): booleanCzy gracz ma przedmiot.inventory.hasItem
GetCurrentWeapon(): HeldWeapon | nullBroń w ręce jako przedmiot (name, label, image?).inventory.currentWeapon
OpenItemPicker(requestId: number, request: ItemPickerRequest): voidNarzędzia administratora: siatka przedmiotów z wyszukiwaniem; wynik przychodzi jako MENU_EVENTS.menuResult.itemPicker

Elementy trafiają do tego menu radialnego, które działa; ai-core usuwa je, gdy zasób, który je dodał, się zatrzyma.

EksportCoLib
AddRadialItem(item: RadialItem): voidDodaje lub zastępuje element (id, label, icon?, parent?, items?, canShow?, onPressed?, keepOpen?, whileDead?).radial.add
RemoveRadialItem(id: string): voidUsuwa element.radial.remove
RefreshRadial(): voidPonownie czyta każde canShow otwartego koła.radial.refresh
Lua
exports['ai-core']:AddRadialItem({
  id = 'myscript_engine', label = 'Engine', icon = 'power-off', parent = 'vehicle',
  canShow = function() return IsPedInAnyVehicle(PlayerPedId(), false) end,
  onPressed = function() ExecuteCommand('engine') end,
})

Gesty

EksportCoLib
GetGestureProvider(): string | nullSkrypt emotek, który odpowiada za ręce w górze i wskazywanie.gestures.provider
IsHandsUp(): booleanLokalny gracz ma ręce w górze.gestures.isHandsUp
IsPointing(): booleanLokalny gracz wskazuje.gestures.isPointing

Wygląd

EksportCoLib
ApplyAppearance(ped: number, look: CharacterAppearance): booleanNakłada wygląd z GetCharacterAppearance na peda tego samego modelu przez aktywny skrypt ubrań.appearance.apply
GetPedAppearance(ped: number): CharacterAppearance | nullWygląd, który ped ma teraz.appearance.read

Menu, okna wprowadzania, powiadomienia, prompty, pasek postępu i minigry należą do ai-lib, nie do ai-core: zobacz Eksporty skryptów.

Na tej stronie