Merhabalar,
Uzun süredir sürüncemeye bıraktığım bir konu vardı. Bu konuyla ilgili internette çeşitli araştırmalar yaptıktan sonra sonunda bir sonuca ulaştım.
Bildiğiniz üzere, CTF ödüllerini değiştirmek için genellikle oyuncunun yaptığı kill veya takımın galibiyetine bağlı olarak verilen ödüller üzerinde düzenlemeler yapılıyor.
Mevcut sistemi genel olarak beğenmeme rağmen, sistem tarafından verilen itemleri doğrudan değiştirmenin bir yolunu bulamadım. Bu nedenle farklı bir çözüm arayışına girdim.
Öncelikle yapacağımız işlemlerden bahsedeyim.
Orijinal Capture the Flag Trophy bozdurma scriptini iptal edeceğiz.
Bunu yapmak için gameserver müdahelesi şart..
Kendinize ait bir gameserver dllniz var ise yapmanız gereken çok basit kodu direkt veriyorum.
eğer kendinize ait bir guardınız yok ise yani Kguard Maxiguard gibi bir guard kullanıyorsanız guard sahiplerinden rica edip bu özelliği ekletebilirsiniz yada ollydbg ile gerekli işlemi yapabilirsiniz, detaylı bir şekilde anlatmasam da kısaca ondanda bahsedeyim.
- OllyDbg programı ile SR_GameServer dosyasını açın.
- Klavyeden CTRL + G tuşlarına basın.
- Açılan pencereye aşağıdaki adresi yazın:
- Bu adrese gittikten sonra aşağıdaki komutu bulun:
- Komuttaki 0xB048F8 değerini 0xB048F9 olarak değiştirin.
mov dword ptr ds:[esi+0x1F4], 0xB048F9
- Son olarak yaptığınız değişikliği kaydedin.
Bu işlemi tamamladıktan sonra, Event So-Ok NPC’sinde bulunan Ice Trophy kırdırma seçeneği devre dışı kalacaktır. Yöntem biraz dolaylı ve “kirli” bir çözüm olarak değerlendirilebilir; ancak sistemin genel işleyişine herhangi bir zararı bulunmamaktadır.
Bu aşamadan sonra geriye yalnızca kendi scriptimizi oluşturarak istediğimiz ödülleri tanımlamak kalıyor.
Aşağıda kullanabileceğiniz örnek LUA dosyasını paylaşıyorum:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Bu dosya için @Crusade teşekkürler.
Son olarak, LUA dosyasında da görebileceğiniz üzere ben mevcut Ice Trophy eşyasını kopyaladım ve yeni oluşturduğum eşyanın kod adının sonuna bir adet “Y” harfi ekledim:
ITEM_ETC_E080723_ICETROPHYY<br>
Siz de orijinal Ice Trophy eşyasını doğrudan kullanmak yerine, bu eşyanın bir kopyasını oluşturarak farklı bir kod adı tanımlamalısınız.
Tüm bu işlemleri tamamladıktan sonra, kullandığınız guard sistemlerinde bulunan CTF ödül düzenleme bölümüne yeni oluşturduğunuz Ice Trophy eşyasını eklemeyi unutmayın.
Anlatım çok detaylı olmasa da, edit hakkında az çok bilgi sahibi olan kişiler için faydalı olacağını düşünüyorum.
Saygılarımla,
GM Purple
