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).
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
| Eksport | Co | Lib |
|---|---|---|
GetPlayerData(): AiPlayerData | null | Dane lokalnego gracza: postać, pieniądze, prace, służba, praca, gangi, aktywny gang, metadane. | getPlayerData, onPlayerData |
IsPlayerLoaded(): boolean | Czy postać jest wczytana. | |
IsDead(): boolean | Lokalny gracz jest powalony w działającym skrypcie śmierci. | medical.isDead |
GetDefinitions(file: "jobs" | "gangs"): Record<string, unknown> | null | Definicje prac lub gangów tak, jak trzyma je plik panelu. |
local data = exports['ai-core']:GetPlayerData()
if data and data.duty == 'police' then
-- on duty
endHUD
| Eksport | Co | Lib |
|---|---|---|
HideHud(reason: string): void | Ukrywa każdy HUD, dopóki trwa jakikolwiek powód (powody zatrzymanego zasobu znikają razem z nim). | hud.hide |
ShowHud(reason: string): void | Usuwa powód. | hud.show |
IsHudVisible(): boolean | Czy HUD-y są teraz widoczne. | hud.visible |
OpenHudSettings(): boolean | Otwiera własne ustawienia działającego HUD-a; false, gdy ich nie ma. | |
HasHudSettings(): boolean | Czy działający HUD ma ustawienia. |
core.HideHud("photo-mode");
// ...
core.ShowHud("photo-mode");exports['ai-core']:HideHud('photo-mode')
exports['ai-core']:ShowHud('photo-mode')Klawisze i podpowiedzi klawiszy
| Eksport | Co | Lib |
|---|---|---|
GetKeybindKey(name: string): string | null | Klawisz, z którym zarejestrowano Keybind liba; null do czasu rejestracji. | Keybind.currentKey |
ShowKeyHint(id: string, hint: KeyHintRequest): void | Pokazuje podpowiedź klawisza (label, keybind?, key?, icon?) do ukrycia. | keyHints.show |
HideKeyHint(id: string): void | Ukrywa ją. | keyHints.hide |
GetKeyHints(): KeyHintView[] | Podpowiedzi, które HUD-y teraz pokazują (id, key, label, icon?). | |
OpenKeyboard(): void | Otwiera ekran klawiszy: każdy klawisz z akcją. |
exports['ai-core']:ShowKeyHint('noclip_speed', { label = 'Speed', key = 'SHIFT', icon = 'gauge' })Synchronizacja pogody i czasu
| Eksport | Co | Lib |
|---|---|---|
PauseWorldSync(reason: string): void | Wstrzymuje synchronizację pogody i czasu, dopóki trwa jakikolwiek powód (wnętrza, sceny). | world.pauseSync |
ResumeWorldSync(reason: string): void | Usuwa powód. | world.resumeSync |
IsWorldSyncPaused(): boolean | Czy synchronizacja jest teraz wstrzymana. |
Przedmioty
| Eksport | Co | Lib |
|---|---|---|
OpenInventory(): void | Otwiera własny ekran ekwipunku gracza. | inventory.openInventory |
HasItem(item: string, count?: number): boolean | Czy gracz ma przedmiot. | inventory.hasItem |
GetCurrentWeapon(): HeldWeapon | null | Broń w ręce jako przedmiot (name, label, image?). | inventory.currentWeapon |
OpenItemPicker(requestId: number, request: ItemPickerRequest): void | Narzędzia administratora: siatka przedmiotów z wyszukiwaniem; wynik przychodzi jako MENU_EVENTS.menuResult. | itemPicker |
Menu radialne
Elementy trafiają do tego menu radialnego, które działa; ai-core usuwa je, gdy zasób, który je dodał, się zatrzyma.
| Eksport | Co | Lib |
|---|---|---|
AddRadialItem(item: RadialItem): void | Dodaje lub zastępuje element (id, label, icon?, parent?, items?, canShow?, onPressed?, keepOpen?, whileDead?). | radial.add |
RemoveRadialItem(id: string): void | Usuwa element. | radial.remove |
RefreshRadial(): void | Ponownie czyta każde canShow otwartego koła. | radial.refresh |
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
| Eksport | Co | Lib |
|---|---|---|
GetGestureProvider(): string | null | Skrypt emotek, który odpowiada za ręce w górze i wskazywanie. | gestures.provider |
IsHandsUp(): boolean | Lokalny gracz ma ręce w górze. | gestures.isHandsUp |
IsPointing(): boolean | Lokalny gracz wskazuje. | gestures.isPointing |
Wygląd
| Eksport | Co | Lib |
|---|---|---|
ApplyAppearance(ped: number, look: CharacterAppearance): boolean | Nakłada wygląd z GetCharacterAppearance na peda tego samego modelu przez aktywny skrypt ubrań. | appearance.apply |
GetPedAppearance(ped: number): CharacterAppearance | null | Wyglą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.