İçeriğe geç

Özelleştirme

Bir görevle ilgili neredeyse her şey — kimin verdiği, ne söylediği, sonra ne olacağı — editörde oluşturulur ve veritabanınızda saklanır. Dosyalar, her görev için aynı olan birkaç şey içindir.


DosyaNeye karar verirAçık mı?
config.luaFramework, dil, oyuncuların NPC’lerle nasıl konuştuğu, diyalog rengi, /cancelquest, ekran görüntüleriEvet
bridge/bridge_server.luaPara, eşyalar, oyuncu verisi, callback’ler ve yetki kontrolüEvet
bridge/bridge_client.luaBildirimler, yardım metni, oyuncu verisi ve bir oyuncunun nasıl canlandırıldığıEvet
locales/*.luaHer metin: editör, diyalog penceresi, bildirimler, webhook loglarıEvet
install.sqlBir kez içe aktarılan sekiz tabloEvet
web/Editör, diyalog penceresi, minigame ve ilerleme çubuğu (HTML, CSS, JS)Okunabilir
client/, server/Görev motoruEscrow’lu
client/game_data/*.luaEditörün seçicilerinin arkasındaki listeler: ped’ler, araçlar, kemikler, animasyonlar, partiküller, sesler, ekran efektleriEscrow’lu

SeçenekNe işe yararVarsayılan
Config.FrameworkHangi framework ile konuşulacağı: 'esx' veya 'qbcore'. Kendiliğinden algılanmaz. QBox’ta 'qbcore' kullanın — QBox, QBCore kaynaklarını uyumluluk katmanı üzerinden çalıştırır'esx'
Config.LocaleEditörün, diyalog penceresinin ve bildirimlerin dili. Bkz. Diller'en'
Config.DebugDosyada bulunur; bu sürüm onunla fazladan hiçbir şey yazdırmaztrue
SeçenekNe işe yararVarsayılan
Config.InteractionType'ox_target', 'qb-target' veya 'drawtext' (3D metin ve bir tuş)'ox_target'
Config.InteractionDistanceBir oyuncunun bir NPC ile konuşabilmesi için ne kadar yakın (metre) olması gerektiği2.5
Config.InteractionKey'drawtext' ile ve Interact in Area node’u tarafından kullanılan kontrol. 38, E tuşudur38
Config.ThemeColorDiyalog penceresinin vurgu rengi: blue, pink, yellow, red, green, purple, orange, cyan, white veya black"purple"
SeçenekNe işe yararVarsayılan
Config.EnableCancelQuestBir oyuncunun aktif görevini bırakmasını sağlayan bir komut kaydedertrue
Config.CancelQuestCommandKomutun adı, eğik çizgi olmadan"cancelquest"

İptal etmek, oyuncunun o görev için kayıtlı ilerlemesini temizler ve görevin spawn ettiği şeyleri kaldırır.

SeçenekNe işe yararVarsayılan
Config.ScreenshotBasicSend Webhook node’unun, ekran görüntüsü kutusu işaretliyken bir ekran görüntüsü eklemesini sağlar. screenshot-basic çalışıyor olmalıdırtrue

KomutKimler kullanabilirNe işe yarar
/questcreatorACE mic_questcreator.open yetkisi olan herkesQuest & Event Creator’ı açar
/cancelquestConfig.EnableCancelQuest açıkken her oyuncuAktif görevi bırakır. Config.CancelQuestCommand ile yeniden adlandırılır

Aynı yetki, editörün kaydettiği, sildiği, içe ve dışa aktardığı her şeyi korur — kontrol yalnızca menü açılırken değil, sunucuda yapılır. Onu bir identifier’a ya da gruba bir add_ace satırıyla verin; kendi yönetici sisteminize bağlamayı tercih ederseniz kontrolün kendisi bridge/bridge_server.lua içindeki Bridge.Server.IsPlayerAllowed içinde yaşar.


locales/ içinde on üç dosya gelir: en, es, fr, de, it, pt, ru, ja, ko, zh-CN, ar, nl ve cs. Config.Locale değerini .lua olmadan dosya adına ayarlayın.

Dil eklemek:

  1. locales/en.lua dosyasını kopyalayın ve kopyayı dil kodunuzla adlandırın, örneğin locales/pl.lua.
  2. İçinde tablo adını 'en' yerine kodunuz yapın ve her satırın sağındaki metni çevirin. Soldaki anahtarlara ve %s ifadelerine dokunmayın.
  3. Dosyanızı fxmanifest.lua içindeki shared_scripts listesine, diğer locale dosyalarıyla birlikte ve config.lua dosyasının üstüne ekleyin.
  4. Config.Locale değerini kodunuz yapın, sonra refresh edin ve yeniden başlatın.

Dosyanızda eksik olan bir anahtar oyunda Translation [xx][key] does not exist olarak görünür; bu da hangi satırı eklemeniz gerektiğini tam olarak söyler.

NPC’lerin söyledikleri, görev başlıkları ve bildirim mesajları locale dosyalarında değildir — onları editöre, istediğiniz dilde yazarsınız.


Görev motoru ile sunucunuzun geri kalanı arasında iki açık dosya durur.

bridge/bridge_server.lua

FonksiyonNe için
Bridge.Server.InitializeKaynak başlarken fmLib ile ESX veya QBCore nesnesini alır
Bridge.Server.RegisterServerCallbackCallback’leri ESX veya QBCore üzerinden kaydeder
Bridge.Server.GetPlayer, GetPlayerParamsfmLib üzerinden bir oyuncu ve onun identifier’ı, adı ve mesleği
Bridge.Server.GetMoney, AddMoney, RemoveMoneyPara, fmLib üzerinden
Bridge.Server.GetItem, AddItem, RemoveItemEşyalar, fmLib üzerinden, fmLib hangi envanterle konuşuyorsa onunla
Bridge.Server.IsPlayerAllowedEditörü kimin açıp kullanabileceği. ACE mic_questcreator.open yetkisini kontrol eder

bridge/bridge_client.lua

FonksiyonNe için
Bridge.Client.ShowNotificationHer bildirim. Kendi notify kaynağınızı kullanmak için gövdesini değiştirin
Bridge.Client.ShowHelpNotificationSol üstteki yardım metni
Bridge.Client.GetPlayerData, IsPlayerLoadedOyuncu verisi; Has Job ve Is Night/Day kontrolleri tarafından kullanılır
Bridge.Client.TriggerServerCallbackCallback’ler ESX veya QBCore üzerinden
Bridge.Client.RevivePlayerÖlüm handler’ı tarafından kullanılır. ESX’te esx_ambulancejob:revive, QBCore’da hospital:client:Revive tetikler, oyuncu hâlâ ölüyse native olarak canlandırır

Başka bir ambulans scripti mi kullanıyorsunuz? Bridge.Client.RevivePlayer içindeki event’i scriptinizin dinlediği ile değiştirin. Başka bir notify kaynağı mı? Bridge.Client.ShowNotification fonksiyonunu değiştirin. Fonksiyon adlarını koruyun — motor onları adıyla çağırır.


İki istemci export’u, başka bir kaynağın quest creator’ın minigame’ini ve ilerleme çubuğunu ödünç almasına izin verir.

ExportArgümanlarNe işe yarar
StartMinigamezorluk (1–5), hız (1–5), tur sayısı, callbackLockpick tarzı minigame’i açar. Callback true veya false alır
StartProgressBarmilisaniye cinsinden süre, etiketYerleşik ilerleme çubuğunu gösterir

Bunları bir istemci scriptinden mic_questcreator üzerinde çağırın.


Editördeki Community Events, diğer sunucuların paylaştığı etkinlikleri listeler; birini içe aktarın, diğerleri gibi etkinliklerinize eklenir. Liste GitHub’dan indirilir, bu yüzden dolması için sunucunuzun dışarıya internet erişimi olması gerekir.

Export Event bir ad, bir açıklama ve bir yazar ister, sonra etkinliği kaynak klasörünün içindeki exports/ klasörüne bir JSON dosyası olarak yazar. Bu klasör kaynakla birlikte gelmez — önce mic_questcreator içinde boş bir exports klasörü oluşturun, yoksa dosya bunun yerine kaynağın kök dizinine export_<name>.json olarak düşer.