Fethi Polat 1
Fethi Polat
Mt2Hizmet 1
Mt2Hizmet
Sevdamsın 1
Sevdamsın
Nedved35 1
Nedved35
Hikaye Ekle

Metin2 C++ Bot Harita Hakkında

  • Konuyu başlatan Konuyu başlatan Csezen
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 12
  • Görüntüleme Görüntüleme 1K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

c4us source ü çok karışık. mesela harita arka plan olayını nasıl getiriyor anlayamıyorum. çoğu şeyde öyle proje çok büyük çünkü.
void MainForm::ShowRadar() su fonksiyonun icerisinde mevcut tam olarak nasil yaptigi. global positiondan hangi mapta oldugunu belirliyor, ama sen manuel olarak map ismini vermek istersen direkt resourcemanager->getresourcepointer(string) verip texture pointer alip, GetD3DTexture ilede mapin DirectTexture ini alabiliyorsun. Benim burada yazmam olaylari daha cok karistirir sadece o fonksiyona bi bakarsan isin icinden cikarsin
 
void MainForm::ShowRadar() su fonksiyonun icerisinde mevcut tam olarak nasil yaptigi. global positiondan hangi mapta oldugunu belirliyor, ama sen manuel olarak map ismini vermek istersen direkt resourcemanager->getresourcepointer(string) verip texture pointer alip, GetD3DTexture ilede mapin DirectTexture ini alabiliyorsun. Benim burada yazmam olaylari daha cok karistirir sadece o fonksiyona bi bakarsan isin icinden cikarsin
gf de bu map fonksiyonlarının bellek adresini nasıl bulacağız
 
gf de bu map fonksiyonlarının bellek adresini nasıl bulacağız
kanka bu asagida gordugun yer metin2 client sourceundan alinti, yani en kolay sekilde bellek adreslerini bulmak istiyorsan bu fonksiyonu bulman lazim, ya string aratirsin, ya da bu fonksiyonun referanslari varsa oradan bulabilirsin. Bu stringi aratirsan: "CTerrain::LoadMiniMapTexture %d", referenced stringsde match varsa zaten direkt fonksiyonun icindesin demek, push ebp ye kadar cikarsan fonksiyonun basina (prologue) cikmis olursun. Sonra resourcemanager instance verilir sonra getresourcepointer cagirilir map ismi verip, breakpointlerle test edebilirsin. Ch atip vs. Her sey bi kenara bu asagidaki kod 10-15 yillik eski leak sourcelardan alinti ama cogu zaman eslesme yakalanir.

[CODE lang="cpp" title="Metin2 LoadMinimapTexture"]void CTerrain::LoadMiniMapTexture(const char * c_pchMiniMapFileName)
{
DWORD dwStart = ELTimer_GetMSec();
CGraphicImage * pImage = (CGraphicImage *) CResourceManager::Instance().GetResourcePointer(c_pchMiniMapFileName);
m_MiniMapGraphicImageInstance.SetImagePointer(pImage);

if (!m_MiniMapGraphicImageInstance.GetTexturePointer()->IsEmpty())
{
m_lpMiniMapTexture = m_MiniMapGraphicImageInstance.GetTexturePointer()->GetD3DTexture();
Tracef("CTerrain::LoadMiniMapTexture %d ms\n", ELTimer_GetMSec() - dwStart);
}
else
{
Tracef(" CTerrain::LoadMiniMapTexture - MiniMapTexture Error");
m_lpMiniMapTexture = NULL;
}
}
[/CODE]
 
Son düzenleme:

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

Geri
Üst