View previous topic :: View next topic |
Author |
Message |
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Sat Jun 09, 2018 9:27 am Post subject: [Terraria] Dissect data problem |
|
|
I have made a cheat engine thingy that find base address of player (I hope) and I use that to open up dissect data table.
Problem:
Let's say I want to change my shooting speed, once I've done it everything changes and it works as intended, then I add it to table to change it whenever and after I restart my game the value that I inserted into table appears as random numbers or 0 or ???
Question:
Does that mean that I found wrong base address, (it works perfectly with hp/mana), or is it some kind of different problem? (I tried finding offset manually, but with no success)
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Sat Jun 09, 2018 10:34 am Post subject: |
|
|
Maybe you are pointing to the "shooting speed" value in a wrong way.
If HP/Mana are working after you restart the game i suppose that the PlayerBase is fine.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Sat Jun 09, 2018 11:47 am Post subject: |
|
|
LewcowVaal wrote: | Maybe you are pointing to the "shooting speed" value in a wrong way.
If HP/Mana are working after you restart the game i suppose that the PlayerBase is fine. |
Well I'm pointing it the same way as to Health or Mana, using baseID and specific offset for it.
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Sat Jun 09, 2018 1:48 pm Post subject: |
|
|
I might try your pointer if you want.
By the way this is the wrong section
|
|
Back to top |
|
|
Meas Newbie cheater Reputation: 0
Joined: 31 Oct 2015 Posts: 18
|
Posted: Sat Jun 09, 2018 3:07 pm Post subject: |
|
|
When you restart the game the memory won't be the same so an old pointer can easily break.
I think you mean base address as in the address that points to the player's struct/class? Those addresses can/will change after a game restart.
If you want a static address you either do a few tedious pointerscans for your address until it doesn't change anymore OR manually follow the assembler and find an address relative to the player struct that is constant across restarts (basically what the pointerscan tries to do).
An easier way is to inject additional code into the game that captures the address of the player struct whenever it is written by the game. Code is often completely static (exceptions exist) so it will work across restarts.
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Sat Jun 09, 2018 4:56 pm Post subject: |
|
|
Measurity wrote: | When you restart the game the memory won't be the same so an old pointer can easily break.
I think you mean base address as in the address that points to the player's struct/class? Those addresses can/will change after a game restart.
If you want a static address you either do a few tedious pointerscans for your address until it doesn't change anymore OR manually follow the assembler and find an address relative to the player struct that is constant across restarts (basically what the pointerscan tries to do).
An easier way is to inject additional code into the game that captures the address of the player struct whenever it is written by the game. Code is often completely static (exceptions exist) so it will work across restarts. |
He is having no problem with HP and MANA by using the same player base tho, assuming he is using the correct one.
Even if it is always easier to look up for the instructions and allocate some memory to hold the address we want, having a static pointer comes handy in some situations.
By the way, some addresses in Terraria (e.g. Movement Speed / Melee Speed) are constantly overwritten by other instructions, therefore i think you should consider a script-type approach anyways.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Sun Jun 10, 2018 12:19 am Post subject: |
|
|
I'm using script, but it just doesn't work the way I want to (finding the value of damage or speed or whatever, using dissect data), I tried attaching CE table but it's too big, any ideas how to reduce the size so I can attach it?
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Sun Jun 10, 2018 1:50 am Post subject: |
|
|
Upload on an external site and put the download link here with some spaces in it.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Sun Jun 10, 2018 3:03 am Post subject: |
|
|
LewcowVaal wrote: | Upload on an external site and put the download link here with some spaces in it. |
here, should be fine: ht tp s :/ /ufi le.i o /biq9 f
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Sun Jun 10, 2018 1:22 pm Post subject: |
|
|
I tried your table 3 times and everytime the damage value either was 0 or ???.
I dissected the player base and at your offsets i can only see a value that refers to the player pointing direction.
Also you are not using your allocated playerBase with your damage value. I can only see a simple pointer with a non-static base address that obviously changes everytime you run the game.
P.S: If that is MeleeDamage, you can try [playerHPMP]+390 (float). You can't edit that tho.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Mon Jun 11, 2018 12:21 am Post subject: |
|
|
LewcowVaal wrote: | I tried your table 3 times and everytime the damage value either was 0 or ???.
I dissected the player base and at your offsets i can only see a value that refers to the player pointing direction.
Also you are not using your allocated playerBase with your damage value. I can only see a simple pointer with a non-static base address that obviously changes everytime you run the game.
P.S: If that is MeleeDamage, you can try [playerHPMP]+390 (float). You can't edit that tho. |
let me explain something. I tried doing damage same as with hp or mp but I ran into a problem.
The ones I can use are these:
ht tp s: / /im gur .c om /a /s Wp B r4u
and I can't use any of those that are in ">" thingy:
h tt ps : / /i mgu r.c om/a /ZA Kt2Tb
so I tried using pointers, but that didin't workout either
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Mon Jun 11, 2018 4:57 am Post subject: |
|
|
I can use your base and access those addresses just fine. Look:
You must use the first offset by summing and the others with the CE add offset feature, according to your script.
Everytime you use the "add offset", the pointer evaluates the address pointed. You don't want to do that with the first offset.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Thu Jun 14, 2018 12:32 am Post subject: |
|
|
LewcowVaal wrote: | I can use your base and access those addresses just fine. Look:
You must use the first offset by summing and the others with the CE add offset feature, according to your script.
Everytime you use the "add offset", the pointer evaluates the address pointed. You don't want to do that with the first offset. |
Thank you, you're literally god.
|
|
Back to top |
|
|
LewcowVaal Advanced Cheater Reputation: 0
Joined: 30 Dec 2017 Posts: 63
|
Posted: Thu Jun 14, 2018 4:55 am Post subject: |
|
|
Merhurijus wrote: | LewcowVaal wrote: | I can use your base and access those addresses just fine. Look:
You must use the first offset by summing and the others with the CE add offset feature, according to your script.
Everytime you use the "add offset", the pointer evaluates the address pointed. You don't want to do that with the first offset. |
Thank you, you're literally god. |
Thats not true! You could rep me in return if you want....
Oh and keep in mind that, as i already said, most of the addresses get constantly written by multiple instructions, so you need to write a simple script for them.
For instance: Melee attack speed, get the address, find what writes to that address, locate the last instruction that writes to that address (or either the one that writes the most of the times, but it could be any instruction), do a script that change the value in the register after the found instruction is executed.
|
|
Back to top |
|
|
Merhurijus Newbie cheater Reputation: 0
Joined: 09 Jun 2018 Posts: 17
|
Posted: Thu Jun 14, 2018 8:42 am Post subject: |
|
|
LewcowVaal wrote: | Merhurijus wrote: | LewcowVaal wrote: | I can use your base and access those addresses just fine. Look:
You must use the first offset by summing and the others with the CE add offset feature, according to your script.
Everytime you use the "add offset", the pointer evaluates the address pointed. You don't want to do that with the first offset. |
Thank you, you're literally god. |
Thats not true! You could rep me in return if you want....
Oh and keep in mind that, as i already said, most of the addresses get constantly written by multiple instructions, so you need to write a simple script for them.
For instance: Melee attack speed, get the address, find what writes to that address, locate the last instruction that writes to that address (or either the one that writes the most of the times, but it could be any instruction), do a script that change the value in the register after the found instruction is executed. |
I was going to rep you,but I still need to level up or something to rep people.
But if I will be using a script does that mean I won't be able to change it to the number I like?
And aren't I using a script to find a base address already?
|
|
Back to top |
|
|
|