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 


Debugging and Hotkeys Questions

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting
View previous topic :: View next topic  
Author Message
Filipe_Br
Master Cheater
Reputation: 3

Joined: 07 Jan 2016
Posts: 272
Location: My house

PostPosted: Sun Jun 26, 2016 9:49 am    Post subject: Debugging and Hotkeys Questions Reply with quote

I'm using this script to jump hack for a game.

result = AOBScan("F3 0F 7E 51 20 F2 0F 59 D0 F2 0F 58 CA 66 0F D6 48 20 8B 43 58 85 C0")

address = getAddress(stringlist_getString(result,0))

debug_setBreakpoint(address)
debug_continueFromBreakpoint(co_run)

function jump()
writeDouble(addressJump,4000)
end

function debugger_onBreakpoint()
addressJump = ECX + 0x20
return 1
end

createHotkey(jump,VK_V)

The breakpoint will find the addresses of all players, so sometimes my player jumps sometimes not.

My questions:
1 - How can I specify which addresses this breakpoint I want to change?
2 - How can I change them all at once? so would not vary which player jumps.
3 - with this Hotkey value only changes for 4000, how can I make a Hotkey that when preciono changes the value to 4000, and when I release the key switch to 0?
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jun 26, 2016 10:24 am    Post subject: Reply with quote

Quote:
2 - How can I change them all at once? so would not vary which player jumps.

Quote:
addresses of all players

Is it multiplayer game? If yes, then goodbye http://forum.cheatengine.org/faq.php#0


If not (local co-op or something similar), you can try this one:
Code:
function playersJumpAddressTrackerInit()
  if playersJumpAddressTrackerInitialized then return end

  local result = AOBScan("F3 0F 7E 51 20 F2 0F 59 D0 F2 0F 58 CA 66 0F D6 48 20 8B 43 58 85 C0")
  local address=0

  if result~=nil and result.Count > 0 then
    address = result[0]
  else
    print('aob signature not found')
    return
  end

  playersJumpAddressTrackerInitialized=true

  listWithAddresses = createStringlist()
  listWithAddresses.Duplicates=dupIgnore  -- ignore duplicates


  function debugger_onBreakpoint()
    listWithAddresses.insert(0,ECX + 0x20)  -- add address
    while listWithAddresses.Count>8 do listWithAddresses.delete(8) end  -- keep last eight addresses
    debug_continueFromBreakpoint(co_run)
    return 1
  end

  debug_setBreakpoint(address)

end


function jump()
  if listWithAddresses==nil then return end
  for i=0,listWithAddresses.Count do
    writeDouble( tonumber(listWithAddresses[i]), 4000 )
  end
end

playersJumpAddressTrackerInit()

if jumphotkey~=nil then jumphotkey.destroy(); jumphotkey=nil end
jumphotkey=createHotkey(jump,VK_V)

_________________
Back to top
View user's profile Send private message MSN Messenger
Filipe_Br
Master Cheater
Reputation: 3

Joined: 07 Jan 2016
Posts: 272
Location: My house

PostPosted: Sun Jun 26, 2016 12:12 pm    Post subject: Reply with quote

mgr.inz.Player wrote:
Quote:
2 - How can I change them all at once? so would not vary which player jumps.

Quote:
addresses of all players



If not (local co-op or something similar), you can try this one:
Code:
function playersJumpAddressTrackerInit()
  if playersJumpAddressTrackerInitialized then return end

  local result = AOBScan("F3 0F 7E 51 20 F2 0F 59 D0 F2 0F 58 CA 66 0F D6 48 20 8B 43 58 85 C0")
  local address=0

  if result~=nil and result.Count > 0 then
    address = result[0]
  else
    print('aob signature not found')
    return
  end

  playersJumpAddressTrackerInitialized=true

  listWithAddresses = createStringlist()
  listWithAddresses.Duplicates=dupIgnore  -- ignore duplicates


  function debugger_onBreakpoint()
    listWithAddresses.insert(0,ECX + 0x20)  -- add address
    while listWithAddresses.Count>8 do listWithAddresses.delete(8) end  -- keep last eight addresses
    debug_continueFromBreakpoint(co_run)
    return 1
  end

  debug_setBreakpoint(address)

end


function jump()
  if listWithAddresses==nil then return end
  for i=0,listWithAddresses.Count do
    writeDouble( tonumber(listWithAddresses[i]), 4000 )
  end
end

playersJumpAddressTrackerInit()

if jumphotkey~=nil then jumphotkey.destroy(); jumphotkey=nil end
jumphotkey=createHotkey(jump,VK_V)


With this script all players jump, but when I press the Hotkey V appears this error "Error: List index (Cool out of bounds"

