Difference between revisions of "Lua:autoAssemble"

From Cheat Engine
Jump to navigation Jump to search
m (Syntax Highlighting.)
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Lua]]
 
[[Category:Lua]]
−
[[Category:Assembler]]
+
{{CodeBox|'''function''' autoAssemble(''text'', [''targetself'', ''disableInfo'']) ''':''' Boolean, Table}}
−
'''function''' autoAssemble(''AutoAssemblerScript'', ''TargetSelf'' OPTIONAL) ''':''' nil '''-''' boolean
 
  
−
Runs the given string with Cheat Engine's auto assembler. Returns 'true' on success.
+
Runs the Auto Assembler with the given text.
  
−
Tip: Use '[[ ]]' or '[==[ ]==]' quotes for multiline script.
+
* If ''targetself'' is set, it will assemble into Cheat Engine itself.
 +
* Returns ''true'' on success.
 +
* As a secondary return, it provides a table you can use for disabling.
 +
* If ''disableInfo'' is provided, the ''[Disable]'' section will be handled automatically.
  
−
=== Function Parameters ===
 
  
−
{|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0"
+
===Function Parameters===
 +
{|width="85%" cellpadding="5%" cellspacing="0" border="0"
 
!align="left"|Parameter
 
!align="left"|Parameter
 
!align="left"|Type
 
!align="left"|Type
−
!style="width: 80%;background-color:white;" align="left"|Description
+
!style="width: 60%;background-color:white;" align="left"|Description
 
|-
 
|-
−
|AutoAssemblerScript
+
|text
−
|string
+
|String
−
|The script to run with Cheat Engine's auto assembler
+
|The Auto Assembler script text to run.
 
|-
 
|-
−
|TargetSelf
+
|targetself
−
|boolean
+
|Boolean (optional)
−
|If set it will assemble into Cheat Engine itself
+
|If true, assembles into Cheat Engine itself. Default is false.
 +
|-
 +
|disableInfo
 +
|Table (optional)
 +
|If provided, will handle the ''[Disable]'' section.
 
|}
 
|}
  
 +
===Returns===
 +
Boolean — ''true'' if the assembly succeeded.<br>
 +
Table — Optional secondary table for handling disable info.
  
−
== Examples ==
+
===Example===
−
 
+
<syntaxhighlight lang="lua" line>
−
 
+
-- Simple AutoAssembler script
−
  autoAssemble("{$lua}\n print('Printed Form Auto Assembler Script!')")
+
local disableTable
−
 
+
local success, disableTable = autoAssemble([[
−
 
+
   alloc(newmem,1024)
−
  local scriptStr = &#91;==&#91;
+
   // ...
−
    alloc(memExample)
+
]], true)
−
    label(returnHere)
 
−
    &nbsp;
 
−
    memExample:
 
−
      mov eax,123
 
−
      jmp returnHere
 
−
    &nbsp;
 
−
    00400500:
 
−
      jmp memExample
 
−
      returnHere:
 
−
  &#93;==&#93;
 
−
  &nbsp;
 
−
  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 = &#91;==&#91;
 
−
    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
 
−
  &#93;==&#93;
 
−
  &nbsp;
 
−
  if not autoAssemble(scriptStr, true) then
 
−
    return 1, 'There was an error with the auto assembler script.'
 
−
  end
 
  
 +
if success then
 +
  print("Script assembled successfully")
 +
end
 +
</syntaxhighlight>
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}
  
−
=== Related Functions ===
+
{{Assembly}}
−
* [[AOBScan]]
 
−
* [[disassemble]]
 
−
* [[getInstructionSize]]
 
−
* [[getPreviousOpcode]]
 
−
* [[allocateSharedMemory]]
 
−
* [[mapMemory]]
 
−
* [[unmapMemory]]
 
−
* [[readBytes]]
 
−
* [[readPointer]]
 
−
* [[writeBytes]]
 
−
* [[readBytesLocal]]
 
−
* [[readPointerLocal]]
 
−
* [[writeBytesLocal]]
 
−
* [[wordToByteTable]]
 
−
* [[dwordToByteTable]]
 
−
* [[qwordToByteTable]]
 
−
* [[floatToByteTable]]
 
−
* [[doubleToByteTable]]
 
−
* [[stringToByteTable]]
 
−
* [[wideStringToByteTable]]
 
−
* [[byteTableToWord]]
 
−
* [[byteTableToDword]]
 
−
* [[byteTableToQword]]
 
−
* [[byteTableToFloat]]
 
−
* [[byteTableToDouble]]
 
−
* [[byteTableToString]]
 
−
* [[byteTableToWideString]]
 

Latest revision as of 19:26, 25 June 2026

<> Lua API Reference

function autoAssemble(text, [targetself, disableInfo]) : Boolean, Table

Runs the Auto Assembler with the given text.

  • If targetself is set, it will assemble into Cheat Engine itself.
  • Returns true on success.
  • As a secondary return, it provides a table you can use for disabling.
  • If disableInfo is provided, the [Disable] section will be handled automatically.


Function Parameters[edit]

Parameter Type Description
text String The Auto Assembler script text to run.
targetself Boolean (optional) If true, assembles into Cheat Engine itself. Default is false.
disableInfo Table (optional) If provided, will handle the [Disable] section.

Returns[edit]

Boolean — true if the assembly succeeded.
Table — Optional secondary table for handling disable info.

Example[edit]

 1 -- Simple AutoAssembler script
 2 local disableTable
 3 local success, disableTable = autoAssemble([[
 4   alloc(newmem,1024)
 5   // ...
 6 ]], true)
 7 
 8 if success then
 9   print("Script assembled successfully")
10 end

Main Pages

Core Lua documentation entry points

◆ Lua
◆ Script Engine

Assembler and Disassembler Related Lua Functions

Auto assembler, disassembly helpers, instruction size lookup, and assembler callbacks