-
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.
- MungPlex Custom Lua Functions and Variables
- Cheat List
- Cheat Information
- Old-School Cheat to Lua Cheat Conversion
- Cheat Control
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 cheat codes written in Lua with extensions for MungPlex.
The following functions can be used to read data from memory:
Show
-
bool ReadBool(uint64 address): returns the boolean value located ataddressof the game's memory -
int8 ReadInt8(uint64 address): returns the signed 8-bit value located ataddressof the game's memory -
int16 ReadInt16(uint64 address): returns the signed 16-bit value located ataddressof the game's memory -
int32 ReadInt32(uint64 address): returns the signed 32-bit value located ataddressof the game's memory -
int64 ReadInt64(uint64 address): returns the signed 64-bit value located ataddressof the game's memory -
uint8 ReadUInt8(uint64 address): returns the unsigned 8-bit value located ataddressof the game's memory -
uint16 ReadUInt16(uint64 address): returns the unsigned 16-bit value located ataddressof the game's memory -
uint32 ReadUInt32(uint64 address): returns the unsigned 32-bit value located ataddressof the game's memory -
uint64 ReadUInt64(uint64 address): returns the unsigned 64-bit value located ataddressof the game's memory -
float ReadFloat(uint64 address): returns the float value located ataddressof the game's memory -
double ReadDouble(uint64 address): returns the double value located ataddressof the game's memory -
table ReadArrayInt8(uint64 address, uint32 count): returns the signed 8-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayUInt8(uint64 address, uint32 count): returns the unsigned 8-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayInt16(uint64 address, uint32 count): returns the signed 16-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayUInt16(uint64 address, uint32 count): returns the unsigned 16-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayInt32(uint64 address, uint32 count): returns the signed 32-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayUInt32(uint64 address, uint32 count): returns the unsigned 32-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayInt64(uint64 address, uint32 count): returns the signed 64-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayUInt64(uint64 address, uint32 count): returns the unsigned 64-bit array ofcountelements located ataddressof the game's memory -
table ReadArrayFloat(uint64 address, uint32 count): returns the float array of <countelements located ataddressof the game's memory -
table ReadArrayDouble(uint64 address, uint32 count): returns the double array ofcountelements located ataddressof the game's memory
The following functions can be used to write data to game memory:
Show
-
WriteBool(uint64 address, bool value): writes the booleanvaluetoaddressof the game's memory -
WriteInt8(uint64 address, int8 value): writes the int8valuetoaddressof the game's memory -
WriteInt16(uint64 address, int16 value): writes the int16valuetoaddressof the game's memory -
WriteInt32(uint64 address, int32 value): writes the int32valuetoaddressof the game's memory -
WriteInt64(uint64 address, int64 value): writes the int64valuetoaddressof the game's memory -
WriteFloat(uint64 address, float value): writes the floatvaluetoaddressof the game's memory -
WriteDouble(uint64 address, double value): writes the doublevaluetoaddressof the game's memory -
WriteArrayInt8(uint64 address, table array): writes the int8arraytoaddressof the game's memory -
WriteArrayInt16(uint64 address, table array): writes the int16arraytoaddressof the game's memory -
WriteArrayInt32(uint64 address, table array): writes the int32arraytoaddressof the game's memory -
WriteArrayInt64(uint64 address, table array): writes the int64arraytoaddressof the game's memory -
WriteArrayFloat(uint64 address, table array): writes the floatarraytoaddressof the game's memory -
WriteArrayDouble(uint64 address, table array): writes the doublearraytoaddressof 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.
Show
-
FillAndSlideInt8(uint64 address, int64 addressIncrement, int8 value, int8 valueIncrement, uint8 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes -
FillAndSlideInt16(uint64 address, int64 addressIncrement, int16 value, int16 valueIncrement, uint16 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes -
FillAndSlideInt32(uint64 address, int64 addressIncrement, int32 value, int32 valueIncrement, uint32 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes -
FillAndSlideInt64(uint64 address, int64 addressIncrement, int64 value, int64 valueIncrement, uint32 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes -
FillAndSlideFloat(uint64 address, int64 addressIncrement, float value, float valueIncrement, uint32 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes -
FillAndSlideDouble(uint64 address, int64 addressIncrement, double value, double valueIncrement, uint32 count): consecutively writesvalue+valueIncrementtoaddress+addressIncrementcounttimes
Show
-
LogText(char* text): Logs the giventextto the log frame -
LogUInt8(uint8 value, bool hex): Logs the given uint8valueto the log frame. Ifhexis true, the printed value will be in hex -
LogUInt16(uint16 value, bool hex): Logs the given uint16valueto the log frame. Ifhexis true, the printed value will be in hex -
LogUInt32(uint32 value, bool hex): Logs the given uint32valueto the log frame. Ifhexis true, the printed value will be in hex -
LogUInt64(uint64 value, bool hex): Logs the given uint64valueto the log frame. Ifhexis true, the printed value will be in hex -
LogInt8(int8 value, bool hex): Logs the given int8valueto the log frame. Ifhexis true, the printed value will be in hex -
LogInt16(int16 value, bool hex): Logs the given int16valueto the log frame. Ifhexis true, the printed value will be in hex -
LogInt32(int32 value, bool hex): Logs the given int32valueto the log frame. Ifhexis true, the printed value will be in hex -
LogInt64(int64 value, bool hex): Logs the given int64valueto the log frame. Ifhexis true, the printed value will be in hex -
LogFloat(float value): Logs the given floatvalueto the log frame -
LogDouble(double value): Logs the given doublevalueto the log frame -
LogBool(bool value): Logs the given boolvalueto the log frame
Show
-
bool IsInRange(uint64 value, uint64 start, uint64 end): Checks ifvalueis >=startand <end. This can be used to verify pointers are within a valid range to prevent possible game crashes during loading times -
copyMemory(uint64 source, uint64 destination, uint32 count): copies thecountbytes of memory located atsourcetodestination
Show
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.
Example: Addr = 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.