-
Notifications
You must be signed in to change notification settings - Fork 6
Cheats Window
This frame allows you to execute cheats of your search results as lua scripts. If you are unfamiliar with the lua programming language you can check out the official lua reference manual. Not deep understand of Lua is required to create simple cheats.
In order to interact with games it is necessary to have custom functionalities. In the following you will learn about all additional features required to create MungPlex cheat codes.
The following functions can be used to read data from memory:
-
bool ReadBool(uint64 address)
: returns the boolean value located ataddress
of the game's memory -
int8 ReadInt8(uint64 address)
: returns the signed 8-bit value located ataddress
of the game's memory -
int16 ReadInt16(uint64 address)
: returns the signed 16-bit value located ataddress
of the game's memory -
int32 ReadInt32(uint64 address)
: returns the signed 32-bit value located ataddress
of the game's memory -
int64 ReadInt64(uint64 address)
: returns the signed 64-bit value located ataddress
of the game's memory -
uint8 ReadUInt8(uint64 address)
: returns the unsigned 8-bit value located ataddress
of the game's memory -
uint16 ReadUInt16(uint64 address)
: returns the unsigned 16-bit value located ataddress
of the game's memory -
uint32 ReadUInt32(uint64 address)
: returns the unsigned 32-bit value located ataddress
of the game's memory -
uint64 ReadUInt64(uint64 address)
: returns the unsigned 64-bit value located ataddress
of the game's memory -
float ReadFloat(uint64 address)
: returns the float value located ataddress
of the game's memory -
double ReadDouble(uint64 address)
: returns the double value located ataddress
of the game's memory -
table ReadArrayInt8(const uint64_t address, uint32_t size)
: returns the signed 8-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayUInt8(const uint64_t address, uint32_t size)
: returns the unsigned 8-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayInt16(const uint64_t address, uint32_t size)
: returns the signed 16-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayUInt16(const uint64_t address, uint32_t size)
: returns the unsigned 16-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayInt32(const uint64_t address, uint32_t size)
: returns the signed 32-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayUInt32(const uint64_t address, uint32_t size)
: returns the unsigned 32-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayInt64(const uint64_t address, uint32_t size)
: returns the signed 64-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayUInt64(uint64_t address, uint32_t size)
: returns the unsigned 64-bit array ofsize
located ataddress
of the game's memory -
table ReadArrayFloat(uint64_t address, uint32_t size)
: returns the float array ofsize
located ataddress
of the game's memory -
table ReadArrayDouble(uint64_t address, uint32_t size)
: returns the double array ofsize
located ataddress
of the game's memory
The following functions can be used to write data to game memory:
-
WriteBool(uint64 address, bool value)
: writes the booleanvalue
toaddress
of the game's memory -
WriteInt8(uint64 address, int8 value)
: writes the int8value
toaddress
of the game's memory -
WriteInt16(uint64 address, int16 value)
: writes the int16value
toaddress
of the game's memory -
WriteInt32(uint64 address, int32 value)
: writes the int32value
toaddress
of the game's memory -
WriteInt64(uint64 address, int64 value)
: writes the int64value
toaddress
of the game's memory -
WriteFloat(uint64 address, float value)
: writes the floatvalue
toaddress
of the game's memory -
WriteDouble(uint64 address, double value)
: writes the doublevalue
toaddress
of the game's memory -
WriteArrayInt8(uint64_t address, table array)
: writes the int8array
toaddress
of the game's memory -
WriteArrayInt16(uint64_t address, table array)
: writes the int16array
toaddress
of the game's memory -
WriteArrayInt32(uint64_t address, table array)
: writes the int23array
toaddress
of the game's memory -
WriteArrayInt64(uint64_t address, table array)
: writes the int64array
toaddress
of the game's memory -
WriteArrayFloat(uint64_t address, table array)
: writes the floatarray
toaddress
of the game's memory -
WriteArrayDouble(uint64_t address, table array)
: writes the doublearray
toaddress
of the game's memory
These functions consecutively write values and increment/decrement those alongside the address as many times as defined by count
. Note that an address increment does not consider the value size. For instance, to consecutively write int32 values the minimum desired address increment would be 4 or -4. Increment values are signed(!). The first write does not apply any increment. If you don't want a value increment just pass a valueIncrement of 0.
-
FillAndSlideInt8(uint64_t address, int64_t addressIncrement, int8_t value, int8_t valueIncrement, uint8_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times -
FillAndSlideInt16(uint64_t address, int64_t addressIncrement, int16_t value, int16_t valueIncrement, uint16_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times -
FillAndSlideInt32(uint64_t address, int64_t addressIncrement, int32_t value, int32_t valueIncrement, uint32_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times -
FillAndSlideInt64(uint64_t address, int64_t addressIncrement, int64_t value, int64_t valueIncrement, uint32_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times -
FillAndSlideFloat(uint64_t address, int64_t addressIncrement, float value, float valueIncrement, uint32_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times -
FillAndSlideDouble(uint64_t address, int64_t addressIncrement, double value, double valueIncrement, uint32_t count)
: consecutively writesvalue
+valueIncrement
toaddress
+addressIncrement
count
times
-
LogText(const char* text)
: Logs the giventext
to the log frame -
LogUInt8(const uint8_t value, bool hex)
: Logs the given uint8value
to the log frame. ifhex
is true printed value will be hex -
LogUInt16(uint16_t value, bool hex)
: Logs the given uint16value
to the log frame. ifhex
is true printed value will be hex -
LogUInt32(uint32_t value, bool hex)
: Logs the given uint32value
to the log frame. ifhex
is true printed value will be hex -
LogUInt64(uint64_t value, bool hex)
: Logs the given uint64value
to the log frame. ifhex
is true printed value will be hex -
LogInt8(int8_t value, bool hex)
: Logs the given int8value
to the log frame. ifhex
is true printed value will be hex -
LogInt16(int16_t value, bool hex)
: Logs the given int16value
to the log frame. ifhex
is true printed value will be hex -
LogInt32(const int32_t value, bool hex)
: Logs the given int32value
to the log frame. ifhex
is true printed value will be hex -
LogInt64(int64_t value, bool hex)
: Logs the given int64value
to the log frame. ifhex
is true printed value will be hex -
LogFloat(float value)
: Logs the given floatvalue
to the log frame -
LogDouble(double value)
: Logs the given doublevalue
to the log frame -
LogBool(bool value)
: Logs the given boolvalue
to the log frame
- bool
IsInRange(uint64_t value, uint64_t start, uint64_t end)
: Checks if value is >= start and < end. This can be used to verify pointers are within a valid range to prevent possible crashes during loading times
-
copyMemory(uint64_t source, uint64_t destination, uint32_t size)
: copies thesize
bytes of memory located atsource
otdestination
These variables can be used to store and keep values across execution cycles and different cheats.
-
INTREG00
-INTREG31
: Integer registers -
NUMREG00
-NUMREG31
: Float registers -
BOOLREG00
-BOOLREG31
: Boolean registers
Module addresses can be returned by calling the Modules
field and the target module name in brackets. (Modules["mono.dll"])
A list of all saved cheats. Check each one you want to be active.

This can be used to edit an existing cheat or add a new one.

-
Title
: The Cheat's title -
Hacker(s)
: Who has made the cheat -
Lua Cheat
: The Lua Cheat script -
Description
: Description and usage information about the cheat -
Add To List
: Adds new cheat to list -
Update Entry
: Updates the currently selected entry -
Delete Entry
: Deletes the selected cheat from the list
This allows you to convert decrypted cheat codes to Lua. Note that some codes may not work because addresses may be shifted on emulators.

-
Cheat Format
: Select the input cheat format -
Cheat to be converted
: The decrypted cheat code you wish to be converted -
Convert to Lua
: A button that does what it says
Gives you further control of the cheat(s).

-
Cheat List/Text Cheat
: Whether to execute all selected cheats or the cheat in the right text field (Lua Cheat) -
Interval
: How many times a secon the cheat(s) should be executed. If the game visibly overwrites your values you may move the slider to the right. -
Apply/Terminate Cheats
: Turns cheats on or off. If some syntactical error appears you will be notified bt the log window.