Difference between revisions of "Lua:autoAssemble"
Jump to navigation
Jump to search
(OAuKhhMzodBlHWoEp) |
(no special chars in syntaxhightlighting needed) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | If | + | [[Category:Lua]] |
+ | [[Category:Assembler]] | ||
+ | '''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 === | ||
+ | |||
+ | {|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | !align="left"|Parameter | ||
+ | !align="left"|Type | ||
+ | !style="width: 80%;background-color:white;" align="left"|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 | ||
+ | |} | ||
+ | |||
+ | {|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | !align="left"|Parameter | ||
+ | !align="left"|Type | ||
+ | !style="width: 80%;background-color:white;" align="left"|Description | ||
+ | |- | ||
+ | |AutoAssemblerScript | ||
+ | |string | ||
+ | |The script to run with Cheat Engine's auto assembler | ||
+ | |- | ||
+ | |DisableInfo | ||
+ | |boolean | ||
+ | |If provided the [Disable] section will be handled | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | == Examples == | ||
+ | |||
+ | <syntaxhighlight lang="lua"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{LuaSeeAlso}} | ||
+ | |||
+ | === Related Functions === | ||
+ | * [[Lua:autoAssembleCheck|autoAssembleCheck]] | ||
+ | * [[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]] |
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