Lua:unregisterAssembler

From Cheat Engine
Jump to navigation Jump to search

<> Lua API Reference

function unregisterAssembler(id) : void

Unregisters a previously registered assembler callback.

The id parameter must be the ID returned by registerAssembler.

Function Parameters

Parameter Type Description
id Integer The assembler registration ID returned by registerAssembler.

Returns

This function does not return a value.

Examples

Register and unregister an assembler callback

1 local assemblerID = registerAssembler(function(address, instruction)
2   if instruction:lower() == "customnop" then
3     return {0x90}
4   end
5 
6   return nil
7 end)
8 
9 unregisterAssembler(assemblerID)

Unregister only if an ID exists

 1 local assemblerID = registerAssembler(function(address, instruction)
 2   if instruction:lower() == "customnop2" then
 3     return {0x66, 0x90}
 4   end
 5 
 6   return nil
 7 end)
 8 
 9 if assemblerID ~= nil then
10   unregisterAssembler(assemblerID)
11   assemblerID = nil
12 end

Replace an assembler callback

 1 if CustomAssemblerID ~= nil then
 2   unregisterAssembler(CustomAssemblerID)
 3 end
 4 
 5 CustomAssemblerID = registerAssembler(function(address, instruction)
 6   if instruction:lower() == "ret0" then
 7     return {0x31, 0xC0, 0xC3}
 8   end
 9 
10   return nil
11 end)

Store multiple assembler IDs

 1 local assemblerIDs = {}
 2 
 3 assemblerIDs[#assemblerIDs + 1] = registerAssembler(function(address, instruction)
 4   if instruction:lower() == "customnop" then
 5     return {0x90}
 6   end
 7 
 8   return nil
 9 end)
10 
11 assemblerIDs[#assemblerIDs + 1] = registerAssembler(function(address, instruction)
12   print(string.format("Assembler callback at %X: %s", address, instruction))
13 
14   return nil
15 end)
16 
17 for i, id in ipairs(assemblerIDs) do
18   unregisterAssembler(id)
19 end
20 
21 assemblerIDs = {}

Use an unregister helper

1 local function unregisterCustomAssembler()
2   if CustomAssemblerID ~= nil then
3     unregisterAssembler(CustomAssemblerID)
4     CustomAssemblerID = nil
5   end
6 end
7 
8 unregisterCustomAssembler()

Disable a temporary assembler extension after use

 1 local assemblerID = registerAssembler(function(address, instruction)
 2   if instruction:lower() == "customnop" then
 3     return {0x90}
 4   end
 5 
 6   return nil
 7 end)
 8 
 9 autoAssemble([[
10 customnop
11 ]])
12 
13 unregisterAssembler(assemblerID)

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