View previous topic :: View next topic |
Author |
Message |
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Thu Feb 16, 2017 12:47 pm Post subject: Teleport Coords Save / Load current pos. |
|
|
Hey there, im lost as to how i can do this, i can teleport all i want, but can't find a way to script a save/load coordinates. All i needed was 1 position. This is what i got to retrieve the coordinates.
Code: | [ENABLE]
aobscanmodule(INJECT,TheForest.exe,F3 0F 10 71 14 0F C6 C0 00 0F 29 85 10 FD FF FF 8B D6) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
globalalloc(coordsbase,4)
newmem:
code:
movss xmm6,[ecx+14]
mov [coordsbase],ecx
jmp return
INJECT:
jmp newmem
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db F3 0F 10 71 14
unregistersymbol(INJECT)
dealloc(newmem) |
Then the pointers use
coordsbase+10 for X
coordsbase+18 for Y
coordsbase+14 for Z
I did this by watching a tutorial here, but now for this save/load thing i suspect envolves much more code and i didn't see any tut.
Any help appreciated.
Thanks.
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Feb 16, 2017 1:18 pm Post subject: |
|
|
I have posted several examples that you may refer to for reference. I am not at my computer at the moment, but I can help you when I get home if you still need help at that time.
|
|
Back to top |
|
|
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Thu Feb 16, 2017 1:43 pm Post subject: |
|
|
Yes, i still would like that input.
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Feb 16, 2017 5:04 pm Post subject: |
|
|
I cannot test this and I have not thoroughly checked it. Please report back.
Important:
This script requires an injection location that is exclusive to player coordinates. This script was designed with the assumption that the coordinate base address is stored at [ecx+10]. It is preferable that the injection location is accessing coordinate values constantly (every second).
Hotkeys:
F1 - Save location slot #1
F2 - Load location slot #1
F3 - Save location slot #2
F4 - Load location slot #2
Description: |
|
Download |
Filename: |
TheForest.CT |
Filesize: |
6.85 KB |
Downloaded: |
845 Time(s) |
|
|
Back to top |
|
|
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Thu Feb 16, 2017 9:07 pm Post subject: |
|
|
Hi, thanks for this, awesome script, although there is one issue.
I just opened it to see how it works, i understand most of it, but i fail to understand how/why you chose edx register to store values, maybe i got it wrong. Is it just any register that isn't ecx and it's fine?
The other thing is: it complains about line 9:
alloc(newmem_teleport,1024,TheForest.exe)
"failure determining what TheForest.exe means."
|
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Fri Feb 17, 2017 1:45 am Post subject: |
|
|
Oh really.. what do you think "TheForest.exe" means? It should be replaced with your game executable.
|
|
Back to top |
|
|
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Fri Feb 17, 2017 2:30 am Post subject: |
|
|
Huh, yeah, but why does it complain about it? why does it need to be specified? i've got other scripts where i don't have that in similar lines:
simply
alloc(newmem,$1000)
i guess my question is why is it there, and is is essential?
|
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Fri Feb 17, 2017 2:47 am Post subject: |
|
|
Sometimes, when you have that many questions, Google is your friend
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Feb 17, 2017 6:47 am Post subject: |
|
|
careca777 wrote: | how/why you chose edx register to store values, maybe i got it wrong. Is it just any register that isn't ecx and it's fine? | -Yes; edx was arbitrarily chosen.
careca777 wrote: | The other thing is: it complains about line 9: | -Make sure that you are attached to the correct process and that your process name is TheForest.exe. If not, make the necessary adjustments. Once everything checks out, if you are still receiving the error, just remove that part from your script. Again, I could not test this myself and I did not thoroughly check it, so you will need to be able to troubleshoot these kinds of problems on your own:
Remove the red portion:
Quote: | alloc(newmem_teleport,1024,TheForest.exe)
becomes...
alloc(newmem_teleport,1024) |
Is the table working as it should??
|
|
Back to top |
|
|
SunBeam I post too much Reputation: 65
Joined: 25 Feb 2005 Posts: 4022 Location: Romania
|
Posted: Fri Feb 17, 2017 8:32 am Post subject: |
|
|
alloc( newmem, $1000 ) will allocate arbitrary memory, not inside the game's process. Normally, you want it inside the game's process.
As I said, take some time off, read a bit about those commands you use and don't know what they do and return with feedback
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Feb 17, 2017 8:58 am Post subject: |
|
|
Are you sure that allocation is placed outside of the main module?
I would assume that since the module is defined inside aobscanmodule, that defining it for alloc is unnecessary. I am just guessing, though.
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4291
|
|
Back to top |
|
|
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Sun Feb 19, 2017 1:06 pm Post subject: |
|
|
Hi there, indeed, after the process is attached there's no more warning.
But now it seems like it's not working, the pointer doesn't get the value it seems. its always with question marks like the screenshot shows.
When i press F1 through F4 nothing happens, no values appear on the pointers.
Description: |
|
Filesize: |
7.41 KB |
Viewed: |
14945 Time(s) |
|
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Feb 19, 2017 1:20 pm Post subject: |
|
|
The script appears to be working as it should, but the Address data must have been cleared.
I assume that you did not make changes to the script? If you did not, then simply activate the script and double-click on the address for each one (Save Slot #1, Load Slot #1, Save Slot #2 and Load Slot #2). Make sure that the Pointer box is checked, then paste the following address for each one, accordingly:
Save Slot #1: save_coordinates1
Load Slot #1: load_coordinates1
Save Slot #2: save_coordinates2
Load Slot #2: load_coordinates2
|
|
Back to top |
|
|
careca777 Expert Cheater Reputation: 0
Joined: 27 Jul 2013 Posts: 121
|
Posted: Sun Feb 19, 2017 6:34 pm Post subject: |
|
|
hello, i see, but what you're asking is already done, i mean, unless i didn't get it right.
The pointer address is already that and each one has the correct one.
Only the values don't come up.
BTW: there's one "error", it's just that the axis are mixed up they go like this:
coordsbase+10 for X
coordsbase+18 for Y
coordsbase+14 for Z
The only change i did was change the offset in the actual coords pointers.
Description: |
|
Filesize: |
6.47 KB |
Viewed: |
14905 Time(s) |
|
|
|
Back to top |
|
|
|