Merhaba, Hoşgeldin!

VSRO.org, Silkroad Online, Knight Online, Metin2 ve diğer çevrimiçi oyunlar için öncü bir yardım ve geliştirme platformudur. Misyonumuz, bilgi ve deneyim sahibi bireyleri, bilgiye ihtiyaç duyanlarla bir araya getirerek, zengin bir etkileşim ortamı yaratmak ve farklı bakış açılarını birleştirmektir. Topluluğumuzda güçlü bir işbirliği ve öğrenme kültürü oluşturarak, herkesin değerli katkılarda bulunmasını sağlıyoruz.

vSRO Çözüldü 0xb070 ve 0xb071 Paketlerinin ParseDamage() Structureleri

kovboi

KGuardEDGE
.
Developer
Katılım
12 Eki 2019
Mesajlar
251
Çözümler
2
Tepkime puanı
637
Puanları
93
Konum
Antalya
Türk Lirası
0.00₺
Selam arkadaşlar.
Etrafta bir çok paylaşılmış structure mevcut ancak hiç biri tam olarak doğru değil.
0xb070 ve 0xb071 paketleri ortak bir ParseDamage() verisi içermekte. 0xb071 paketinden örnek vereceğim.

C#:
İçeriği görebilmek için Giriş yap ya da üye ol.

Ancak ne yazık ki şu paket ayrışamıyor.

C#:
İçeriği görebilmek için Giriş yap ya da üye ol.

ParseDamage() için net structure gerekiyor.

Olması gereken okuma şöyle gözüküyor
C#:
İçeriği görebilmek için Giriş yap ya da üye ol.
 
Başımı ağrıtacakları kesin 😂

O halde başlayalım. 😝

Bazı karşılaştığım hataları buradan rapor edeyim:

• Unique olmayan mobslarda pencere çıkıp, tekrar kayboluyor.
• Unique ten uzaklaşınca pencere kapanmıyor.
• Teleport olunca pencere hemen kapanmıyor.
• Unique seçili olduğu halde pencere kapanıyor, tekrar tıklayınca geri açılıyor.
• GS içerisinde Unique saldırı yapıp teleport veya DC olan karakter listeden silinir. Aynı özelliği client içinde yapmanız gerekir. Unique ile bağlantısı kesilen karakter listeden silinmiyor. Önceki hasarlarını görebiliyoruz.
• Unique tek başına kesen karakter kendi hasarını Unique ölünceye kadar göremiyor. Tek kişide olsa kendi hasarını görebilmesi gerekir.

1WLSfab.jpg
 
Oyla 0
@sarkolata bu arada partili olmadığı halde ikinci gözükenin kazandığı falan oluyormuş. Eski bir versiyonda mı yoksa halen var olan bir durum mu bu? Yani gsden alınca da hata olabiliyor mu son vuruş kaynaklı? Ya da nebileyim pet zehir falan mı ekli değil acaba.
Üst üste post gönderildiği için tek mesajda birleştirildi:

Unique olmayan mobslarda pencere çıkıp, tekrar kayboluyor.
Mob ne olursa olsun 1 den fazla saldıranı varsa sistem devreye giriyor.
Unique ten uzaklaşınca pencere kapanmıyor.
Evet bu bir problem. Client tarafından kapatmam gerek ama henüz reversingde kötüyüm. O CIFTargetWnd’nin OnClose fonksiyonunu yakalamam gerek.
Teleport olunca pencere hemen kapanmıyor.
Yine CIFTargetWnd > OnClose
Unique seçili olduğu halde pencere kapanıyor, tekrar tıklayınca geri açılıyor.
Bunu bilmiyordum. Buna bakayım.
GS içerisinde Unique saldırı yapıp teleport veya DC olan karakter listeden silinir. Aynı özelliği client içinde yapmanız gerekir. Unique ile bağlantısı kesilen karakter listeden silinmiyor. Önceki hasarlarını görebiliyoruz.
Evet bu kesinlikle çözülmesi gereken bir problem ama erteliyorum. Belki o sisteme GS üzerinden daha mantıklı bir şey geliştirebilirim diye daha fazla zaman ayırmamaya çalışıyorum “şimdilik”.
Unique tek başına kesen karakter kendi hasarını Unique ölünceye kadar göremiyor. Tek kişide olsa kendi hasarını görebilmesi gerekir.
Bu bir görüş. Benim fikrimce tek karakterin hasar görmesine gerek yok. Groupspawn parsellemek istemediğim için en az iki vuruş kontrolü ekledim. Çok daha kolay ve maliyetsiz.
 
Oyla 0
😷 ben Unique olup olmadığını kontrol edebiliyorsun diye sanıyordum...

Eh, tabiki senin algoritmanda performans ile alakalı birşey olmaz. Çünkü sadece local paketler üzerinden yazdırıyormuşşun. Spawn paketleri dışında sadece kullandığın paketlerin yine içinde gelen skillID leri ile Unique olup olmadığı anlaşılır. Başka bir çözümü yok...
 
Oyla 0
😷 ben Unique olup olmadığını kontrol edebiliyorsun diye sanıyordum...

Eh, tabiki senin algoritmanda performans ile alakalı birşey olmaz. Çünkü sadece local paketler üzerinden yazdırıyormuşşun. Spawn paketleri dışında sadece kullandığın paketlerin yine içinde gelen skillID leri ile Unique olup olmadığı anlaşılır. Başka bir çözümü yok...
Doğru. Skillden ne olduğu bulunur da kesin de değil gerek de yok. İyi böyle, maliyetsiz. Performans sorunu riski yok.

Local paket değil, yine guardda o iş.
 
Oyla 0
@kovboi hayır herhangi bir değişiklik yapmadım ilk yaptığımdan beri, ki sanmıyorum da. Zehir, pet vs. her şeyi ekliyor. Bu damage list'i 0x300C opcode'unu takip ederek bulmuştum. Unique kesen kişi duyurulmadan hemen önce referans alınıp burdan hesaplanıyor. Bu arada bu liste tüm objeler için var, normal moblar, player ve hatta structrurelar için bile var. Hatta FW DPS Meter için de bunu kullanacaktım ki sonradan fark ettim. Karakterler DC yerse veya teleport olursa vs. unique sisteminin aksine structurelara vurduğu hasar silinmiyor. Bu listede o şekilde çalışmıyor ama.
 
Oyla 0
Geri
Üst Alt