Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
Hikaye Ekle

Kontrol Ediliyor PlayerNEW_GetMainActorPtr Tam olarak ne oluyor?

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

problemi çözdüm, konu kapatılabilir.
 
Merhaba Daha Soruna cevap bulamadıysan anlatıyım, bazı fonksiyonlar için Mov Olarak CInstanceBase' göndermek gerekiyor, buda gönderdiğin mob veya sen olmana bağlı onun bilgisiniz (dead,type,positon) getirir buda devreye "GetMainActorPtr" devreye girer bunu gönderdiğinizde kendi karakterinizin tüm bilgilerini çekebilir charınızı yürütebilir veya ne istiyorsanız bunu göndererek çekebilirsiniz.

GetMainActorPtr = CharacterManager 'ı işlem yaparak gönderebilirsiniz.
metin2 kaynak kodunu ufak bir göz atarsanız funun fonksiyonunu kendi hilenize ekleyerek çalıştırabilirsiniz :) burda size kullandığım basit bir çarpım örneğini gösteriyim

Ekli dosyayı görüntüle 99134
 
Merhaba Daha Soruna cevap bulamadıysan anlatıyım, bazı fonksiyonlar için Mov Olarak CInstanceBase' göndermek gerekiyor, buda gönderdiğin mob veya sen olmana bağlı onun bilgisiniz (dead,type,positon) getirir buda devreye "GetMainActorPtr" devreye girer bunu gönderdiğinizde kendi karakterinizin tüm bilgilerini çekebilir charınızı yürütebilir veya ne istiyorsanız bunu göndererek çekebilirsiniz.

GetMainActorPtr = CharacterManager 'ı işlem yaparak gönderebilirsiniz.
metin2 kaynak kodunu ufak bir göz atarsanız funun fonksiyonunu kendi hilenize ekleyerek çalıştırabilirsiniz :) burda size kullandığım basit bir çarpım örneğini gösteriyim

Ekli dosyayı görüntüle 99134

Güzel fikriniz ve yardımınız için teşekkür ederim.
 
Kendi instanceını verir, bulma şekli de şöyle işliyor:
PlayerNEW_GetMainActorPtr’nin nerede kullanıldığı bul sourceda sonrasında da assemblysine bakıp bul. Assemblyde call xxxxx diye bir şey bulamama ihtimalin oldukça yüksek. Genelde call eax veya call esi şeklinde bulunuyor AbstractPlayer classı öğeleri. Gördüğün call’a debug attıktan sonra ctrl+g sonrasında ise call xxx kısmındaki xxxi yazarak ulaşabilirsin. Veya MacNN’in söylediği gibi CharacterManager’a kendi instanceını veren offsetle reinterpret cast atıp bulabilirsin.
 
Kendi instanceını verir, bulma şekli de şöyle işliyor:
PlayerNEW_GetMainActorPtr’nin nerede kullanıldığı bul sourceda sonrasında da assemblysine bakıp bul. Assemblyde call xxxxx diye bir şey bulamama ihtimalin oldukça yüksek. Genelde call eax veya call esi şeklinde bulunuyor AbstractPlayer classı öğeleri. Gördüğün call’a debug attıktan sonra ctrl+g sonrasında ise call xxx kısmındaki xxxi yazarak ulaşabilirsin. Veya MacNN’in söylediği gibi CharacterManager’a kendi instanceını veren offsetle reinterpret cast atıp bulabilirsin.

kanka bu dediğin ileri prof yani şöyle senin dediğin yol evet çok garanti ama uzun bir yol ya ben daha önceden kullandım fakat 50-100 sw olduğunda o yaptığın işlemi yapması ve ayıklaması zorlaşıyor, en kolayı charactermanager adresini charactermanageroffsetiyle toplayıp bir işleme sokmak bu direk sana şu sonucu verir

örnek Charachtermanager+characteroffset = 0x12345 veriyorsa
Getmainactorptr fonksiton çıktısıda = 0x12345 verir

yani mantıkda aynı işlemi yapar ve çökme olasılığı kalkmış olur :)
getmainactor fonksiyonunu her seferinde her server için bulmamış olursun ve işin çok kolaylaşır :D
biraz üstün körü basit anlattım ama demek istediğimi anlamışsındır
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst