Lua:autoAssemble

From Cheat Engine
Jump to navigation Jump to search

function autoAssemble(AutoAssemblerScript, TargetSelf OPTIONAL, DisableInfo OPTIONAL) : nil - boolean

function autoAssemble(AutoAssemblerScript, DisableInfo OPTIONAL) : nil - boolean

runs the auto assembler with the given text. Returns true on success, with as secondary a table you can use when disabling (if TargetSelf is set it will assemble into Cheat Engine itself). If DisableInfo is provided the [Disable] section will be handled.

Tip: Use '[[ ]]' or '[==[ ]==]' quotes for multiline script.

Function Parameters

Parameter Type Description
AutoAssemblerScript string The script to run with Cheat Engine's auto assembler
TargetSelf boolean If set it will assemble into Cheat Engine itself
DisableInfo boolean If provided the [Disable] section will be handled


Examples

 autoAssemble("{$lua}\n print('Printed Form Auto Assembler Script!')")


 local scriptStr = [==[
   alloc(memExample)
   label(returnHere)
    
   memExample:
     mov eax,123
     jmp returnHere
    
   00400500:
     jmp memExample
     returnHere:
 ]==]
  
 if autoAssemble(scriptStr) then
   print('The auto assembler script was successful.')
 else
   print('There was an error with the auto assembler script.')
 end


 local scriptStr = [==[
   alloc(memExample)
   label(returnHere)
    
   memExample:
     mov eax,123
     jmp returnHere
    
   00400500:
     jmp memExample
     returnHere:
 ]==]
 ---- Enable script
 local enabledOk, disableInfo = autoAssemble(scriptStr)
 if enabledOk then
   print('The auto assembler script was enabled successfully.')
 else
   print('There was an error enabling the auto assembler script.')
 end
 ---- Disable script
 local disabledOk = autoAssemble(scriptStr, disableInfo)
 if disabledOk then
   disableInfo = nil
   print('The auto assembler script was disabled successfully.')
 else
   print('There was an error disabling the auto assembler script.')
 end


 local scriptStr = [==[
   alloc(memExample2)
   memExample2:
     dd (float)364.12458729
     dd (float)12.65594753
     dd (float)50.75331054
     dd 0
     // player base
     dq 0
     // map base
     dq 0
 ]==]
  
 if not autoAssemble(scriptStr, true) then
   return 1, 'There was an error with the auto assembler script.'
 end


See also

Related Functions