For enabling/disabling cheats based on a condition (like a specific item or switch), you can add checks:
if (/*condition here*/)
// Enable cheats
else
// Disable cheats
Copy into a new plugin file (e.g., CheatMenu.js) in your project's js/plugins folder and enable it in Plugin Manager.
/*:
* @plugindesc Universal Cheat Menu — quick debug/cheat utilities for testing (MV)
* @author ---
* @help
* Call $gameTemp.reserveCommonEvent(CHEAT_COMMON_EVENT_ID) or set up a key to
* trigger the common event that runs the menu. Configure CHEAT_COMMON_EVENT_ID below.
*/
(function()
var CHEAT_COMMON_EVENT_ID = 1; // ID of Common Event named "Cheat Menu" (change to your event id)
var CHEAT_SHOW_ONLY_PLAYTEST = true; // set false to allow in builds
// Utility helpers
function actorList() return $dataActors.filter(a=>a).map(a=>a.id);
function actorById(id) return $gameActors.actor(id);
function addItem(id, amount) $gameParty.gainItem($dataItems[id], amount);
function addWeapon(id, amount) $gameParty.gainItem($dataWeapons[id], amount);
function addArmor(id, amount) $gameParty.gainItem($dataArmors[id], amount);
function setGold(amount) $gameParty._gold = Math.max(0, amount);
function toggleEncounter(flag) $gamePlayer._encounterCount = flag ? 0 : 999999; // crude
function teleport(mapId, x, y) SceneManager.push(Scene_Map); $gamePlayer.reserveTransfer(mapId, x, y, 2, 0);
// Expose a global command runner used by Common Event's script calls
window.CheatMenu =
toggleGod: function(actorId)1);
if(!a) return;
a._cheatGod = !a._cheatGod;
if(a._cheatGod)
a._hp = a.mhp; a._mp = a.mmp;
,
setHP: function(actorId, hp),
setMP: function(actorId, mp),
maxAll: function(actorId)
var a = actorById(actorId,
giveGold: function(amount) setGold(Number(amount),
addItem: function(itemType, id, amount)0; amount = Number(amount),
addState: function(actorId, stateId)1); ,
removeState: function(actorId, stateId),
setLevel: function(actorId, level)1); if(!a) return;
a.setLevel(Number(level),
giveAllSkills: function(actorId)1); if(!a) return;
$dataSkills.forEach(function(s) if(s) a.learnSkill(s.id); );
,
teleport: function(mapId, x, y)1, Number(x),
toggleEncounter: function(off) toggleEncounter(!!off); ,
quickSave: function(slot)1;
DataManager.saveGame(s);
,
quickLoad: function(slot),
setSwitch: function(id, val)1, !!val); ,
setVariable: function(id, val),
isAllowed: function()
if(!CHEAT_SHOW_ONLY_PLAYTEST) return true;
return Utils.isOptionValid('test'); // allows only in playtest
;
// Hook into battle damage application to implement God mode
var _Game_Actor_performDamage = Game_Actor.prototype.performDamage;
Game_Actor.prototype.performDamage = function()
if(this._cheatGod) return; // skip damage animation and logic? keep simple: prevent HP change
_Game_Actor_performDamage.apply(this, arguments);
;
)();
If you are a developer reading this, you might be worried. Here is how to block the Universal Cheat Menu: universal cheat menu for rpg maker mv
However, consider this: Instead of blocking cheats, add a "Story Mode" difficulty slider that does the same thing. Players will thank you.
This is the simplest cheat to test if your connection is working. For enabling/disabling cheats based on a condition (like
In technical terms, the Universal Cheat Menu (UCM) is a JavaScript plugin designed specifically for games built on RPG Maker MV (and often MZ via compatibility patches). Unlike traditional cheat engines that search for memory addresses (which change with every update), the UCM interfaces directly with the game’s core variables, switches, and database.
Think of it as a developer console that you, the player, can access at the press of a button. Copy into a new plugin file (e
You changed a value that the game didn't expect (e.g., setting a variable to "Text" when it expected a "Number"). Restart the game and try again.