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 


Add Addresses in Bulk?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting
View previous topic :: View next topic  
Author Message
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Wed Jan 04, 2012 2:59 am    Post subject: Add Addresses in Bulk? Reply with quote

I want to add about 113 Addresses to my CE table. See this...

2031A3AC
2031A3AD
2031A3AE
2031A3AF
2031A3B0
2031A3B1

And the list goes on like that.. till 2031A41B. The difference is 1 byte as you can see and there are 113 of these. Is there a way to add them all to my table in just ONE shot? or fewer shots than 113.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Wed Jan 04, 2012 3:04 am    Post subject: Reply with quote

Execute this lua script in ce (From the main CE window press ctrl+m, followed by ctrl+l, or just ctrl+alt+l in the main ce window, but don't forget to clear it there before saving your table)
Code:

al=getAddressList()
a=0x2031a3ac
for i=1,113 do
  mr=addresslist_createMemoryRecord(al)
  memoryrecord_setAddress(mr,a)

  a=a+1
end

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Thu Jan 05, 2012 12:04 am    Post subject: Reply with quote

+Rep

Sweeet !!! May be I shud start learning Lua after all.

Ok. Small question...

The addresses show up as "Plugin Address". How do I make that.. the value of i? So that the description of the addresses is 1 to 113 accordingly?

I tried putting 'i' in memoryrecord_setAddress(i,a) . Lol...Didnt work.

Even tried memoryRecord_setName(i) and memoryRecord_setDescription(i). Dint think that would work.

EDIT: How do I Rep people? or am I not great enough yet to rep? (...post count too low?)
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Thu Jan 05, 2012 10:21 am    Post subject: Reply with quote

not sure if you found out, but after "memoryrecord_setAddress(mr,a) " set the line:
Code:

memoryrecord_setDescription(mr, i)

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Mon Nov 25, 2013 2:02 pm    Post subject: Reply with quote

This code doesn't work anymore? I tried... It adds some very different addresses.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Mon Nov 25, 2013 2:09 pm    Post subject: Reply with quote

it's a conversion bug. (the hexadecimal is converted to a decimal string when ce takes the value from lua, and since it's classified by lua as a string, ce interprets it as a string instead of a number)

Anyhow, use this to make sure it's the proper format: memoryrecord_setAddress(mr,string.format("%x", a))

(works in the old ce version as well)


Or written using the new code style:
Code:

al=getAddressList()
a=0x2031a3ac
for i=1,113 do
  mr=al.createMemoryRecord()
  mr.Address=string.format("%x", a)
  a=a+1
end

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Mon Nov 25, 2013 2:29 pm    Post subject: Reply with quote

Thanks !
Work...

Code:
al=getAddressList()
a=0x2031A787
for i=1,178 do
  mr=al.createMemoryRecord()
  mr.Address=string.format("%x", a)
  memoryrecord_setDescription(mr, i)
  a=a+22 //For adding 16
end


Never mentioned this.. But I love MLP too, bronie...
Back to top
View user's profile Send private message
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Mon Mar 17, 2014 4:27 am    Post subject: Reply with quote

Another bulk adding question. The addresses that show up when we "Check what adddress this instruction accesses" in the memory viewer. I have double click on each one to add them to the table. I cant just .. Select them all. Is there way I can add them all?

An instruction of mine access all 'army units' I click on. I need to add all those address to table. They are static. Any way to do it?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Mon Mar 17, 2014 6:27 am    Post subject: Reply with quote

Not right now. (You could do an extensive lua script that adds that, but it's probably not worth it)

Alternatively, you could setup a breakpoint with lua at that code, and then use the above code to add addresses to the list based on the register values

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
bknight2602
Grandmaster Cheater
Reputation: 0

Joined: 08 Oct 2012
Posts: 577

PostPosted: Sun Mar 23, 2014 3:55 pm    Post subject: Reply with quote

Dark Byte wrote:
it's a conversion bug. (the hexadecimal is converted to a decimal string when ce takes the value from lua, and since it's classified by lua as a string, ce interprets it as a string instead of a number)

Anyhow, use this to make sure it's the proper format: memoryrecord_setAddress(mr,string.format("%x", a))

(works in the old ce version as well)


Or written using the new code style:
Code:

al=getAddressList()
a=0x2031a3ac
for i=1,113 do
  mr=al.createMemoryRecord()
  mr.Address=string.format("%x", a)
  a=a+1
end


Poking around looking for new things to try, I added your code and came up with a table of values, but all are 4 byte types. I'm assuming that is a default you have coded into the software. How would you alter the code so that the type would be a one byte?

EDIT: Also I get Plugin Address with:
mr.Description=tostring(i)
How is this command corrected?

I tried the following command for the Type record, but didn't work:
mr.VarType=(vtByte)
The code did not have an error but all the records were still 4 byte type
Back to top
View user's profile Send private message Yahoo Messenger
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Sun Mar 23, 2014 4:40 pm    Post subject: Reply with quote

The description property doesn't work in 6.3, use the setDescription method of the memory record for that.

Also, it's Type, not VarType
Code:

al=getAddressList()
a=0x2031a3ac
for i=1,113 do
  mr=al.createMemoryRecord()
  mr.Address=string.format("%x", a)
  mr.setDescription("Bla")
  mr.Type=vtByte
  a=a+1
end

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
bknight2602
Grandmaster Cheater
Reputation: 0

Joined: 08 Oct 2012
Posts: 577

PostPosted: Sun Mar 23, 2014 4:59 pm    Post subject: Reply with quote

Ok, thanks again. I was trying the syntax listed in code.google..

Code:
al=getAddressList()
a=0x71C7811
 for i=1,3520 do
   mr=al.createMemoryRecord()
   mr.Type=vtByte--memrec.VarType:=TVariableType(lua_tointeger(L, -1))
   mr.Address=string.format("%x", a)
   mr.setDescription(i)
   a=a+1
 end
Back to top
View user's profile Send private message Yahoo Messenger
LykanthricAura
Advanced Cheater
Reputation: 0

Joined: 17 May 2010
Posts: 56
Location: India

PostPosted: Mon Jan 09, 2017 10:49 am    Post subject: Reply with quote

LykanthricAura wrote:
Another bulk adding question. The addresses that show up when we "Check what adddress this instruction accesses" in the memory viewer. I have double click on each one to add them to the table. I cant just .. Select them all. Is there way I can add them all?

An instruction of mine access all 'army units' I click on. I need to add all those address to table. They are static. Any way to do it?


You added it DarkByte! Thank You very much.
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