View previous topic :: View next topic |
Author |
Message |
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 6:53 am Post subject: What would I have to use? |
|
|
What would I have to use too do this..
Change value to X
Change value to Y
Change Value to Z
wait 15 seconds...
change value to
ect..
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 138
Joined: 06 Jul 2014 Posts: 4275
|
Posted: Sun Feb 07, 2016 12:14 pm Post subject: |
|
|
Lua.
Are the X,Y,Z values stored in different addresses?
Is there any time between changing those values?
Does it repeat after that 15 seconds?
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Feb 07, 2016 12:55 pm Post subject: |
|
|
create a CPU access cycle timer.
Code: |
alloc(Cycle_Timer,8)
registersymbol(Cycle_Timer)
Cpu_Timer:
cmp [Cycle_Timer],1500 // This value is your time based on many times the cpu access's this code.
jge Execute_Custom_Code:
add [Cycle_Timer],1
jmp originalcode
Execute_Custom_Code:
mov [Cycle_Timer],0
Do all you map teleporting here
jmp originalcode
|
You can estimate how many cpu cycles is 15 seconds. Also this way if you have frame drops or slow downs in gameplay the time will always be the same according to the game engine vs lua which always be 15 seconds
_________________
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Feb 07, 2016 1:07 pm Post subject: |
|
|
Alternatively, if your scripting skills are limited and you're just looking to write a bot of some sort, you may be better off just setting up hotkeys for all of your key locations and using a macro to execute them on a timer. In this case, you can accomplish everything without any coding.
Otherwise, as already suggested, you can use LUA or integrate a timer using assembly.
|
|
Back to top |
|
|
mgostIH Expert Cheater Reputation: 3
Joined: 01 Jan 2016 Posts: 159
|
Posted: Sun Feb 07, 2016 3:09 pm Post subject: |
|
|
akumakuja28 wrote: | create a CPU access cycle timer.
Code: |
alloc(Cycle_Timer,8)
registersymbol(Cycle_Timer)
Cpu_Timer:
cmp [Cycle_Timer],1500 // This value is your time based on many times the cpu access's this code.
jge Execute_Custom_Code:
add [Cycle_Timer],1
jmp originalcode
Execute_Custom_Code:
mov [Cycle_Timer],0
Do all you map teleporting here
jmp originalcode
|
You can estimate how many cpu cycles is 15 seconds. Also this way if you have frame drops or slow downs in gameplay the time will always be the same according to the game engine vs lua which always be 15 seconds |
Yeah, because using the Sleep function from kernel32.dll, which is loaded in every application is too mainstream?
Cheat Engine will also automatically find it, so in asm x86, the code would be:
Code: |
timer:
push 15000 // Amount of milliseconds
call Sleep
call MyFunc
jmp timer
MyFunc:
//Do whatever you need to do
ret |
Also, another thing that makes this code better is the fact that, the Sleep function lets the CPU to pause the thread currently running for the amount of time.
So, it's much more optimized, as it lets other threads take the priority.
And of course it's not speedhack dependant.
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Feb 07, 2016 5:00 pm Post subject: |
|
|
I dont think him calling sleep is this best option. I honestly think methos was right about the hotkeys. Depending on how versed he is programming logic hes got plenty of choices.
|
|
Back to top |
|
|
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 6:50 pm Post subject: |
|
|
ParkourPenguin wrote: | Lua.
Are the X,Y,Z values stored in different addresses?
Is there any time between changing those values?
Does it repeat after that 15 seconds? |
Yes sir they are
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 138
Joined: 06 Jul 2014 Posts: 4275
|
Posted: Sun Feb 07, 2016 7:13 pm Post subject: |
|
|
Make a timer whose interval is 15000 (15000ms = 15s) and assign a function to the timer's OnTimer property that writes values to addresses via writeInteger, writeFloat, writeDouble, etc.
Code: | t = createTimer(nil)
t.Interval = 15000
t.OnTimer = function(timer)
writeInteger(0x00401234, 5)
writeFloat(0x14723CDC, 2.5)
writeDouble(0x0263ABD8, 3.777)
end |
To turn it off, set the Enabled property to false or destroy the timer by calling its destroy() function. Destroying it will clean up the memory but you can't enable it again.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 7:47 pm Post subject: |
|
|
ParkourPenguin wrote: | Make a timer whose interval is 15000 (15000ms = 15s) and assign a function to the timer's OnTimer property that writes values to addresses via writeInteger, writeFloat, writeDouble, etc.
Code: | t = createTimer(nil)
t.Interval = 15000
t.OnTimer = function(timer)
writeInteger(0x00401234, 5)
writeFloat(0x14723CDC, 2.5)
writeDouble(0x0263ABD8, 3.777)
end |
To turn it off, set the Enabled property to false or destroy the timer by calling its destroy() function. Destroying it will clean up the memory but you can't enable it again. |
What if its a pointer?
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 138
Joined: 06 Jul 2014 Posts: 4275
|
Posted: Sun Feb 07, 2016 7:54 pm Post subject: |
|
|
Code: | writeInteger('[[["game.exe"+1B3]+0C]+12]+3F',1234) |
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 7:58 pm Post subject: |
|
|
ParkourPenguin wrote: | Code: | writeInteger('[[["game.exe"+1B3]+0C]+12]+3F',1234) |
|
Sorr, I'm pretty new to this, I've been looking up tutorials for code injection, I can't find any that us 'mov' all the ones I see use inc or dec
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 138
Joined: 06 Jul 2014 Posts: 4275
|
Posted: Sun Feb 07, 2016 8:03 pm Post subject: |
|
|
You should instead look up a tutorial of the x86 assembly language.
Very basic overview w/ some small errors:
http://forum.cheatengine.org/viewtopic.php?t=95363
More advanced introduction to x86:
https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0
Also, that code I gave you was meant to be put into the Lua script window, but you could also embed it inside an AA script via {$lua}:
Code: | [ENABLE]
{$lua}
...
{$asm}
...
[DISABLE]
... |
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 8:07 pm Post subject: |
|
|
ParkourPenguin wrote: | You should instead look up a tutorial of the x86 assembly language.
Very basic overview w/ some small errors:
More advanced introduction to x86:
Also, that code I gave you was meant to be put into the Lua script window, but you could also embed it inside an AA script via {$lua}:
Code: | [ENABLE]
{$lua}
...
{$asm}
...
[DISABLE]
... |
|
Thanks, One more question before i go read this..
Is there away I can set a value, but no have it enabled until I checked a the box..? My 3 pointers localplayers coordinates, so if I freeze them i'll be frozen, if I change them I'll change my spot.. so is there away to set the value then check a box too make all three values go off at the same time, with the values I've chosen?
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 138
Joined: 06 Jul 2014 Posts: 4275
|
Posted: Sun Feb 07, 2016 8:15 pm Post subject: |
|
|
An easy way would be to have some hotkeys that change the values of the addresses to whatever you want. Just bind them to the same key, and all the values should be changed at the same time. Right click on an address in the address list and select "set hotkeys" to set a hotkey for it.
A harder way would be to make a form and a checkbox on the form that, when checked, it sets the values of those addresses. Tutorial on making forms here.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
Ghosting Advanced Cheater Reputation: 0
Joined: 05 Feb 2016 Posts: 54 Location: 127.0.0.1
|
Posted: Sun Feb 07, 2016 8:32 pm Post subject: |
|
|
[quote="ParkourPenguin"]An easy way would be to have some hotkeys that change the values of the addresses to whatever you want. Just bind them to the same key, and all the values should be changed at the same time. Right click on an address in the address list and select "set hotkeys" to set a hotkey for it.
A harder way would be to make a form and a checkbox on the form that, when checked, it sets the values of those addresses. Tutorial on making
Well, I would need the value to change about 150 times so form would be easiest to do that?
|
|
Back to top |
|
|
|