Değiştirebileceğiniz her şey iki yerdedir: davranış için config.lua ve halatın framework’ünüzle, target’ınızla ve metin arayüzünüzle nasıl konuştuğu için bridge/ klasörü. İkisi de açıktır (escrow_ignore içinde listelenir); client/client.lua ve server.lua ise şifrelidir (escrow).
| Dosya | Neyi belirler |
|---|
config.lua | Framework, eşya adı, etkileşim sistemi, etiketler, tuşlar, mesafeler, halat uzunluğu ve fiziği, marker, bekleme süresi, süre sınırı |
bridge/server_bridge.lua | Framework’ü almak, rope eşyasını kullanılabilir olarak kaydetmek, oyuncunun üzerinde olup olmadığını kontrol etmek |
bridge/client_bridge.lua | drawtext modunda çizilen 3D metin ve marker ile halatı ele alan client olayı |
bridge/target.lua | ox_target ve qb-target seçenekleri ve drawtext’e geri dönüş |
bridge/README.md | Bridge hakkında kısa notlar (İspanyolca) |
inventory/ | ox_inventory, QBCore ve ESX için hazır eşya tanımları |
stream/ | Halat prop modeli ve dokusu |
locales/ klasörü yoktur. Oyuncuların gördüğü tek metin Config.Labels içindeki etiketlerdir.
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.Framework | esx veya qbcore. QBox üzerinde qbcore kullanın — QBox, QBCore kaynaklarını uyumluluk katmanı üzerinden çalıştırır. Başka bir değer kaynağı başlangıçta durdurur | esx |
Config.Item | Halat olan envanter eşyası | rope |
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.InteractionSystem | ox_target, qb-target veya drawtext. Çalışmayan bir target, başlayana kadar drawtext’e geri döner | ox_target |
Config.Labels | Her eylemin metni: grab (Drag with rope), release (Release player), attach (Tie to vehicle), detach (Untie from vehicle) | İngilizce |
Config.KeyLabels | Drawtext modunda gösterilen tuş adları: Attach ve Vehicle | E, Y |
Config.ShowInteractionMarkers | Üzerinde işlem yapabileceğiniz oyuncunun veya aracın üstüne bir marker çizer. Yalnızca drawtext modunda | true |
Her eylemin yaptığı şey:
| Eylem | Kim yapabilir | Ne olur |
|---|
| Drag with rope | Siz, halat elinizdeyken, yaya bir oyuncunun yanında | O oyuncu elinize bağlanır |
| Release player | Sürükleyen kişi | Halat çıkarılır ve oyuncu ayağa kalkar |
| Tie to vehicle | Sürükleyen kişi, bir aracın yanında | Halat elinizden aracın arkasına geçer |
| Untie from vehicle | Bağlayan kişi | Halat tekrar elinize gelir, oyuncu hâlâ bağlıdır |
| Release player (araç üzerinde) | Bağlayan kişi | Oyuncu araçtan serbest bırakılır |
Tuşlar FiveM kontrol numaralarıdır. Ok tuşları her modda çalışır; E ve Y yalnızca drawtext modunda önemlidir (target ile eylemi menüden seçersiniz).
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.AttachKey | Bir oyuncuyu yakalar veya bırakır | 38 (E) |
Config.AttachToVehicleKey | Bir araca bağlar veya araçtan çözer | 246 (Y) |
Config.AdjustLengthUpKey | Halatı uzatmak için basılı tutun | 172 (Yukarı Ok) |
Config.AdjustLengthDownKey | Halatı kısaltmak için basılı tutun | 173 (Aşağı Ok) |
AttachKey veya AttachToVehicleKey değerini değiştirirseniz Config.KeyLabels değerini de değiştirin, yoksa istem eski tuşu gösterir.
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.MaxDetectionDistance | Bir oyuncunun yakalanabilmesi için ne kadar yakın (m) olması gerektiği. Oyuncular için target mesafesi de budur | 2.0 |
Config.MaxVehicleAttachDistance | Halatı bağlamak için aracın ne kadar yakın (m) olması gerektiği. Araçlar için target mesafesi de budur | 5.0 |
Config.MarkerVisibilityDistance | Hâlâ config.lua içindedir ancak mevcut sürüm tarafından okunmaz — istem, yukarıdaki iki mesafenin içindeki herkese gösterilir | 20.0 |
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.InitialRopeLength | Sürükleme başladığında uzunluk (m) | 3.0 |
Config.MinRopeLength | Ok tuşlarıyla ulaşılabilecek en kısa uzunluk | 1.0 |
Config.MaxRopeLength | Ok tuşlarıyla ulaşılabilecek en uzun uzunluk | 100.0 |
Config.RopeType | Oyunun halat türü | 1 |
Config.RopeSlack | Hâlâ config.lua içindedir ancak mevcut sürüm tarafından okunmaz — halatın esnekliği uzunluğundan gelir | 0.5 |
Config.RopePropModel | Oyuncunun elindeki prop. Varsayılan olan stream/ klasöründen yüklenir | prop_stag_do_rope |
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.MarkerType | Oyunun marker türü | 2 |
Config.MarkerHeightOffset | İstemin ve marker’ın oyuncunun ne kadar yukarısında (m) durduğu | 1.0 |
Config.MarkerScale | Marker boyutu | 0.3 |
Config.MarkerColor | Marker rengi; kırmızı, yeşil, mavi ve alfa olarak | kırmızı, alfa 150 |
| Seçenek | Ne işe yarar | Varsayılan |
|---|
Config.DragCooldown | İki halat eylemi arasındaki milisaniye | 1000 |
Config.DisableControls | Sürüklenen oyuncunun tüm kontrollerini engeller. Kapalıyken ragdoll durumdayken kontrollerini kullanmaya devam edebilir | true |
Config.EnableMaxDragTime | Halat, MaxDragTime sonunda kendiliğinden kopar | false |
Config.MaxDragTime | Yukarıdaki seçenek açıkken halat kopmadan önceki saniye | 100 |
Config.NeedItemToRelease | Yayayken bırakmak için halatın elde olması gerekir. Sahibi, bir araca bağlı birini her zaman serbest bırakabilir | true |
Sürüklenen oyuncu ragdoll durumundadır, ateş edemez ve halat çıkana kadar ölümsüzdür.
Dil dosyası (locale) yoktur. Config.Labels içindeki dört metni çevirin; oyuncularınız farklı bir tuş adlandırması kullanıyorsa Config.KeyLabels değerini de çevirin.
bridge/ klasörü, halatı tanımadığı bir kuruluma uydurabilmeniz için açıktır. Halat fiziği ve ağ olayları şifreli dosyalarda kalır ve değiştirilmesi gerekmez.
server_bridge.lua — framework ve envanter. ESX veya QBCore’u alır, Config.Item değerini kullanılabilir bir eşya olarak kaydeder ve bir sürükleme başladığında “bu oyuncuda halat var mı?” sorusunu yanıtlar. Özel bir framework veya kendi API’si olan bir envanter için Bridge.GetPlayer, Bridge.HasRope ve Bridge.RegisterRopeItem fonksiyonlarını yeniden yazın. Eşyayı yalnızca tek bir yerde kaydedin — aynı eşyayı kaydeden iki entegrasyon iki kez tetiklenir.
client_bridge.lua — metin ve marker. Bridge.DrawText ve Bridge.DrawMarker, drawtext istemini görünür olduğu her karede çizer. Kendi 3D metninizi veya TextUI kaynağınızı kullanmak için bunları değiştirin. Ayrıca halatı çıkaran veya kaldıran mic_drag:useRope client olayını dinler — framework’ün kullanılabilir eşyalarını kullanmıyorsanız bunu özel bir envanterin kullanım callback’inden tetikleyin.
target.lua — target menüleri. ox_target ve qb-target için genel oyuncu ve araç seçeneklerini ekler ve kaldırır, target durduğunda drawtext’e geçer. Başka bir target kaynağı buraya eklenir.
| Export (client) | Döndürdüğü |
|---|
GetInteractionState | Bir tablo: mode (kullanılan etkileşim), hasRope (halat elde), targetServerId (kimi sürüklediğiniz), vehicle (halatın bağlı olduğu araç), beingDragged, busy |
Salt okunurdur: bir HUD için veya başka bir scriptin halattaki bir oyuncuya işlem yapmaması gerektiğini bilmesi için kullanışlıdır.