Difference between revisions of "Lua:autoAssembleCheck"

From Cheat Engine
Jump to navigation Jump to search
(→‎Related Functions)
m (Added CodeBox Template.)
Line 1: Line 1:
 
[[Category:Lua]]
 
[[Category:Lua]]
−
[[Category:Assembler]]
+
{{CodeBox|'''function''' autoAssembleCheck(''text'', ''enable'', ''targetself'')}}
−
'''function''' autoAssembleCheck(''AutoAssemblerScript'', ''Enable'' OPTIONAL, ''TargetSelf'' OPTIONAL) ''':''' nil '''-''' boolean
 
  
−
Checks the script for syntax errors. Returns true on succes, false with an error message on failure.
+
Checks the given Auto Assembler script for syntax errors.
−
 
+
Returns '''true''' on success, or '''false''' with an error message on failure.
−
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
+
!align="left"|Description
 
|-
 
|-
−
|AutoAssemblerScript
+
| text
−
|string
+
| String
−
|The script to run with Cheat Engine's auto assembler.
+
| The Auto Assembler script to validate.
 
|-
 
|-
−
|Enable
+
| enable
−
|boolean
+
| Boolean
−
|If true the [Enable] section will be checked, else the [Disable] section is checked.
+
| If set, checks the [ENABLE] part of the script.
 
|-
 
|-
−
|TargetSelf
+
| targetself
−
|boolean
+
| Boolean
−
|If set it will check as if assembling into Cheat Engine itself.
+
| If true, checks the script as if assembling into Cheat Engine itself.
 
|}
 
|}
  
 +
=== Example ===
 +
<pre>
 +
local script = [[
 +
  alloc(newmem,1024)
 +
  label(returnhere)
 +
  ...
 +
]]
  
−
== Examples ==
+
local ok, err = autoAssembleCheck(script, true, false)
−
 
+
if ok then
−
 
+
  print("Script is valid")
−
  local checkOk, errMsg = autoAssembleCheck("{$lua}\n print('Checked Form Auto Assembler Script!')")
+
else
−
 
+
   print("Syntax error:", err)
−
 
+
end
−
  local scriptStr = &#91;==&#91;
+
</pre>
−
    alloc(memExample, 0x100)
 
−
    label(returnHere)
 
−
    &nbsp;
 
−
    memExample:
 
−
      mov eax,123
 
−
      jmp returnHere
 
−
    &nbsp;
 
−
    00400500:
 
−
      jmp memExample
 
−
      returnHere:
 
−
  &#93;==&#93;
 
−
  &nbsp;
 
−
  local checkOk, errMsg = autoAssembleCheck(scriptStr)
 
−
  if not checkOk then
 
−
    print('The auto assembler script failed.')
 
−
    print(errMsg)
 
−
  else
 
−
    print('The auto assembler script passed.')
 
−
  end
 
−
 
 
−
 
 
−
  local scriptStr = &#91;==&#91;
 
−
    [Enable]
 
−
    alloc(memExample, 0x100)
 
−
    label(returnHere)
 
−
    &nbsp;
 
−
    memExample:
 
−
      mov eax,123
 
−
      jmp returnHere
 
−
    &nbsp;
 
−
    00400500:
 
−
      jmp memExample
 
−
      returnHere:
 
−
    [Disable]
 
−
      dealloc(memExample)
 
−
  &#93;==&#93;
 
−
   &nbsp;
 
−
  local checkOk, errMsg = autoAssembleCheck(scriptStr, true)
 
−
  if not checkOk then
 
−
    print('The auto assembler script failed.')
 
−
    print(errMsg)
 
−
  else
 
−
    print('The auto assembler script passed.')
 
−
  end
 
−
 
 
−
 
 
−
  local scriptStr = &#91;==&#91;
 
−
    [Enable]
 
−
    alloc(memExample, 0x100)
 
−
    label(returnHere)
 
−
    &nbsp;
 
−
    memExample:
 
−
      mov eax,123
 
−
      jmp returnHere
 
−
    &nbsp;
 
−
    00400500:
 
−
      jmp memExample
 
−
      returnHere:
 
−
    [Disable]
 
−
      dealloc(memExample)
 
−
  &#93;==&#93;
 
−
  &nbsp;
 
−
  local checkOk, errMsg = autoAssembleCheck(scriptStr, false, true)
 
−
  if not checkOk then
 
−
    print('The auto assembler script failed.')
 
−
    print(errMsg)
 
−
  else
 
−
    print('The auto assembler script passed.')
 
−
  end
 
−
 
 
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}
  
−
=== Related Functions ===
+
{{Assembly}}
−
* [[Lua:autoAssemble|autoAssemble]]
 
−
* [[Lua:AOBScan|AOBScan]]
 
−
* [[Lua:disassemble|disassemble]]
 
−
* [[Lua:getInstructionSize|getInstructionSize]]
 
−
* [[Lua:getPreviousOpcode|getPreviousOpcode]]
 
−
* [[Lua:allocateSharedMemory|allocateSharedMemory]]
 
−
* [[Lua:mapMemory|mapMemory]]
 
−
* [[Lua:unmapMemory|unmapMemory]]
 
−
* [[Lua:readBytes|readBytes]]
 
−
* [[Lua:readPointer|readPointer]]
 
−
* [[Lua:writeBytes|writeBytes]]
 
−
* [[Lua:readBytesLocal|readBytesLocal]]
 
−
* [[Lua:readPointerLocal|readPointerLocal]]
 
−
* [[Lua:writeBytesLocal|writeBytesLocal]]
 
−
* [[Lua:wordToByteTable|wordToByteTable]]
 
−
* [[Lua:dwordToByteTable|dwordToByteTable]]
 
−
* [[Lua:qwordToByteTable|qwordToByteTable]]
 
−
* [[Lua:floatToByteTable|floatToByteTable]]
 
−
* [[Lua:doubleToByteTable|doubleToByteTable]]
 
−
* [[Lua:stringToByteTable|stringToByteTable]]
 
−
* [[Lua:wideStringToByteTable|wideStringToByteTable]]
 
−
* [[Lua:byteTableToWord|byteTableToWord]]
 
−
* [[Lua:byteTableToDword|byteTableToDword]]
 
−
* [[Lua:byteTableToQword|byteTableToQword]]
 
−
* [[Lua:byteTableToFloat|byteTableToFloat]]
 
−
* [[Lua:byteTableToDouble|byteTableToDouble]]
 
−
* [[Lua:byteTableToString|byteTableToString]]
 
−
* [[Lua:byteTableToWideString|byteTableToWideString]]
 

Revision as of 00:18, 5 December 2025

<> Lua API Reference

function autoAssembleCheck(text, enable, targetself)

Checks the given Auto Assembler script for syntax errors. Returns true on success, or false with an error message on failure.

Function Parameters

Parameter Type Description
text String The Auto Assembler script to validate.
enable Boolean If set, checks the [ENABLE] part of the script.
targetself Boolean If true, checks the script as if assembling into Cheat Engine itself.

Example

local script = [[
  alloc(newmem,1024)
  label(returnhere)
  ...
]]

local ok, err = autoAssembleCheck(script, true, false)
if ok then
  print("Script is valid")
else
  print("Syntax error:", err)
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