İçeriğe geç

Özelleştirme

Neredeyse her şey tek bir dosyada, config.lua içinde. İki bridge dosyası ve dil dosyaları da açıktır.


DosyaNeye karar verirAçık mı?
config.luaDil, para birimi, etkileşim, yerleştirme sınırı ve fiyatlarıyla birlikte her sabit makineEvet
locales/*.luaİstemler, bildirimler ve target etiketleriEvet
bridge/client_bridge.luaFramework algılama, parayı okuma, bildirimler, yardım metni ve ox-target / qb-target / drawtext bölgeleriEvet
bridge/server_bridge.luaPara veya jeton alma ve ödeme, karakter adları ve kimlikleri, bildirimler ve kullanılabilir kabin eşyalarıEvet
items/ox, qb ve ESX için eşya tanımları ve items/images/ içindeki ikonlarEvet
ui/Kabin menüsü ve yedi oyun; ui/games/ içinde her biri ayrı bir klasörEscrow’suz
client/data.luaHer kabin modeli için kamera ve ekran konumuEscrow’lu
mic_arcade_props/Kabin modelleri ve ekran renderer’ıYalnızca assetler

SeçenekNe yaparVarsayılan
Config.Localelocales/ içindeki hangi dosyanın kullanılacağı'en'
Config.PaymentTypeBir oyunun neyle ödendiği: cash, bank, both veya item'item'
Config.PaymentItemPaymentType item olduğunda para birimi olarak kullanılan eşya'arcade_coin'
Config.Interactionox-target (tire ile), qb-target veya drawtext'ox-target'
Config.MaxArcadesPerPlayerBir karakterin aynı anda dışarıda tutabileceği yerleştirilmiş makine sayısı3
DeğerNe olur
cashNakitten ödenir (ESX’te money hesabı)
bankBanka hesabından ödenir
bothÖnce nakit; yetmezse kalanı bankadan alınır
itemConfig.PaymentItem ile ödenir, fiyatın her birimi için bir eşya

DuoFight bahisleri ve kazançları için de aynı para birimi kullanılır.


Kabin modeli başına bir girdi. Her girdide bir Price ve isteğe bağlı olarak istediğiniz sayıda sabit konum (x, y, z ve yönden oluşan vec4) bulunur — her birinde bir makine oluşturulur.

KabinModelOyunFiyatHazır haliyle sabit
DuoFightmic_arcade_duofightİki oyunculu dövüş oyunu ya da bilgisayara karşı0Hayır (yorum satırı)
Alienmic_arcade_alienAlien100Hayır (yorum satırı)
Breakoutmic_arcade_brickBreakout100Hayır (yorum satırı)
Pixelmic_arcade_pixelPixel100Evet
Racemic_arcade_raceRace100Evet
Towermic_arcade_towerTower100Evet
Roadmic_arcade_roadRoad100Evet
  • Sabit bir makine eklemek için o modelin altındaki listeye bir konum ekleyin. Makinenin olmasını istediğiniz yerde durun, koordinatlarınızı ve yönünüzü alın ve yazın.
  • Birini kaldırmak için konumunu silin veya yorum satırı yapın. Price, o modelin yerleştirilmiş makineleri için geçerli olmaya devam eder.
  • 0 fiyatı kabini ücretsiz yapar.
  • Breakout kabininin orijini diğerlerinden daha aşağıdadır — hazır gelen Breakout konumu komşularından z ekseninde yaklaşık 0,7 daha aşağıdadır. Bir tane eklerken siz de aynısını yapın.

Price, o modelin yerleştirilmiş bir kabininin tahsil ettiği tutardır.


Bir kabin eşyası (arcade_alien, arcade_race…) yerleştirmeyi başlatır:

TuşNe yapar
Etrafa bakınÖnizlemeyi baktığınız yere taşır
Fare tekerleğiDöndürür
EYerleştirir ve eşyayı alır
ESC / Backspaceİptal eder; eşya sizde kalır

Yalnızca sahibi, makinenin üzerinde Pick Up Arcade seçeneğini görür (drawtext ile istemde gösterilen ikinci tuş). Geri almak eşyayı geri verir. Biri tarafından kullanılan bir makine geri alınamaz.

Config.MaxArcadesPerPlayer, bir karakterin şu anda yerleştirmiş olduğu makineleri sayar.


DuoFight’ta iki oyuncuyu seçmek bir bahis ister: para biriminizle 1, 5, 25, 50 veya 100. Ev sahibi bunu öder ve makinede bekler; makineyi kullanan sonraki oyuncuya maç teklif edilir ve katılmak için aynı tutarı öder.

SonuçNe olur
GalibiyetKazanan iki bahsi de alır
BeraberlikHer oyuncu bahsini geri alır
Bir oyuncu maçın ortasında ayrılırHükmen yenilir: diğer oyuncu iki bahsi de kazanır
Ev sahibi kimse katılmadan ayrılırMaç iptal edilir; ev sahibinin bahsi iade edilmez
Bir oyuncunun bağlantısı koparMaç ödeme yapılmadan iptal edilir

DuoFight dışındaki her oyun, her karakterin en iyi skorunu mic_arcade_leaderboard tablosuna kaydeder ve makinede ilk on’u gösterir. İsimler, framework’ünüzdeki karakter adıdır. Bir skor tablosunu sıfırlamak için sunucu kapalıyken o tabloyu (veya yalnızca bir oyunun satırlarını) boşaltın.


locales/ içinde on dil gelir: en, es, fr, de, it, pt, nl, ja, ru, zh. Config.Locale değerini koda ayarlayın.

Bir tane eklemek için locales/en.lua dosyasını kodunuzun adını taşıyan yeni bir dosyaya kopyalayın, Locales['en'] ifadesini kendi kodunuzla değiştirin, her satırın sağ tarafını çevirin ve Config.Locale değerini ayarlayın. Eksik bir anahtar Translation [xx][key] does not exist olarak görünür — İngilizceye geri dönüş (fallback) yoktur.

Dil dosyaları oyun dünyasının gösterdiklerini kapsar: target etiketleri, yardım istemleri ve bildirimler. Oyunların içindeki metin ui/games/ altındadır.


DosyaNeleri kapsar
bridge/client_bridge.luaFramework algılama, oyuncuya gösterilen para veya jeton miktarı, Bridge.Notify, yardım metni ve ox-target, qb-target ya da drawtext için her makinedeki etkileşim bölgesi
bridge/server_bridge.luaFramework algılama, para veya eşya alma ve ödeme (Bridge.RemoveMoney, Bridge.AddMoney), kabin eşyaları, karakter adı ve kimliği, sunucu bildirimleri ve kullanılabilir kabin eşyalarının listesi

Farklı bir bildirim kaynağı: istemci dosyasında Bridge.Notify, sunucu dosyasında Bridge.ServerNotify değerini değiştirin. Yetersiz para mesajları Bridge.RemoveMoney içinden gönderilir.

Farklı bir target kaynağı: istemci dosyasındaki Bridge.RegisterArcadeInteraction ve Bridge.RemoveArcadeInteraction, target’lara dokunulan tek yerlerdir.

Başka bir envanter: jetonlar ve kabin eşyaları, server_bridge.lua içinde framework’ün kendi oyuncu fonksiyonları üzerinden okunur ve silinir. Envanteriniz bunlara yanıt vermiyorsa Bridge.RemoveMoney, Bridge.AddMoney, Bridge.RemoveSpecificItem, Bridge.AddSpecificItem ve Bridge.GetMoney fonksiyonlarını kendi envanterinize yönlendirin.

Bir kabin için yeni bir kullanılabilir eşya: server_bridge.lua dosyasının en altındaki UsableArcades tablosu her eşyayı kabin modeline eşler.