View previous topic :: View next topic |
Author |
Message |
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25291 Location: The netherlands
|
Posted: Wed Jul 20, 2011 4:44 pm Post subject: |
|
|
use the "Design the userinterface manually" option
place a label on your form where you want to show the value.
set the name property to a name (e.g :CELabel1)
Place a timer on the form (it's invisible, but you can see it in the object inspector window at the bottom of the objectlist), select it
go to events, at the onTimer event doubleclick the button with 3 dots, and the code editor will show with the function declaration written for you
now in there (after the function line and before end) place the code: (assuming your trainerform is called CETrainer, default)
Code: |
local memrec=addresslist_getMemoryRecordByDescription(getAddressList(), "The description of your cheat entry")
local value=memoryrecord_getValue(memrec)
control_setCaption(CETrainer_CELabel1, value)
|
Make sure this code is outside of any --TRAINERGENERATORSTART-- block (before or after it)
_________________
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 |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25291 Location: The netherlands
|
Posted: Wed Jul 20, 2011 7:35 pm Post subject: |
|
|
that file should have been deleted automatically. Anyhow, reinstall ce if you can not run .cetrainer files
_________________
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 |
|
|
paupav Master Cheater Reputation: 13
Joined: 15 Apr 2011 Posts: 315 Location: P. Sherman 42, Wallaby Way, Sydney
|
Posted: Thu Jul 21, 2011 11:33 am Post subject: |
|
|
doahuang wrote: |
(I know, everytime I look it up I feel dizzy) |
Same for me :)
|
|
Back to top |
|
|
toanhung1 Newbie cheater Reputation: 0
Joined: 07 Apr 2012 Posts: 11
|
Posted: Sat Apr 07, 2012 12:21 pm Post subject: |
|
|
hi dark i need some help
i try this and it work only for static address, but never show the value for the address that have pointer and it show is ??, but i try on the static address it work just fine
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25291 Location: The netherlands
|
Posted: Sat Apr 07, 2012 12:47 pm Post subject: |
|
|
Does the addres in the addresslist show the correct value ?
(remove the hidece line from the script after generating the trainer and then save as a normal .ct and run that)
_________________
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 |
|
|
toanhung1 Newbie cheater Reputation: 0
Joined: 07 Apr 2012 Posts: 11
|
Posted: Sat Apr 07, 2012 1:50 pm Post subject: |
|
|
it a normal ct, and i dont have hidece function on the script ..
NVM i got it to work ..
thank dark ^_^
Actually one more question. how can you do it for multiple address to show value? i cant seem to get more then 1 Timer.. for different address
thank you
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Sat Apr 07, 2012 11:16 pm Post subject: |
|
|
toanhung1 wrote: |
Actually one more question. how can you do it for multiple address to show value? i cant seem to get more then 1 Timer.. for different address
|
Please elaborate. I didn't understand what you are trying to say.
Do you want multiple labels to show multiple addresses?
_________________
|
|
Back to top |
|
|
toanhung1 Newbie cheater Reputation: 0
Joined: 07 Apr 2012 Posts: 11
|
Posted: Sun Apr 08, 2012 12:30 am Post subject: |
|
|
yes that exactly what i want to do. i try some like this but it only show value on one lablel
function CETimer1Timer(sender)
local memrec=addresslist_getMemoryRecordByDescription(getAddressList(), "value1")
local value=memoryrecord_getValue(memrec)
control_setCaption(CETrainer_CELabel1, value)
end
function CETimer1Timer(sender)
local memrec=addresslist_getMemoryRecordByDescription(getAddressList(), "value2")
local value=memoryrecord_getValue(memrec)
control_setCaption(CETrainer_CELabel2, value)
end
and i couldnt seem to create another CETimer
thank for any help
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Sun Apr 08, 2012 12:53 am Post subject: |
|
|
Code: | openProcess([[processnamehere]]) --put process name here
addresslist = getAddressList()
myform = createForm()
description1= [[Description of memoryrecord1]] -- put description of memory record 1 here
local memrec1=addresslist_getMemoryRecordByDescription(addresslist, description1)
local value1=memoryrecord_getValue(memrec1)
label1 = createLabel(myform)
control_setPosition(label1, 10,10)
control_setCaption(label1, value1)
description1= [[Description of memoryrecord2]] -- put description of memory record 2 here
local memrec2=addresslist_getMemoryRecordByDescription(addresslist, description2)
local value2=memoryrecord_getValue(memrec2)
label2 = createLabel(myform)
control_setPosition(label2, 10,30)
control_setCaption(label2, value2)
|
copy paste this code in
Table-> Show Cheat table lua script.
And modify description and processname and execute.
Is this what you want?
_________________
|
|
Back to top |
|
|
toanhung1 Newbie cheater Reputation: 0
Joined: 07 Apr 2012 Posts: 11
|
Posted: Sun Apr 08, 2012 1:49 am Post subject: |
|
|
yes sir , that exactly what i need. add it in to the rest of the script and modify a little bit bam everything good
thank you Freiza
|
|
Back to top |
|
|
toanhung1 Newbie cheater Reputation: 0
Joined: 07 Apr 2012 Posts: 11
|
Posted: Mon Apr 09, 2012 3:38 pm Post subject: |
|
|
btw that script doesnt do realtime value changing.. but darkbytes script does change the display value whenever the actual value is change
|
|
Back to top |
|
|
Freiza Grandmaster Cheater Reputation: 22
Joined: 28 Jun 2010 Posts: 662
|
Posted: Mon Apr 09, 2012 10:45 pm Post subject: |
|
|
I thought you figured it out.
Btw
Code: | openProcess([[processnamehere]]) --put process name here
addresslist = getAddressList()
myform= createForm()
label1 = createLabel(myform)
label2 = createLabel(myform)
value1 = nil
value2 = nil
local t=createTimer(nil)
description1= [[Description of memoryrecord1]] -- put description of memory record 1 here
local memrec1=addresslist_getMemoryRecordByDescription(addresslist, description1)
description2= [[Description of memoryrecord2]] -- put description of memory record 2 here
local memrec2=addresslist_getMemoryRecordByDescription(addresslist, description2)
function changing()
value1=memoryrecord_getValue(memrec1)
control_setPosition(label1, 10,10)
control_setCaption(label1, value1)
value2=memoryrecord_getValue(memrec2)
control_setPosition(label2, 10,30)
control_setCaption(label2, value2)
return true
end
function start(memoryrecord, before, currentstate)
timer_onTimer(t, changing)
timer_setInterval(t,100) --really short wait (setting the speed on open won't work)
timer_setEnabled(t, true)
return true
end
memoryrecord_onActivate(memrec1, start)
memoryrecord_onActivate(memrec2, start)
|
Just activate the memory record once and change the value. The value will change in real time and it will also work even if you deactivate memoryrecord.
Is this what you wanted?
_________________
|
|
Back to top |
|
|
CptBrian How do I cheat? Reputation: 0
Joined: 19 Sep 2019 Posts: 9
|
Posted: Thu Nov 14, 2019 4:22 pm Post subject: |
|
|
Dark Byte wrote: | use the "Design the userinterface manually" option
place a label on your form where you want to show the value.
set the name property to a name (e.g :CELabel1)
Place a timer on the form (it's invisible, but you can see it in the object inspector window at the bottom of the objectlist), select it
go to events, at the onTimer event doubleclick the button with 3 dots, and the code editor will show with the function declaration written for you
now in there (after the function line and before end) place the code: (assuming your trainerform is called CETrainer, default)
Code: |
local memrec=addresslist_getMemoryRecordByDescription(getAddressList(), "The description of your cheat entry")
local value=memoryrecord_getValue(memrec)
control_setCaption(CETrainer_CELabel1, value)
|
Make sure this code is outside of any --TRAINERGENERATORSTART-- block (before or after it) |
This works great(and I recommend having the update interval at 50 instead of 1000), but after completing all of this, saving and reloading the editor, clicking anything in the list causes an "Access Violation" error, effectively bricking the entire trainer with no way to fix it, even if I do the bare minimum possible to get this working. CE 7.0
i.imgur. com/wYhmrLK.gif
Edit: This seems to happen even without this change made. Wasn't happening earlier...
Game not running, tried restarting CE.
Here's two of them:
Code: | First log message: 11/14/2019
TAutoSizeCtrlData.FixControlProperties :TCECheckBox a=akTop old=:TEdit new=nil
TComponentTreeView.SetSelection: Updating component node values.
Exception Access violation
Stack trace:
$0000000000410D93
$000000000041061D
$0000000000AADAA0
$0000000000AADB15
$0000000000AADA2D
$0000000000AAC61A
$0000000000A9CD47
$0000000000A9CC9B
$0000000000A9D350
$000000000080789A
$0000000000AAC7FD
$000000000080BCA8
$000000000080C376
$0000000000801621
$000000000080167C
$000000000080A883
$000000000043A5C1
TComponentTreeView.SetSelection: Updating component node values.
Exception Access violation
Stack trace:
$0000000000410D88
$000000000041061D
$0000000000AADAA0
$0000000000AADB2A
$0000000000AADB2A
$0000000000AADB2A
$0000000000AADB15
$0000000000AADB15
$0000000000AADA2D
$0000000000AAC61A
$0000000000A9CD47
$0000000000A9CC9B
$0000000000A9D350
$000000000080789A
$0000000000AAC7FD
$000000000080BCA8
$000000000080C376 |
I've tried a few other suggestions from searches like giving full perms to CE's directory, running as admin, removing hotkeys from anything in the address list, removing all references to hotkeys in the script, using windowsrepair.exe, and nothing helped. Also rebooted, tried this first thing and still an Access Violation.
I'm on Windows 10 v1909.
No AV interfering, tried without MSIA+RTSS.
I get no Access Violation when using other parts of CE, just the Trainer Editor. Setting a custom temp scanfiles folder did nothing. Tried changing a bunch of debugger settings, scan settings and more. Tried both 64-bit and 32-bit versions.
...
More edits:
It seems the base form doesn't cause an Access Violation but everything in the form does.
i.imgur com/GILNAGz.png
I can click objects on the trainer itself to edit them, but not within the object list. This becomes a problem when working with timers not click-able outside of the object list.
i.imgur com/j0VWx6B.gif
Another update:
If I place a new timer, I'm suddenly able to click things in the object list without an access violation, but this is likely temporary as placing a timer is what broke CE last time, which persisted through multiple trainers even if they didn't use timers.
This probably still belongs here as this thread is the reason I added a timer in the first place.
Final update: This does seem like an actual CE bug. If I place a timer, I'm able to edit everything, but if I then close the trainer editor after that and open it any time in the future, I will get access violations unless I place a new timer(which I can then delete and continue using the editor normally). So basically any time I open the editor I need to place a timer before I can use it.
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Nov 17, 2019 10:29 am Post subject: |
|
|
Did you reinstall CheatEngine7.0 with freshly downloaded installer?
Sometimes DB uploads hotfixes one day (up to few weeks) after initial release date.
You can test it with this Lua script:
Code: | local _,CEVer = getCheatEngineFileVersion()
if (CEVer.major==7 and CEVer.minor==0 and CEVer.release==0) and CEVer.build<6007 then
showMessage('You do not have CE7.0 with hotfixes.\r\nDownload and install CE7.0 again')
end |
If not, download and install CE again.
_________________
|
|
Back to top |
|
|
|