Merhaba arkadaşlar! Bu konuda Epic Heroes: Eternal Dream oyununda Libtool ile hazırladığımız hile menüsünü nasıl kullanacağınızı adım adım anlatıyoruz. Menüdeki özellikleri tek tıkla açıp kapatabilirsiniz.
Oyun linki: Google Play · Gereken araç: Libtool kurulumu (MumuPlayer)
Epic Heroes: Eternal Dream Hakkında
Epic Heroes: Eternal Dream, piksel grafiklere sahip fantastik bir dünyada kahramanlar toplayıp takımınızı geliştirdiğiniz, sıra tabanlı savaşlara dayanan bir RPG oyunudur. Zindanları keşfedin, güçlü düşmanlarla ve bölüm sonu canavarlarıyla savaşın, ekipmanlarınızı güçlendirin ve karanlığın ardındaki sırları ortaya çıkarın. Farklı sınıflardan kahramanları bir araya getirip doğru takım dizilişini kurmak, zorlu bölümleri geçmenin anahtarıdır.
Yapılış Videosu
Nasıl Yapılır?
- Libtool kurulumu rehberindeki adımlarla MumuPlayer, JSHook ve Libtool’u kurun.
- Oyunu emülatörde açın ve Libtool’un çalıştığından emin olun.
- Aşağıdaki kodu kopyalayın ve Libtool’daki script kısmına yapıştırın.
- Açılan menüden kullanmak istediğiniz özelliği işaretleyin.
Hile Kodu
-- 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 })
Sorun yaşarsanız konunun altına yazın; yardımcı olalım.
