Epic Heroes: Eternal Dream Diamond and Menu Cheat
What sets this topic apart is that it comes with a ready-made cheat menu code. Paste the code we wrote for Epic Heroes: Eternal Dream into Libtool and you can toggle options such as power, damage and critical hits with a single tap from the menu that opens.
About Epic Heroes: Eternal Dream
Epic Heroes: Eternal Dream is a turn-based RPG set in a pixel-art fantasy world where you collect heroes and build up your team. Explore dungeons, fight powerful enemies and bosses, upgrade your gear and uncover the secrets behind the darkness. Combining heroes from different classes into the right line-up is the key to clearing the hardest stages.
🎬 Video Guide
🛠️ How to Do It
- Install MumuPlayer, JSHook and Libtool by following the Libtool installation guide.
- Open the game in the emulator and make sure Libtool is running.
- Copy the code below and paste it into the script section in Libtool.
- Tick the feature you want to use in the menu that opens.
⌨️ Cheat Code
-- Generated by trgala Menu Designer
local win = UI.createWindow("visual_menu", "Epic Heroes Eternal Dream", { width = 472, height = 479 })
local w = win
Hook.toggle("visual_menu:control_1", false, function() end)
UI.checkbox(win, "control_1", "FREE PURCHASE", false, function(value)
Hook.toggle("visual_menu:control_1", value, function()
Hook.redirectDirect({declaring="UnityEngine.Purchasing.PurchaseService", name="PurchaseFailed", static=false, params={"UnityEngine.Purchasing.FailedOrder"}, returns="System.Void", genericArity=0, token=100663860, genericArgs={}, advanced=false}, {declaring="UnityEngine.Purchasing.PurchaseService", name="PurchaseSucceeded", static=false, params={"UnityEngine.Purchasing.PendingOrder"}, returns="System.Void", genericArity=0, token=100663857, genericArgs={}, advanced=false})
end)
end)
UI.setWidgetLayout(win, "control_1", { x = 8, y = 12, width = 190, height = 48 })
Hook.toggle("visual_menu:control_2", false, function() end)
UI.checkbox(win, "control_2", "DEVTOOL", false, function(value)
Hook.toggle("visual_menu:control_2", value, function()
local __method = {declaring="PopupCheat", name="Open", static=false, params={}, returns="Void", token=100666399, genericArity=0, genericArgs={}, advanced=false, allowNullThis=false}
local done = 0
local c = Class.fromName("PopupCheat")
if not c then return end
local objects = c:findObjectsFresh() or {}
if not objects[1] then print("Call Open failed: no live object") return end
for objectIndex, obj in ipairs(objects) do
for callIndex = 1, 1 do
local ok, values = pcall(function() return table.pack(Call.exact(__method, obj)) end)
if ok then
done = done + 1
for resultIndex = 1, values.n do
if values[resultIndex] ~= nil then
print("Open result " .. tostring(resultIndex) .. "=" .. tostring(values[resultIndex]))
end
end
else
print("Call Open failed: " .. tostring(values))
end
end
end
print("Call Open done=" .. tostring(done))
end)
end)
UI.setWidgetLayout(win, "control_2", { x = 8, y = 72, width = 190, height = 48 })
Hook.toggle("visual_menu:control_3", false, function() end)
UI.checkbox(win, "control_3", "GOD MODE", false, function(value)
Hook.toggle("visual_menu:control_3", value, function()
Hook.nop({declaring="HeroBehavior", name="OnDamageReceive", static=false, params={"WorldMessage.Damage"}, returns="System.Void", genericArity=0, token=100670421, genericArgs={}, advanced=false})
end)
end)
UI.setWidgetLayout(win, "control_3", { x = 8, y = 132, width = 190, height = 48 })
Hook.toggle("visual_menu:control_4", false, function() end)
UI.checkbox(win, "control_4", "DAMAGE", false, function(value)
Hook.toggle("visual_menu:control_4", value, function()
Hook.returnObject("HeroStats", "get_realDamage", ((function() local __obj = Instance.box("System.ValueTuple<System.Int32,System.Boolean>"); if not __obj then return nil end; __obj:setField("Item1", 999999999); __obj:setField("Item2", true); return __obj end)()), 0, {}, 100667262)
end)
end)
UI.setWidgetLayout(win, "control_4", { x = 8, y = 192, width = 190, height = 48 })
Hook.toggle("visual_menu:control_5", false, function() end)
UI.checkbox(win, "control_5", "CRITCAL HIT", false, function(value)
Hook.toggle("visual_menu:control_5", value, function()
do
Hook.returnBool("HeroStats", "get_criticalHit", true, 0, {}, 100667264)
end
do
Hook.returnInt("HeroStats", "RealCriticalDamage", 999999999, 1, {"Int32"}, 100667265)
end
end)
end)
UI.setWidgetLayout(win, "control_5", { x = 8, y = 252, width = 190, height = 48 })
Hook.toggle("visual_menu:control_6", false, function() end)
UI.checkbox(win, "control_6", "POWER", false, function(value)
Hook.toggle("visual_menu:control_6", value, function()
Hook.returnInt("HeroStats", "get_power", 99999999, 0, {}, 100667261)
end)
end)
UI.setWidgetLayout(win, "control_6", { x = 12, y = 312, width = 190, height = 48 })