Difference between revisions of "Lua:autoAssemble"
Jump to navigation
Jump to search
(no special chars in syntaxhightlighting needed) |
|||
(One intermediate revision by the same user not shown) | |||
Line 47: | Line 47: | ||
== Examples == | == Examples == | ||
− | + | <syntaxhighlight lang="lua"> | |
autoAssemble("{$lua}\n print('Printed Form Auto Assembler Script!')") | autoAssemble("{$lua}\n print('Printed Form Auto Assembler Script!')") | ||
− | 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.' | ||
end | end | ||
− | + | </syntaxhighlight> | |
{{LuaSeeAlso}} | {{LuaSeeAlso}} |
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]
- 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