What's another way of maphack than using str8inyou's exe? Any tutorial would be greatly appreciated.
Got it..thanks!Quote:
it's really easy :o
First, search for the ID of whatever map you're in. For example, Drag town ID is 1, Snake town ID is 6, Tiger town ID is 11, Sky town is 140 and so on...
Next, change the map and search again for the new map's ID, and keep doing that till you have only few options left, the address of it would be one of it :o
if you have any questions about it, let me know, i can go in more detail or even help you out, pm me your skype.
Well thing is, I have little to no knowledge of C++ so i can't play around with DLL compilation at all. I was hoping that some will be able to make a DLL with autopill that works and doesn't give DC for mayn as exe files are detected. Autopill and buff talisman hack...Quote:
find and call game function to say
I want to change to zone X
Call it to goto that zone.
There will be a function that is executed when you step on a zone change portal or use an npc or item etc.
Find that.
Maybe find Zone ID
Find what writes to it.
Look at the function in IDA Pro or select function in Cheat Engine if your good at working out calling convention and arguments etc from pure assembly.
I prefer to just let IDA do it for me.
Make a typedef in your dll code for this function.
Call it as needed, should probably call it from the games own thread to be thread safe :).
In your tutorial you didn't go over autopill I believe. I am always keen to learn new things but honestly speaking with my busy schedule, I haven't even been able to play that's why I need autopill and learning c++ can take months. I have the address, just need someone to compile DLL :PQuote:
Obtain knowledge by doing :).
Info on how to make dll is already in another topic I made.
[Only registered and activated users can see links. Click Here To Register...]
You can probably learn what you need to know in C++ by watching some youtube videos or some C++ tutorials like on learncpp.com.
And otherwise googling :D.
Megabyte, Thank you very much for the detailed walkthrough but i only understood like 2% of it. I have done things in visual basic but nothing in detail with C++Quote:
Auto pill was already a feature of the game.
It just needed to be enabled by finding the value for it to enable it on.
There is also a value to give it time.
Then set the values from 5 to 10 so that it can goto 100% instead of 50% use.
Don't open a DLL for re-editing unless you want to reverse engineer it, try a dissasembler/debugger with ida pro, ollydbg, cheat engine etc.
Lets say you have auto pill address to enable/disable and the two addresses after it are integers for the HP and Chi %.
Without modification to code min is 0 and max is 5 for the % values to use a pill under.
You could write this code like this. Where you put the address where the 0xXXXXXXXX is.
int* AutoPill = 0xXXXXXXXX; // Put auto pill address here.
int* AutoPillHP = 0xXXXXXXXX;
int* AutoPillCHI = 0xXXXXXXXX;
Later in your code your could do this to set it.
*AutoPill = 1;
*AutoPillHP = 5;
*AutoPillChi = 3;
Or you could do it like this
struct AutoPill {
int Enabled;
int HP;
int Chi;
};
AutoPill* autopill = 0xXXXXXXXX;
And later in your code.
autopill->Enabled = 1;
autopill->HP = 5;
Look at declaring/accessing a pointer.
[Only registered and activated users can see links. Click Here To Register...]
When assigning to the value/thing the * in front re-references the pointer so you can write a value at the address it stores.
Like if you had a dll made and injected you might do this in a loop.
// Toggle the AutoPill
if (GetAsyncKeyState(VK_F2) != 0) {
Sleep(300); // Sleep so as to not trigger many many times.
autopill->Enabled = !autopill->Enabled; // The ! is the not operator essentially it flips the bits to their opposite. or you could check and do 1 or 0 i can't remember if this requires boolean type or not...
}
// Set value of HP when holding F3 and pressing num keys :D.
if (GetAsyncKeyState(VK_F3) != 0) {
Sleep(300);
if (GetAsyncKeyState(VK_NUM0) != 0) {
autopill->HP = 0;
} else if (GetAsyncKeyState(VK_NUM1) != 0) {
autopill->HP = 1; // 10%
} // etc for each one :).
}