This file has not been tested with newer versions of CE, so some modifications may be necessary.
Here are screenshots:


Code: Select all
myAOBInjectionTemplates = {}
myAOBInjectionTemplates.Templates = {
-- add this for my custom mono
{
displayName="Mono 64",
submenu='Mono',
group='mono',
templateSections=
[==[
<<INFO>>
define(Mono_%cheatName%,"%monoAddress%")
define(bytes_%cheatName%,db %originalBytes%)
<<INFO_END>>
<<ENABLE>>
alloc(Newmem_%cheatName%,$1000,Mono_%cheatName%)
//assert(Mono_%cheatName%,bytes_%cheatName%)
//aobscan%isModuleScan%(Mono_%cheatName%,%moduleNameC%%searchPattern%)//%injectAddress%
label(Code_%cheatName%,_%cheatName%)
registersymbol(Mono_%cheatName%,Code_%cheatName%,_%cheatName%)
Newmem_%cheatName%:
mov [_%cheatName%],rcx // Main pointer
//==================== Inject here
Code_%cheatName%:
readmem(Mono_%cheatName%,%replacedInstructionsSize%)
%CoriginalCodeLines%
jmp Return_%cheatName%
_%cheatName%:
dq 0
Mono_%cheatName%:
jmp Newmem_%cheatName%
%_nopLines%
Return_%cheatName%:
//
<<ENABLE_END>>
<<DISABLE>>
unregistersymbol(*)//unreg all
dealloc(*)//dealoc all
//unregistersymbol(Mono_%cheatName%,Code_%cheatName%,_%cheatName%)
//dealloc(Newmem_%cheatName%)
Mono_%cheatName%:
readmem(Code_%cheatName%,%replacedInstructionsSize%)
%CoriginalCodeLines%
%additionalInfo%
<<DISABLE_END>>
]==]
},
{
displayName="Mono 32",
submenu='Mono',
group='mono',
templateSections=
[==[
<<INFO>>
define(Mono_%cheatName%,"%monoAddress%")
define(bytes_%cheatName%,db %originalBytes%)
<<INFO_END>>
<<ENABLE>>
{$lua}
if syntaxcheck then return end
LaunchMonoDataCollector()
-----------------------
memrec.Color=0x000080ff
-------------- A.B.G.R
{$asm}
alloc(Newmem_%cheatName%,$1000,Mono_%cheatName%)
//assert(Mono_%cheatName%,bytes_%cheatName%)
//aobscan%isModuleScan%(Mono_%cheatName%,%moduleNameC%%searchPattern%)//%injectAddress%
label(Code_%cheatName%,_%cheatName%)
registersymbol(Mono_%cheatName%,Code_%cheatName%,_%cheatName%)
Newmem_%cheatName%:
push [esp+4]
pop [_%cheatName%]
//mov [_%cheatName%],ecx // Main pointer
//==================== Inject here
Code_%cheatName%:
readmem(Mono_%cheatName%,%replacedInstructionsSize%)
%CoriginalCodeLines%
jmp Return_%cheatName%
_%cheatName%:
dd 0
Mono_%cheatName%:
jmp Newmem_%cheatName%
%_nopLines%
Return_%cheatName%:
//
<<ENABLE_END>>
<<DISABLE>>
unregistersymbol(*)//unreg all
dealloc(*)//dealoc all
//unregistersymbol(Mono_%cheatName%,Code_%cheatName%,_%cheatName%)
//dealloc(Newmem_%cheatName%)
Mono_%cheatName%:
readmem(Code_%cheatName%,%replacedInstructionsSize%)
%CoriginalCodeLines%
%additionalInfo%
<<DISABLE_END>>
]==]
},
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
{
displayName="Default",
submenu='x86',
group=1,
templateSections=
[==[
<<INFO>>
//Target: %processName%
//Author: ++METHOS
<<INFO_END>>
-- and so on..
-I should clarify that I am not the author of this plugin. The purpose of this thread was to share my custom templates.
Can I ask if the original Mono template included in mgr.inz.Player's extension also gives the same error?aanpsx wrote: ↑Wed Jan 19, 2022 10:18 pmHi..
i've been using this tool since 6.8, then 6.8.1~7.3 came out..
but when i try to use it for mono and .net games, (especially 7.2 and 7.3) it can't generate script if mono is on, and i have to disable mono first, then it will work (but it takes time to generate the script)..
would you mind to check it out??
Thank You
(use custom v1.3.6) yes, and similar problem when use on .net games too
Basically at some point it goofs up the address, since it is only looking for the first part of the address with isn't an address by it self. Might even be in the CE lua function "generateAOBInjectionScript", since this script mostly uses that as a base to work from. Can you generate an AOB script with mono enabled using that same address with the default CE aob template?
Ok, looks likes it's in my purview, thanks for checking. Need to go reinstall some Mono games now.
everything work fine using default CE aob template, but i need to disable mono first if i want to use custom template
Code: Select all
local injectAddress = newScript:match('INJECTING HERE %-%-%-%-%-%-%-%-%-%-\r\n(.-):')
Code: Select all
local injectAddress = newScript:match('INJECTING HERE %-%-%-%-%-%-%-%-%-%-\r\n(.-):$')
I think the above solution should fix it, but I don't have a mono game installed to test it with. But the capture should work, but the actual capture might need to also be changed from minimum to an all (i.e. "(.-)" to "(.*)")
Thanks @ShyTwig16, tried it but that isn't the fix. But Csimbi's v1.3.9 works.
local injectAddress = newScript:match('INJECTING HERE %-%-%-%-%-%-%-%-%-%-\r\n(.-): ')
still have same problem with this ($)
Whoaaa.. today I witnessed the power of a space
Code: Select all
aob_example:
jmp newmem_example
dbnop 2 <----
-Edit everywhere in the lua script:
Code: Select all
jmp newmem_%cheatName%
%db90s%
return_%cheatName%:
Code: Select all
jmp newmem_%cheatName%
%nopLines%
return_%cheatName%:
Users browsing this forum: eahernantst83