Difference between revisions of "Lua:autoAssemble"

From Cheat Engine
Jump to navigation Jump to search
(Related Functions)
m (Added missing break.)
 
(11 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, ''DisableInfo'' OPTIONAL) ''':''' nil '''-''' boolean
 
  
'''function''' autoAssemble(''AutoAssemblerScript'', ''DisableInfo'' OPTIONAL) ''':''' nil '''-''' boolean
+
Runs the Auto Assembler with the given text. 
  
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.
+
* 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.
  
Tip: Use '[[ ]]' or '[==[ ]==]' quotes for multiline script.
 
  
=== Function Parameters ===
+
===Function Parameters===
 
+
{|width="85%" cellpadding="5%" cellspacing="0" border="0"
{|width="85%" cellpadding="10%" 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
+
|disableInfo
|boolean
+
|Table (optional)
|If provided the [Disable] section will be handled
+
|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===
 
+
<pre>
 
+
-- 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
 +
</pre>
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}
  
=== Related Functions ===
+
{{Assembly}}
* [[autoAssembleCheck]]
 
* [[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 20:48, 5 December 2025

<> Function

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]

-- Simple AutoAssembler script
local disableTable
local success, disableTable = autoAssemble([[
  alloc(newmem,1024)
  // ...
]], true)

if success then
  print("Script assembled successfully")
end

See also[edit]

Lua
Script Engine

Related Functions[edit]

autoAssemble
autoAssembleCheck
disassemble
splitDisassembledString
getInstructionSize
getPreviousOpcode
registerAssembler
unregisterAssembler