Klawisze
Keybind - klawisz, który gracz może przypisać na nowo w ustawieniach GTA, a którego domyślny klawisz właściciel serwera może zmienić w panelu administratora ai-core.
Każdy klawisz, którego słucha skrypt, to Keybind: gracz może go zmienić w ustawieniach GTA (Settings > Key Bindings > FiveM), właściciel serwera może zmienić jego domyślną wartość w panelu administratora ai-core (zakładka Keybinds [Klawisze]), a nic nie odpytuje klawiszy co klatkę.
new Keybind
Rejestruje klawisz do przypisania. Domyślny klawisz pochodzi z panelu administratora ai-core, gdy właściciel go tam ustawił, a w przeciwnym razie z defaultKey. Lib rejestruje mapowanie klawisza, gdy ai-core odpowie (jedna wymiana przy starcie); bez ai-core od razu używa defaultKey.
Strona: Klient · Czeka: nie (rejestracja kończy się w tle)
new Keybind(options: KeybindOptions)local key = aiLib.Keybind.new(options)Parametry
Prop
Type
KeybindOptions
Prop
Type
Typ podpowiedzi to KeyHintWhen.
Składowe
Prop
Type
Przykład
import { createLocale, Keybind, NuiScreen } from "@aicore-fivem/lib/client";
const Locale = createLocale<typeof import("../../locales/en.json")>();
const screen = new NuiScreen("tablet");
const openKey = new Keybind({
name: "mytablet_open",
description: Locale("KEYBIND_OPEN_TABLET"),
defaultKey: "F5",
hint: "foot",
icon: "tablet-screen-button",
hintLabel: Locale("HINT_TABLET"),
onPressed: () => {
if (screen.isOpen) return;
// Powiedz stronie, który klawisz ją znowu zamyka.
screen.open({ action: "open", data: { closeKey: openKey.currentKey } });
},
});
// Podczas skucia klawisz nic nie robi.
export const setCuffed = (cuffed: boolean): void => openKey.disable(cuffed);Komenda mapowania niesie klawisz: +<name>_<key> (+mytablet_open_F5). Gdy właściciel zmieni domyślny klawisz w panelu, nowy klawisz dostaje własne mapowanie, które otrzymuje każdy gracz, a stare przestaje działać. FiveM zachowuje stare mapowania i własne przypisanie każdego gracza na komendę, dlatego klawisz jest częścią nazwy. Inny zasób, który potrzebuje klawisza tego keybindu, pyta kliencki eksport ai-core GetKeybindKey(name).
Trzymaj name stałe: zmiana nazwy tworzy nowy keybind, a każdy gracz traci klawisz przypisany do starego. Nigdy nie twórz dwóch keybindów o tej samej nazwie, nawet w różnych zasobach.
Ekrany i sterowanie
NuiScreen, hud, keyHints i controls - twoja własna pełnoekranowa strona NUI, ukrywanie każdego HUD, linie pomocy klawiszy i wyłączone sterowanie.
Warstwy przez ai-core
medical, appearance, gestures, seatbelt, fuel, mdt, radial, world i inventory - wywołania klienta, które docierają do dowolnego skryptu śmierci, ubrań, emotek, pasów, paliwa, MDT, menu radialnego, pogody albo ekwipunku, którego używa serwer.