Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


What to do with pointers and offsets for X, Y, Z (MMO GAME)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
clerythecleric
How do I cheat?
Reputation: 0

Joined: 15 May 2018
Posts: 3

PostPosted: Tue May 15, 2018 12:07 pm    Post subject: What to do with pointers and offsets for X, Y, Z (MMO GAME) Reply with quote

Hi,

First time posting here. Small bit of background on me;

My names Anthony, I originally got into coding about 8 years ago where i started using Autoit. Since then I have gone onto to use Python and now I mainly code in C#. I have developed local applications for work and home both in Autoit and C# for various purposes. I have created bots for various games using Pixel detection and easy methods alike. I have used memory addresses before for example to track experience ona pixel bot.

I have now decided to code a new bot in C#. I don't really know where to begin as although I've used C# for a good just over a year now, I havn't done anything with it like this. So I have chosen a MMORPG game called Xenimus, I chose this game as its slightly older and so i imagine a bit easier. Also it has been hacked before so i have access to various offsets (I Presume them to be offsets they are represented by bit code 0x0).

So I have used cheat engine and gained the X Y Z pointers and offsets of the game. I followed a trainer tutorial on youtube that went quite in deph and so I now have a class that I can use to read and open a process, pass it through bitconverter to get the base client.exe address + pointer+offset.
Though i'm not sure what to do with it now? i can read the values of the X Y Z but how do I go about simulating a click within the game based on these co-ordinates. Would I need to use reflection/injection, I don't really know much about these other than what little I could find on the internet specially pertaining to botting. Can anyone point me in the right direction, or even paid tutors that teach that sort of thing. Thank you.
Back to top
View user's profile Send private message
ParkourPenguin
Grandmaster Cheater Supreme
Reputation: 63

Joined: 06 Jul 2014
Posts: 1941
Location: Arcadian Suburbia

PostPosted: Tue May 15, 2018 4:24 pm    Post subject: Reply with quote

Look in the Windows API Index (i.e. this section). SendInput is the official way of doing it, but the keybd_event and mouse_event functions usually work too.
_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
clerythecleric
How do I cheat?
Reputation: 0

Joined: 15 May 2018
Posts: 3

PostPosted: Tue May 15, 2018 6:56 pm    Post subject: Reply with quote

Thanks for the info, Its 2AM so i'm about to go bed so will look at this in the morning. Would the SendInput send for example mouse clicks relative to the in-game coordinates? I've been looking up how to handle packets for the past week. I feel like i've learnt alot but still clueless as to how to actually start writing some C# code.

I've wrote a small script that simply returns some values using memory address pointers and offsets, all works fine. If the SendInput will send relative to in-game coorindates then my next goal will be to track Items/Mobs around me, Unsure how I go about doing that yet. Though if it doesn't send relative to co-ordinates i'm not sure how i'll use it exactly?
Back to top
View user's profile Send private message
ParkourPenguin
Grandmaster Cheater Supreme
Reputation: 63

Joined: 06 Jul 2014
Posts: 1941
Location: Arcadian Suburbia

PostPosted: Tue May 15, 2018 9:34 pm    Post subject: Reply with quote

According to Microsoft's documentation for SendInput (more specifically the MOUSEINPUT structure), it uses normalized absolute coordinates. So no, it won't work by just plugging in the values you see.

Mapping world coordinates to some other coordinate system involves a sequence of transformations. Namely, a world-view matrix, a projection matrix, then some linear transformation to get it into whatever 2d coordinate system you want. You'll need the coordinates of the target, camera, and window, as well as the size of the window and other information for the projection matrix (e.g. FoV). If the target can be occluded, you'd also need to take that into account. I highly recommend you learn about how 3d graphics work before attempting any of this.

There's probably a better way of doing whatever it is you're trying to do.
If you want to target a mob to attack it, search for a corresponding value. It might be as simple as writing a value to an address and you'll start attacking the specified mob.
Ultimap might help if you have the right hardware; however, you'd need knowledge of x86 / x86-64 assembly to take advantage of it.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
clerythecleric
How do I cheat?
Reputation: 0

Joined: 15 May 2018
Posts: 3

PostPosted: Wed May 16, 2018 3:44 am    Post subject: Reply with quote

Ok, The logic makes sense. I don't have any experience with that though. The game itself is a top-down static looking RPG? So I don't think targeting mobs will have its own address, as unlike WoW. You don't really target them in the same manner, YOu just click and start swinging. Though I'll look into this and check anyway. Again for camera aangle, the camera is static.

I'm also looking to learn new things, Before posting I had a look at ultimap... So this is used to gather functions being ran in the assembly? Even if i were to get these, I wouldn't know how to utilise them? As I would then have to inject a library into the process and start a thread to run the functions from there? or for monitoring packets? And decipher those as they come in? Annoyingly that sounds simple in pseudo code and perhaps if I knew any C++ IT WOULD BE lol... Though from what I've read, there is very little actual code on the internet for injecting a C# projcet into a process, i Don't even know if its possible. I know you can create injectors in C# but not so much the .DLL? Though correct me if i'm wrong.

I actually have source code to a project that does more or less what i'm after though its in C++. It has the packet structure, the sendPacket address, EncryptPacket addresss, DecrpyPacketAddress (though I can get these from ollydbg anyway) but again.. I wouldn't know how to do the same thing in C# as this other project is a compiled DLL that you would inject into the process.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites