AI Core
Dokumentacja APILib: klient

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)

Sygnatura
new Keybind(options: KeybindOptions)
Lua
local key = aiLib.Keybind.new(options)

Parametry

Prop

Type

KeybindOptions

Prop

Type

Typ podpowiedzi to KeyHintWhen.

Składowe

Prop

Type

Przykład

resource/client/index.ts
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.

Na tej stronie