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 


Dragon Oath - Target Health

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

Joined: 06 Dec 2009
Posts: 4

PostPosted: Wed Jan 05, 2011 1:15 am    Post subject: Dragon Oath - Target Health Reply with quote

Guys, I am ripping out my hair. I've nearly given up trying to find the target health directly.

Dragon Oath is a Korean Grind fest MMO, love em or leave em. In either case an attack bot sure sweetens the sour taste.

I've been successful at finding my own health/mana/rage and my pet health. These are working flawlessly. I obtained these static pointers using the manual method. Pretty solid, no problems.

Now, Target health. Created a second account and selected that character, searched for health amount. no go. I found that health is stored as a float. Tried the manual approach to the green goodness but I wound up in circles halfway to tomorrow and back. Pointer scanner to the rescue.

2 billion some-odd hits, save results. Restart Dragon Oath. Repeat finding the health float. Refine my list. Nice. A manageable size chunk of pointers. I added a few to my list, play around. All is good.

Restart. ??, Did I forget to pick the target process, nah.

Okay, try again a few times. Once I actually had the health on reboot, then the pointers failed on a subsequent reboot of the game.

All-in-all. No matter what I do, I cannot find a static pointer to this target health.

Three things I have noticed with the Target health.

1) It appears the target health(at least the float I find) is only ever used by the graphics rendering engine as a way to set the "progress bar" of the health. The game may not actually be storing the health, it may simply be retrieved from the server and passed on to the graphics renderer for the hud representation of the target.
2) Along the same token, The static pointers I always find are not in the exe but in the GUI module.
3) the <Type> equal 3.
4) All game logic appears to be in LUA
My Questions.

1) Is there special handling for type 3 cheat table entries I need to perform to ensure the pointer scan address is solid?

2) I haven't used WPE with any success on this game yet, and I am no expert. So. Outside of WPE, what other options do I have? Scope could include pixel searching if I have to go there.

3) Is it possible the LUA engine is hiding any further details about the target health thus making it so elusive to me?

I am no expert at this any advice you give me would be greatly appreciated. Smile


here are my cheat tables thus for for anyone who wishes to play. Dragon oath is a free to play MMO.


Code:
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <Description>Health</Description>
      <Address>1D33AD98</Address>
      <Type>2</Type>
      <Pointer>
        <Offsets>
          <Offset>08E8</Offset>
          <Offset>0004</Offset>
          <Offset>0154</Offset>
          <Offset>000C</Offset>
        </Offsets>
        <Address>006EC1B8</Address>
        <InterpretableAddress>006ec1b8</InterpretableAddress>
      </Pointer>
    </CheatEntry>
    <CheatEntry>
      <Description>Mana</Description>
      <Address>1CF6F8C4</Address>
      <Type>2</Type>
      <Pointer>
        <Offsets>
          <Offset>08EC</Offset>
          <Offset>0004</Offset>
          <Offset>0154</Offset>
          <Offset>000C</Offset>
        </Offsets>
        <Address>006EC1A0</Address>
        <InterpretableAddress>006ec1a0</InterpretableAddress>
      </Pointer>
    </CheatEntry>
    <CheatEntry>
      <Description>Rage</Description>
      <Address>1CF74C78</Address>
      <Type>2</Type>
      <Pointer>
        <Offsets>
          <Offset>0060</Offset>
          <Offset>0004</Offset>
          <Offset>0154</Offset>
          <Offset>0064</Offset>
        </Offsets>
        <Address>006EC1D0</Address>
        <InterpretableAddress>006ec1d0</InterpretableAddress>
      </Pointer>
    </CheatEntry>
    <CheatEntry>
      <Description>Pet</Description>
      <Address>00000000</Address>
      <Type>2</Type>
      <Pointer>
        <Offsets>
          <Offset>006C</Offset>
          <Offset>0004</Offset>
          <Offset>0004</Offset>
          <Offset>0008</Offset>
          <Offset>0120</Offset>
        </Offsets>
        <Address>006EC1A4</Address>
        <InterpretableAddress>6EC1A4</InterpretableAddress>
      </Pointer>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
[/code]
Back to top
View user's profile Send private message
zuel369
How do I cheat?
Reputation: 0

Joined: 06 Dec 2009
Posts: 4

PostPosted: Fri Jan 07, 2011 10:06 am    Post subject: Reply with quote

Okay, I did finally find the target health for a regular mobs. I found a static address pointer to an object that appears to be related the type of display frame for the target display. It seems this value is 123 when the mob is full and 0 when the mob is dead.

I further identified a byte that tells me when the mob is targeted and when it gets unselected. This is helpful when the the bot targets a mob but before he can initiate attack the mob moves out of range.

So. The bot is now working well and I don't have to worry about when I restart the app. There are a few more things I will be researching.

-Find the other target frame types. Boss mobs for example.
-A way to identify if I am being attacked by a mob. I'd like the bot to be intelligent enough to attack those mobs attacking me first. right now, since I only use tab to select mob, if they spawn on me and begin attacking, it's not guaranteed I won't go after a mob much further away. This looks bottish to me.
-Identify the cast bar or that is, when I am channeling a spell vs when I expect it to be channeling but it broke.
-Find the target mob name or ID even. I'd like to create a filter list of mobs not to attack.

Finally- If at all possible have the bot move to a safe area during rest.

Code:

<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <Description>Target Health</Description>
      <Address>005C8CCC</Address>
      <Type>3</Type>
      <Pointer>
        <Offsets>
          <Offset>001C</Offset>
          <Offset>069C</Offset>
          <Offset>02A8</Offset>
          <Offset>0060</Offset>
          <Offset>059C</Offset>
        </Offsets>
        <Address>005C8CCC</Address>
        <InterpretableAddress>Game.exe+001C8CCC</InterpretableAddress>
      </Pointer>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <Description>Targeted</Description>
      <Address>005C8CCC</Address>
      <Type>2</Type>
      <Pointer>
        <Offsets>
          <Offset>0064</Offset>
          <Offset>000C</Offset>
          <Offset>0000</Offset>
          <Offset>001C</Offset>
          <Offset>0218</Offset>
        </Offsets>
        <Address>005C8CCC</Address>
        <InterpretableAddress>Game.exe+001C8CCC</InterpretableAddress>
      </Pointer>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

    Back to top
    View user's profile Send private message
    Display posts from previous:   
    Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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