Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kod Cube negatif değer kontrol

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
2,690
Tepkime puanı
4,078
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut

Cube Sistemi​

Eski MAXMI tabanlı dosyalarda zaman zaman cube.txt içerisinde yanlışlıkla negatif bir gold (yang) değeri girilmesi veya yapılandırma hataları, karakterlerin yang kazanmasına neden olabiliyor.
Bu hatanın önüne geçmek için aşağıdaki düzenlemeyi uygulamanız yeterlidir.

Hata Kaynağı​

cube.txt dosyasındaki bir item tarifi için negatif gold değeri verilmişse, oyuncular üretim yaparken sistem onlardan yang almak yerine yang verir. Bu durum, özellikle özel sunucularda ciddi suistimallere yol açabilir.

Çözüm Adımları​

Bul:
Kod:
bool Cube_make(LPCHARACTER ch)

Fonksiyon içerisinde şu satırı arayın:

Kod:
if (ch->GetGold() < cube_proto->gold)

Bu satırı aşağıdaki kod ile değiştirin:
Kod:
#define WJ_ENABLE_CUBE_GOLD_CHECK
#ifdef WJ_ENABLE_CUBE_GOLD_CHECK
    int cube_gold = cube_proto->gold;
    if (cube_gold < 0 || ch->GetGold() < cube_gold)
#else
    if (ch->GetGold() < cube_proto->gold)
#endif

Açıklama​

  • cube_gold < 0 kontrolü sayesinde negatif gold girilmiş tariflerin sistem tarafından geçersiz sayılması sağlanır.
  • Bu kontrol, oyuncuların hatalı tarifler nedeniyle haksız yang kazanmalarını engeller.
Öneri: cube.txt düzenlerken her zaman pozitif ve mantıklı değerler kullanın. Ayrıca test sunucusunda tarifleri denemek, bu tür hataların canlı sunucuya yansımasını önler.
 
Premium Forum Banner

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar