guide: debug pwi, find function addresses and offsets, write a bot(c++ code included)
Discussion on guide: debug pwi, find function addresses and offsets, write a bot(c++ code included) within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.
Sorry guys, this is probably stupid but just for testing purposes I've tried to use these structures to display simple char info. But I just don't understand how am I supposed to use:
Code:
p_base0->p_base1->localplayer->dwHP
when I have:
Code:
base : 0x00a5bfcc
playerstruct base offset: 0x20
player HP: 0x474
So if p_base0 is 0x00a5bfcc, p_base1 points to what?
Aren't I supposed to get p_base0 + 0x20 == localplayer?
Again, thx Interest. I haven't messed with the packet sending thingy yet cause I wanted to get some simple stuff from memory first. Well, I've tried packets and crashed the client so still needs some work on that. Keep you posted.
Can anyone help me on the right track?
Just started with PWI, ( first time i'm touching this game) and i followed this tutorial the guy posted, i updated the PlayerOBJ struct manually lol, barely changed.
Ayway, this is what I have but i get a compiler error, I don't know too much about __thiscall, except that the "this" pointer is moved into ecx.
Anyone care to help me with this void* and pointer to pointer thingy I'm a little lost here.
Code:
typedef struct __tagWORLDOBJLISTENTRY // check GetObjByIdFromObjList *** up to date ***
{
__tagWORLDOBJLISTENTRY *next; // 0x00
void *p_obj; // 0x04 pointer to OBJ (player, mob/npc/pet, item/resource)
DWORD dwId; // 0x08
} WORLDOBJLISTENTRY, *LPWORLDOBJLISTENTRY;
typedef struct __tagWORLDOBJLISTHEADER // check GetObjByIdFromObjList *** up to date ***
{
char uk0[0x14]; // 0x00
DWORD dwObjects; // 0x14 number of (valid) list entries (they are scattered over the entire list); invalid list entries == 0
WORLDOBJLISTENTRY **p_listentry; // 0x18 pointer to sequential list of WORLDOBJLISTENTRYs
void *lpEndOfList; // 0x1c either end of list or pointer to another structure
DWORD dwListEntries; // 0x20 the size of the list in number of entries
DWORD dwIdEntryConversion; // 0x24 Id / dwIdEntryConversion = List Entry to start
} WORLDOBJLISTHEADER, *LPWORLDOBJLISTHEADER;
So since p_listentry is a pointer to pointer, it points to what void* p_obj points to. But I just can't seem to use:
MOBLISTHEADER()->p_listentry->p_obj because I have to initialize the p_listentry first and then the p_obj. I gives me an error of type: error C2227: left of '->dwLevel' must point to class/struct/union/generic type when I test with offset 0x124 for mob level. Plus I have offset 0x50 and not 0x18 to get the moblist.
BTW localplayer works fine for me. It's really nice to have no ReadMemory.
Wow, a big thx morpheus. I just need to solve this pointer actually. Well, wanna get the bot to attack, loot. Then I'll work on other functions. I'll take a look and see how you solve my problem. Credits goes to you m8.
I see your hooking endscene with a vtable hook. Nice. I used Azorbix D3Dstarterkit so I detour the whole CreateDevice so I have access to all member functions. But it's a bit too much code for a simple drawn menu.
Good job m8!
Thanks
Although I'm still curious about the void* thing and pointer to pointer (**p_listentry).
Wow, a big thx morpheus. I just need to solve this pointer actually. Well, wanna get the bot to attack, loot. Then I'll work on other functions. I'll take a look and see how you solve my problem. Credits goes to you m8.
I see your hooking endscene with a vtable hook. Nice. I used Azorbix D3Dstarterkit so I detour the whole CreateDevice so I have access to all member functions. But it's a bit too much code for a simple drawn menu.
Good job m8!
Thanks
Although I'm still curious about the void* thing and pointer to pointer (**p_listentry).
You could see it as an array of pointers.
**p_listentry == *p_listentry[]
Thx morph. Might endup doing like you with my structures cause I just can't seem to make it work. But I liked the idea of a void* that can be casted as mobobj, itemobj or playerobj.
From what I understand of pointers to pointers is that if I assign p_listentry to p_obj, then p_listentry points to what p_obj points to. But then how the hell am I supposed to initialize and use MOBLISTHEADER()->p_listentry->p_obj
hey if I use this guide to make one for heroes of threekingdoms which owned by perfect word also, does it work? I just want to make simple bot like pressing tab then hotkeys after monster die then hotkey to loot, then over and over
Anyone tried find addresses for a.... 08/21/2009 - 12Sky2 - 2 Replies hey for now we have speed hack taken from phurba, atack speed hack phurba as well, but did anyone tried to take atack damage from dmg weapon ? and def from def weapon ?.
As well did anyone tried to hack the time from buffs like let say max is 180 second and did anyone try change it to 999 second ?
Cant find addresses 07/24/2009 - Grand Chase - 9 Replies Hey im new here and im trying to get the 1 hit kill hack to work on MLE 1348 but for some reason when i scan 16256 in practice mode no addresses appear on the side.
Any1 have a solution to this problem?
Why my UCE cannot find the addresses? 06/02/2009 - Grand Chase Philippines - 5 Replies This is how the problem goes.
One scenario: I have tried following the procedures on how to do the damage hack.
And so in practice mode. I have tried using MK Ronan and scan the value 16256 in exact value on 4 bytes.
The time I scan it, I see 3 addresses and one of those 3 has the exact value of what I input.
the second one, I casted Holy Bless. And find the value of 16281.
The next scan doesn't prompted any address.
So I thought the first address I scan from 16256 is the one.
I rescan...
Warrock Addresses/Offsets 10/20/2008 - WarRock - 11 Replies Scope: B76DC6
Fast Ammo: B76DD0
Fast Health: B76DD4
Fast Repair: B76DD8
Fast Flag: B76DDC
Crosshair: B76DF4
Circles: FFFFFFFF
Boxes: 0
Nospread: B76E1C
Nearfog: B91E64