Dosyalar & manifest
fxmanifest.luaui_page "NUI/index.html"- CSS/JS/assets yükler
NUI/src/* shared_script "config.lua"client_script "client/*.lua"
- Ana istemci mantığı:
client/main.lua - Yapılandırma:
config.lua - NUI:
NUI/index.html,NUI/src/css/*,NUI/src/js/{config.js,index.js,events.js},NUI/src/images/micro.png
Yapılandırma (config.lua)
Config = {
DEBUG = false,
-- How to get ESX:
ESX_method = "function", -- "function" (export) or "event"
eventNameESX = "esx:getSharedObject",
extendedName = "extended", -- e.g. "es_extended" / "extended"
VERSION_ESX = "final", -- "legacy" or "final" (informational)
-- Status source (list of {name, percent}):
statusEventName = "esx_customui:updateStatus",
ACTIVED = {
JOB = true,
JOB2 = true,
MONEY = true,
BLACK_MONEY = true,
MICRO = true
}
}
Notlar
- Alternatif bir durum işareti kullanırsanız (örneğin,.
sigma_hud:onTick), istemci dinlerConfig.statusEventNameveya varsayılan olarak"sigma_hud:onTick".
İstemci olayları ve veri akışı
- Başlatma
esx:playerLoaded→ HUD, ESX oyuncu verileriyle başlatılır.- Başlatma sırasında HUD gösterilir ve NUI şunları alır:
SendNUIMessage({ type = "init", config = Config.ACTIVED })
- Durum güncellemeleri (Açlık/Susuzluk)
- Dinle
Config.statusEventName(varsayılanesx_customui:updateStatus) ve şuna benzer bir liste yayınlayın:TriggerEvent("esx_customui:updateStatus", { { name = "hunger", percent = 48.0 }, { name = "thirst", percent = 72.0 } }) - HUD, bunları iki durum çubuğuna eşler.
- Dinle
- İş / İkinci İş
esx:setJobVeesx:setJob2otomatik olarak işlenir. NUI şunları alır:SendNUIMessage({ type = "updateJob", jobs = { { label = job.label, grade = job.grade_label }, { label = job2.label, grade = job2.grade_label } }})
- Para
esx:setAccountMoneynakit ve kara parayı günceller:SendNUIMessage({ type = "updateMoney", moneys = { { label = "Liquide", value = cash.money }, { label = black.label, value = black.money } }})
- Ses (Konuşma göstergesi)
- Anketler
NetworkIsPlayerTalking(PlayerId()); mikrofon simgesini gösterir/gizler:SendNUIMessage({ type = "toogleMicro", show = true/false }) - NUI içinde yakınlık sınıflarını değiştirmeye yarayan bir yardımcı bulunur (
type = "changeMicro"), böylece isterseniz ses kaynağınıza bağlayabilirsiniz.
- Anketler
- HUD Göster/Gizle (özel)
- Herhangi bir istemci tarafından tetiklenebilir:
TriggerEvent("iHud-V2::show", true) -- show TriggerEvent("iHud-V2::show", false) -- hide
- Herhangi bir istemci tarafından tetiklenebilir:
Kurulum
- Klasörü şuraya bırakın:
resources(örneğinresources/[ui]/iHud-V2). - Kaynak emin olun:
ensure iHud-V2 - Yapılandır ESX erişim yöntemi, durum olayı adı, ve bölümleri açıp kapatın
config.lua. - Durum komut dosyanızın yaydıklarını onaylayın
{ name = "hunger"/"thirst", percent = <0-100> }diziler şunaConfig.statusEventName.
Uyumluluk ve ipuçları
- ESX geri alma
functionmod bekliyor:ESX = exports[Config.extendedName]:getSharedObject()eventmod bekliyor:TriggerEvent(Config.eventNameESX, function(obj) ESX = obj end)
- Sesli yakınlık
- HUD, kutudan çıktığı gibi konuşan bir göstergeyle birlikte gelir. Yakınlık seviyelerini (fısıltı/normal/bağırış) göstermek için, ses kaynağınız şununla bir NUI mesajı göndersin:
type="changeMicro"ve seçtiğiniz CSS sınıfı.
- HUD, kutudan çıktığı gibi konuşan bir göstergeyle birlikte gelir. Yakınlık seviyelerini (fısıltı/normal/bağırış) göstermek için, ses kaynağınız şununla bir NUI mesajı göndersin:
- Stil
- Yazı tipleri ve simgeler CDN'lerden yüklendi; UI duyarlıdır ve RP sunucuları için minimal tutulmuştur.
İsterseniz, yukarıdaki metni tam sunucu adlandırmanıza göre uyarlayabilir ve kısa bir “Sunucu Gereksinimleri / Bağımlılıklar” bloğu (örneğin, durum/ses kaynak adlarınız) ekleyebilir veya ekran görüntüleri ekleyebilirim.


