• HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding

VC6 Sourcelerde Monster doğma sorununu çözmek

bigahega

Administrator
Yönetici
KoCuce.Com
Katılım
7 Mart 2012
Mesajlar
12,842
Monster öldürdükten sonra tekrar doğarken ebenezer kapanıyordu, bunun sebebi ise aiserver ve ebenezer arasındaki haberlesmede yanlış pakete ragmen okumaya calısmasıydı 🙂



orjinal halleri bile birbirine uymuyordu ilk başladıgım dönemde sanırım ikiside farklı versiyonlara ait (AIServer ve Ebenezer) pek şaşırmadım böyle bişey olmasına 😀 Üstünden pek çok geçmeme rağmen gözümden kaçmış 2 adet degismesi gereken bölüm var 🙂



Ebenezer içerisinde CAISocket.cpp -> RecvNpcInfo voidinde göreceksiniz ki paketleri okuyor, inceleyelim.



Kod:
iWeapon_1 = GetDWORD(pBuf, index);

iWeapon_2 = GetDWORD(pBuf, index);



Burada dword olarak okutmaya calıstıgı bölüm,

AIServer içerisinde CNpc.cpp -> FillNpcInfo voidinde



Kod:
SetInt(temp_send, m_iWeapon_1, index );

SetInt(temp_send, m_iWeapon_2, index );



int olarak yollanmış, bi süre sonra bu gözüme çarptı ve sorunun burda oldugunu gördüm. int i dworda cevirmeye calıstıgı icin ebenezer kapanıyordu, paket kaymaması yüzünden gözümden kaçmış olan birşey



Yani yapmamız gereken tek şey,



View hidden content is available for registered users!


Uğraşmanız için hazır kod vermiyorum, kolay gelsin.
 
paylastıgım sourcelerde ben sonradan dogmasını iptal etmistim bu yüzden dogmuyor hatada vermiyordu basına // koyulan bölümün tekrar aktiflestirilmesi gerekiyor ayrıca
 
Monster öldürdükten sonra tekrar doğarken ebenezer kapanıyordu, bunun sebebi ise aiserver ve ebenezer arasındaki haberlesmede yanlış pakete ragmen okumaya calısmasıydı 🙂



orjinal halleri bile birbirine uymuyordu ilk başladıgım dönemde sanırım ikiside farklı versiyonlara ait (AIServer ve Ebenezer) pek şaşırmadım böyle bişey olmasına 😀 Üstünden pek çok geçmeme rağmen gözümden kaçmış 2 adet degismesi gereken bölüm var 🙂



Ebenezer içerisinde CAISocket.cpp -> RecvNpcInfo voidinde göreceksiniz ki paketleri okuyor, inceleyelim.



Kod:
iWeapon_1 = GetDWORD(pBuf, index);

iWeapon_2 = GetDWORD(pBuf, index);



Burada dword olarak okutmaya calıstıgı bölüm,

AIServer içerisinde CNpc.cpp -> FillNpcInfo voidinde



Kod:
SetInt(temp_send, m_iWeapon_1, index );

SetInt(temp_send, m_iWeapon_2, index );



int olarak yollanmış, bi süre sonra bu gözüme çarptı ve sorunun burda oldugunu gördüm. int i dworda cevirmeye calıstıgı icin ebenezer kapanıyordu, paket kaymaması yüzünden gözümden kaçmış olan birşey



Yani yapmamız gereken tek şey,



View hidden content is available for registered users!


Uğraşmanız için hazır kod vermiyorum, kolay gelsin.







CNpc.cpp -> FillNpcInfo voidi bende yok 🙂

Ne Yapmam gerekiyor 🙂
 
Geri
Üst