Could you show me another bad script not of this error?
And you know how to make a hotkey that works as I said?

The game is offline
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jun 26, 2016 12:48 pm    Post subject: Reply with quote

yeah, my bad

just change this line
Code:
for i=0,listWithAddresses.Count do


to this
Code:
for i=0,listWithAddresses.Count-1 do




Quote:
3 - with this Hotkey value only changes for 4000, how can I make a Hotkey that when preciono changes the value to 4000, and when I release the key switch to 0?

For this you will need timer object and isKeyPressed function.

_________________
Back to top
View user's profile Send private message MSN Messenger
Filipe_Br
Master Cheater
Reputation: 3

Joined: 07 Jan 2016
Posts: 272
Location: My house

PostPosted: Sun Jun 26, 2016 2:55 pm    Post subject: Reply with quote

mgr.inz.Player wrote:
yeah, my bad

just change this line
Code:
for i=0,listWithAddresses.Count do


to this
Code:
for i=0,listWithAddresses.Count-1 do




Quote:
3 - with this Hotkey value only changes for 4000, how can I make a Hotkey that when preciono changes the value to 4000, and when I release the key switch to 0?

For this you will need timer object and isKeyPressed function.


With your script you helped me a lot, bad you give an example script for the Hotkey.

When you're writing a script in self assemble, you can use the function of Cheat Engine "Dissect data and structures" to comparable data from several players and so just change the address of your character. I wanted to do this using only the moon to change my address JUMP, you know how to do this?
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jun 26, 2016 3:52 pm    Post subject: Reply with quote

if, for example, you found out that at [ECX+4C] you have 1 and the rest of players have 0, just use this:

Code:
function playersJumpAddressTrackerInit()
  if playersJumpAddressTrackerInitialized then return end

  local result = AOBScan("F3 0F 7E 51 20 F2 0F 59 D0 F2 0F 58 CA 66 0F D6 48 20 8B 43 58 85 C0")
  local address=0

  if result~=nil and result.Count > 0 then
    address = result[0]
  else
    print('aob signature not found')
    return
  end

  playersJumpAddressTrackerInitialized=true

  listWithAddresses = createStringlist()
  listWithAddresses.Duplicates=dupIgnore  -- ignore duplicates

  local addressesToStore=8

  function debugger_onBreakpoint()
    listWithAddresses.insert(0,ECX)  -- add address
    while listWithAddresses.Count>addressesToStore do listWithAddresses.delete(addressesToStore) end
    debug_continueFromBreakpoint(co_run)
    return 1
  end

  debug_setBreakpoint(address)

end


function jump()
  if listWithAddresses==nil then return end
  for i=0,listWithAddresses.Count do

    local address=tonumber(listWithAddresses[i])

    if readInteger( address+0x4C)==1 then
      writeDouble( address+0x20, 4000 )
    end

  end
end

playersJumpAddressTrackerInit()

if jumphotkey~=nil then jumphotkey.destroy(); jumphotkey=nil end
jumphotkey=createHotkey(jump,VK_V)

_________________
Back to top
View user's profile Send private message MSN Messenger
Filipe_Br
Master Cheater
Reputation: 3

Joined: 07 Jan 2016
Posts: 272
Location: My house

PostPosted: Mon Jul 04, 2016 10:42 am    Post subject: Reply with quote

Very good, and how can I make a hotkey with 2 functions, 1 when pressed to change the value to 2000. 2 when not pressed to change the value to 0.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Mon Jul 04, 2016 9:14 pm    Post subject: Reply with quote

Don't forget to look for yourself, you will always learn better by reading around, even if you dont find what you are looking for first.

http://forum.cheatengine.org/viewtopic.php?t=538178

PS, I didn't know how to do it, but i googled "ce lua button down" and this was the first result, which was exactly what you needed.
Back to top
View user's profile Send private message
Supernick
Newbie cheater
Reputation: 0

Joined: 04 Jul 2016
Posts: 15

PostPosted: Tue Jul 05, 2016 8:55 pm    Post subject: Reply with quote

i 'm pretty sure it's multiplayer game ... from the signature
i think i talked to u ... it's me king dark
anyway about the first thing u talking about u can give the ECX + 0x20 local value for example
local x = ECX + 0x20
all the jump values will save to x and when u change x make sure u don't break the break point ... if u didn't then all the tanks will jump with u
--------------------------------------
about ur other question u want add another hotkey ... i have to ask u why ... why u wanna add value 0 ? is't cuz the tank keep flying without stopping ?
i understand if u want create program with ur language .. u only have to send me message to my skype : cyber.cheat .. i will give u everything u need
good luck
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 Lua Scripting 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