Keybind’lar ve tuş ipuçları
Bir lib Keybind’ının kaydedildiği tuşu oku, HUD’da tuş ipuçlarını göster ve gizle, HUD’ların gösterdiği ipuçlarını oku ve tuşlar ekranını aç.
ai-core, script’lerin lib’in Keybind’ı (TypeScript) ya da aiLib.Keybind (Lua) ile kaydettiği her tuşun kaydını tutar. Admin panelinin Keybinds sekmesi bir script’in varsayılan tuşunu bu sayede değiştirebilir, HUD’lar ekranın solunda tuş ipuçlarını bu sayede listeleyebilir, tuşlar ekranı da aksiyonu olan her tuşu bu sayede gösterebilir.
Bir tuş ipucu HUD’da kısa bir satırdır: bir tuş ve ne yaptığı (E Open trunk). Keybind’lar hint seçenekleriyle bir tane bildirebilir. Bir script de ShowKeyHint ile bir süreliğine ipuçları gösterebilir, örneğin bir araç kullanımdayken kontrollerini.
GetKeybindKey
Bir lib Keybind’ının kaydedildiği tuşu döndürür: sunucu sahibinin admin panelinin Keybinds sekmesinde ayarladığı tuş, yoksa script’in kendi varsayılan tuşu. Oyuncu bunu yine de GTA’nın tuş ayarlarında değiştirmiş olabilir; gerçekten bastığı tuş için bunun yerine keybind’ındaki Keybind.currentKey’i oku.
Taraf: Client · Bekler: hayır
GetKeybindKey(name: string): string | nulllocal key = exports['ai-core']:GetKeybindKey(name) -- string ya da nilParametreler
Prop
Type
Dönüş değeri
string: büyük harfle tuş ("F5", "E") ya da varsayılan tuşu olmayan bir keybind için "". ai-core o keybind’ı cevaplayana kadar (resource’u başladıktan kısa süre sonra) ve çalışan hiçbir resource’un kaydetmediği adlar için null.
Örnek
import { Keybind, resourceExport } from "@aicore-fivem/lib/client";
import { Locale } from "common";
const core = resourceExport("ai-core");
const open = new Keybind({
name: "myscript_open",
description: Locale("KEY_OPEN"),
defaultKey: "F5",
onPressed: () => console.log("open"),
});
RegisterCommand(
"myscript_keys",
() => {
console.log(`registered with: ${core.GetKeybindKey("myscript_open") ?? "not yet"}`);
console.log(`the player presses: ${open.currentKey}`);
},
false,
);ShowKeyHint
Resource’unun bir tuş ipucunu sen gizleyene kadar HUD’ın tuş ipucu listesinde gösterir. Yalnızca bir süreliğine önemli olan tuşlar için kullan: bir aracın kontrolleri, bir mini oyun, bir kamera modu. Keybind’larının her zaman sunduğu tuşlar bunun yerine Keybind’ın hint seçeneğine aittir.
Taraf: Client · Bekler: hayır
ShowKeyHint(id: string, hint: KeyHintRequest): voidexports['ai-core']:ShowKeyHint(id, hint) -- ya da aiLib.keyHints.show(id, hint)Parametreler
Prop
Type
KeyHintRequest
Ayrıca bkz. KeyHintRequest.
Prop
Type
Dönüş değeri
Hiçbir şey. Metin bir label olmayan bir ipucu ya da string olmayan bir id yok sayılır. Tuşu hiçbir şeye çözülmeyen (ne keybind ne key bir tuş vermeyen) bir ipucu tutulur ama listelenmez.
Örnek
import { keyHints } from "@aicore-fivem/lib/client";
import { Locale } from "common";
export function startCamera(): void {
keyHints.show("camera_zoom", { label: Locale("HINT_ZOOM"), key: "SCROLL", icon: "magnifying-glass" });
keyHints.show("camera_exit", { label: Locale("HINT_EXIT"), keybind: "myscript_camera" });
}
export function stopCamera(): void {
keyHints.hide("camera_zoom");
keyHints.hide("camera_exit");
}İpuçları, keybind’ların bildirdiği ipuçlarından sonra, script’lerin gösterdiği sırayla listelenir. Resource’unun ipuçları o durduğunda kaldırılır.
HideKeyHint
Resource’unun gösterdiği tek bir tuş ipucunu gizler.
Taraf: Client · Bekler: hayır
HideKeyHint(id: string): voidexports['ai-core']:HideKeyHint(id) -- ya da aiLib.keyHints.hide(id)Parametreler
Prop
Type
Dönüş değeri
Hiçbir şey.
Örnek
ShowKeyHint örneğine bak.
GetKeyHints
HUD’ların şu an göstermesi gereken tuş ipucu satırlarını döndürür: keybind’ların oyuncunun durumu için bildirdiği ipuçları (yaya ya da araçta, sunucu sahibinin panelde ayarladığı gibi) artı script’lerin gösterdiği ipuçları. Bir HUD bunu açılışta bir kez okur ve sonra her değişiklikten sonra aynı listeyi taşıyan ai-core:client:keyHints client event’ini izler.
Taraf: Client · Bekler: hayır
GetKeyHints(): KeyHintView[]local hints = exports['ai-core']:GetKeyHints() -- { id, key, label, icon? } dizisiParametreler
Yok.
Dönüş değeri
KeyHintView[], gösterim sırasıyla. Hiçbir ipucu geçerli değilse boş dizi.
Prop
Type
Örnek
import { resourceExport } from "@aicore-fivem/lib/client";
import { KEY_HINTS, type KeyHintView } from "@aicore-fivem/shared";
const core = resourceExport("ai-core");
// Özel bir HUD’ın tuş ipucu listesi.
function draw(hints: KeyHintView[]): void {
SendNUIMessage({ action: "keyHints", data: hints });
}
draw(core.GetKeyHints());
on(KEY_HINTS.changedEvent, draw);OpenKeyboard
ai-core’un tuşlar ekranını açar: aksiyonu olan her tuşun renklendirildiği, altında her tuşun ne yaptığının yazdığı bir klavye. Tuşlar oyuncunun şu an atadığı haliyle gösterilir. Radyal menünün Keys girişi onu açar; her script açabilir. Açıkken HUD’lar gizlenir.
Taraf: Client · Bekler: hayır
OpenKeyboard(): voidexports['ai-core']:OpenKeyboard()Parametreler
Yok.
Dönüş değeri
Hiçbir şey. Ekran zaten açıkken çağırmak hiçbir şey yapmaz. Oyuncu onu ekranda kapatır.
Örnek
import { resourceExport } from "@aicore-fivem/lib/client";
const core = resourceExport("ai-core");
RegisterCommand("keys", () => core.OpenKeyboard(), false);HUD
Tam ekran arayüzün açıkken her HUD’ı gizle ve göster, HUD’ların görünüp görünmediğini oku ve çalışan HUD’ın kendi ayarlarını aç.
Hava ve saat senkronu
Script’in kendi havasını ve saatini ayarlarken (bir iç mekan, bir sahne) sunucunun hava ve saat senkronunu tek bir oyuncunun oyununda duraklat, devam ettir ve duraklatılıp duraklatılmadığını oku.