Difference between revisions of "Lua:autoAssemble"

From Cheat Engine
Jump to navigation Jump to search
(Did I forgot to mention this wiki has syntax highlighting now?)
(no special chars in syntaxhightlighting needed)
 
Line 51: Line 51:
  
  
   local scriptStr = [==[
+
   local scriptStr = [[
 
     alloc(memExample)
 
     alloc(memExample)
 
     label(returnHere)
 
     label(returnHere)
     
+
 
 
     memExample:
 
     memExample:
 
       mov eax,123
 
       mov eax,123
Line 62: Line 62:
 
       jmp memExample
 
       jmp memExample
 
       returnHere:
 
       returnHere:
  ]==]
+
]]
   
+
 
 
   if autoAssemble(scriptStr) then
 
   if autoAssemble(scriptStr) then
 
     print('The auto assembler script was successful.')
 
     print('The auto assembler script was successful.')
Line 100: Line 100:
  
  
   local scriptStr = [==[
+
   local scriptStr = [[
 
     alloc(memExample2)
 
     alloc(memExample2)
 
     memExample2:
 
     memExample2:
Line 111: Line 111:
 
       // map base
 
       // map base
 
       dq 0
 
       dq 0
   ]==]
+
   ]]
   
+
 
   if not autoAssemble(scriptStr, true) then
 
   if not autoAssemble(scriptStr, true) then
 
     return 1, 'There was an error with the auto assembler script.'
 
     return 1, 'There was an error with the auto assembler script.'

Latest revision as of 08:35, 18 May 2019

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

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

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[edit]

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
Parameter Type Description
AutoAssemblerScript string The script to run with Cheat Engine's auto assembler
DisableInfo boolean If provided the [Disable] section will be handled


Examples[edit]

  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[edit]

Related Functions[edit]