Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
merhabalar herkeze iyi günler dilerim 1 level at üzerinde vurmayı nasıl aktive edebilirim yardımcı olabilirmisiniz ?
Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
öncelikle değerli cevabınız için teşekkür ederim fakat belirttiğiniz kod satırı belirtilen dosyada bulunmamaktadır.Merhaba,
İstediğiniz özellik, oyunun temel bir mekaniği olduğu için sunucu kaynak kodları (server source) üzerinden bir düzenleme gerektirir. Eğer kaynak kodlarına erişiminiz varsa, aşağıdaki adımları izleyerek at üzerinde vuruş için gereken seviye sınırını kaldırabilirsiniz:
Adım 1: char_battle.cpp Dosyasını AçınSunucu kaynak kodlarınızın içinde, genellikle game/src veya benzeri bir dizinde bulunan char_battle.cpp dosyasını bir kod editörüyle açın. Bu dosya, karakterlerin dövüş ve beceri kullanma mekaniklerini yönetir.
Adım 2: İlgili Kodu BulunDosyanın içinde, at seviyesini kontrol eden bir kod bloğu aratın. Bu kod, sunucu dosyalarına göre küçük farklılıklar gösterebilir ama mantık olarak şuna benzer bir satır aramalısınız (CTRL+F ile aratabilirsiniz):
if (pkChar->GetHorseLevel() < 11)
veya
if (GetHorseLevel() < 11)
Bu satır, "Eğer karakterin at seviyesi 11'den küçükse, şunu yapma" anlamına gelir.
Adım 3: Kodu DüzenleyinÇözüm için yapmanız gereken tek şey, bu kontrol satırındaki 11 sayısını 1 olarak değiştirmektir.
Eski Hatalı Kod:if (pkChar->GetHorseLevel() < 11)
Olması Gereken Doğru Kod:if (pkChar->GetHorseLevel() < 1)
Bu değişikliği yaptıktan sonra dosyayı kaydedin.
Adım 4: Sunucuyu Derleyin (Compile)Bu değişikliğin aktif olması için sunucu kaynak kodlarınızı yeniden derlemeniz (compile/build) ve oluşan yeni game dosyasını sunucunuza yüklemeniz gerekmektedir. Sunucuyu yeniden başlattığınızda, artık 1. seviye at üzerinde vuruş yapılabilir olacaktır.
Umarım yardımcı olmuştur. İyi çalışmalar.
öncelikle değerli yorumunuz ve yardımınız için teşekkür ederim istediğiniz dosyalar ektedirchar cpp , battle cpp ve char_battle cpp ekle konuya daha kolay yardımcı olabilelim
Kullandığım Yapı mainline dediiğiniz gibi char.cpp deÖncelikle değerli geri bildiriminiz için teşekkürler. Kullandığınız sunucu dosyalarının farklı bir yapıda olduğu anlaşılıyor. Lütfen aşağıdaki alternatif yöntemleri deneyin:
Yöntem 1: Alternatif Anahtar Kelimelerle Arama
char_battle.cpp dosyası içinde GetHorseLevel bulunamadıysa, aynı işlevi gören farklı isimlendirilmiş kodlar olabilir. Lütfen dosya içinde (CTRL+F ile) aşağıdaki kelimeleri tek tek aratın:
- GetHorseData
- GetHorse
- IsRiding veya IsOnHorse
- HORSE_LEVEL (Büyük harflerle bir sabit olarak tanımlanmış olabilir)
- Sadece 11 sayısını aratın. Bu sizi doğrudan seviye kontrolünün yapıldığı satırlara götürebilir. Orada at ile ilgili bir kontrol olup olmadığına bakın.
Yöntem 2: Farklı Kod Bloklarını Kontrol Etme
Aşağıda, farklı sunucu dosyalarında karşılaşılan bazı kod örnekleri var. Lütfen bu bloklardan birinin kendi dosyasında olup olmadığını kontrol etsin:
Örnek A:
[CODE title="C++"]if (ch->IsOnHorse() && ch->GetHorseLevel() < 11)
{
// Hata mesajı veya vuruşu engelleme kodu
return;
}[/CODE]
Bu yapıyı bulursa, 11'i 1 yapması yeterlidir.
Örnek B:
[CODE title="C++"]if (pkChar->GetHorseData() && pkChar->GetHorseData()->dwLevel < 11)
{
// Hata mesajı veya vuruşu engelleme kodu
return;
}[/CODE]
Burada da 11'i 1 olarak değiştirmeli.
Örnek C: Bazen bu kontrol, vuruş fonksiyonunun en başında yapılır. CInputMain::Attack gibi bir fonksiyonun içinde char.cpp veya input_main.cpp dosyalarında olabilir.
Yöntem 3: Farklı Dosyaları Kontrol Etme
Eğer bu mantık char_battle.cpp içinde değilse, büyük ihtimalle aşağıdaki dosyalardan birindedir:
- char.cpp: Karakterin genel özelliklerinin ve kontrollerinin yapıldığı ana dosyalardan biridir.
- horse_manager.cpp: Özellikle atlarla ilgili tüm fonksiyonların toplandığı bir dosya olabilir. Bu dosyada Attack veya Skill ile ilgili bir kontrol arayabilir.
Eğer Hiçbiri İşe Yaramazsa: En Önemli Soru
Eğer yukarıdaki adımların hiçbiri sonuç vermezse, sorunun kökünü bulmak için arkadaşına şu soruyu sorman gerekiyor:
"Kullandığınız sunucu dosyalarının adı nedir? (Ör: Martysama, Owsap, Mainline, Fource vb.)"
Bu bilgi, sorunun tam olarak hangi dosyada ve hangi satırda olduğunu nokta atışı bulmamızı sağlar.