Monster Ghoul Script
Monster Ghoul's progression runs on RC cells that fund kagune upgrades and ability unlocks - and farming them manually is the same repetitive loop every session until your numbers are high enough to progress. Auto Farm handles the cell collection automatically so your ghoul keeps developing without active grinding. Copy the script below and run it through your executor.
3 working scriptsloadstring(game:HttpGet('https://raw.githubusercontent.com/borntodiekuv/KeybrewHub/main/Main'))()Monster Ghoul Scripts (Pastebin & More)
To run any of these scripts you will need a working Roblox executor. Check out the list at that link for free and paid options that work in 2026.
Monster Ghoul Huborscript Hub Script:
Monster Ghoul Huborscript Hub Script:
loadstring(game:HttpGet('https://raw.githubusercontent.com/borntodiekuv/KeybrewHub/main/Main'))()Monster Ghoul Infinite Stats & Invisible Script:
Monster Ghoul Infinite Stats & Invisible Script:
loadstring(game:HttpGet(('https://raw.githubusercontent.com/itsyouranya/free/main/monsterghoul.lua'),true))()Monster Ghoul Script Pastebin2026 :
Monster Ghoul Script Pastebin2026 :
repeat wait() until game:IsLoaded() and pcall(function() local _ = game.HttpGet end);
local library = loadstring(game:HttpGet("https://raw.githubusercontent.com/DevSoGod/MyScript/main/library"))()
local Window = library:CreateWindow("Monster Ghoul || (not update any more)")
local Tab = Window:CreateTab("Main")
local Sector = Tab:CreateSector("Section1", "left")
Sector:AddDropdown("Method",{"Behind" , "Front" , "Over" , "Under" }, "Behind" ,false , function(v)
_G.Method = v
end)
Sector:AddTextbox("Distance" , "6" , function(w)
_G.Distance = tonumber(w)
end)
Sector:AddToggle("Auto YoshimuraQuest", false, function(t)
_G.AutoQuest = t
end)
Sector:AddToggle("Auto CashOut", false, function(t)
_G.CashOut = t
end)
local Sector = Tab:CreateSector("Section2", "Right")
boss = Sector:AddDropdown("Boss",{},false,true , function(v)
_G.Boss = v
end)
Sector:AddButton("RefreshBoss", function()
for o = 1,5 do
for _,v in pairs(boss:getList()) do
boss:Remove(tostring(v))
end
end
a = {}
for i,v in pairs(workspace.NPCs.BossSpawns:GetChildren()) do
table.insert(a,v.Name)
end
for _,v in pairs(a) do
if not table.find(boss:getList(), v) then
boss:Add(v)
end
end
end)
Sector:AddToggle("Auto Boss", false, function(t)
_G.AutoBoss = t
end)
local Sector = Tab:CreateSector("Section2", "Right")
t = Sector:AddDropdown("Select Trainer",{},false,false , function(v)
_G.Trainer = v
end)
Sector:AddButton("Refresh Trainer", function()
for o = 1,5 do
for _,v in pairs(t:getList()) do
t:Remove(tostring(v))
end
end
a = {}
for i,v in pairs(workspace.Trainer.Map:GetChildren()) do
table.insert(a,v.Name)
end
for _,v in pairs(a) do
if not table.find(t:getList(), v) then
t:Add(v)
end
end
end)
Sector:AddToggle("Auto Train", false, function(t)
_G.AutoTrain = t
end)
local Tab = Window:CreateTab("Attack")
local Sector = Tab:CreateSector("Section2", "Right")
aa = Sector:AddDropdown("Select Skill",{} ,false, true, function(v)
_G.Skill = v
end)
Sector:AddButton("RefreshSkill", function()
for o = 1,5 do
for _,v in pairs(aa:getList()) do
aa:Remove(tostring(v))
end
end
a = {}
for i,v in pairs(game:GetService("Players").LocalPlayer.PlayerGui.MobileController:GetChildren()) do
if v.ClassName == "ImageButton" then
table.insert(a,v.Name)
end
end
for _,v in pairs(a) do
if not table.find(aa:getList(), v) then
aa:Add(v)
end
end
end)
Sector:AddToggle("AutoSkill", false, function(t)
_G.AutoSkill = t
end)
bb = Sector:AddDropdown("Select Equip",{} ,false, false, function(v)
_G.Equip = v
end)
Sector:AddButton("RefreshSkill", function()
for o = 1,5 do
for _,v in pairs(bb:getList()) do
bb:Remove(tostring(v))
end
end
a = {}
for i,v in pairs(game:GetService("Players").LocalPlayer.PlayerGui.MainUI.StageNumber.Frame:GetChildren()) do
if v.ClassName == "TextButton" then
table.insert(a,v.Text)
end
end
for _,v in pairs(a) do
if not table.find(bb:getList(), v) then
bb:Add(v)
end
end
end)
Sector:AddToggle("AutoEquip", false, function(t)
_G.AutoEquip = t
end)
local Tab = Window:CreateTab("Zones")
local Sector = Tab:CreateSector("Section1", "Left")
Sector:AddDropdown("Respawn Map",{"ArataKirishimaSpawn","ArenaSpawn","DCExchangerSpawn","MaskSpawn","QuinxSpawn","YoshimuraSpawn1","YoshimuraSpawn2","YoshitokiSpawn2"} ,"YoshimuraSpawn1", false, function(v)
_G.Map = v
end)
Sector:AddToggle("Auto Respawn", false, function(t)
_G.AutoRespawn = t
end)
local Sector = Tab:CreateSector("Section2", "Right")
for i,v in pairs(workspace.Indicator:GetChildren()) do
Sector:AddButton(v.Name, function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
end)
end
spawn(function()
pcall(function()
while wait() do
pcall(function()
if _G.AutoBoss then
pcall(function()
if table.find(_G.Boss,"DragonBoss") and workspace.NPCs.BossSpawns.DragonBoss:FindFirstChildOfClass("Model") and workspace.NPCs.BossSpawns.DragonBoss:FindFirstChildOfClass("Model"):FindFirstChild("Humanoid") then
if workspace.NPCs.BossSpawns.DragonBoss.DragonBoss:FindFirstChild("Scene") and tostring(workspace.NPCs.BossSpawns.DragonBoss.DragonBoss.HumanoidRootPart.CFrame) == "2936.21997, 685.60498, -641.000977, 0, 0, 1, 0, 1, -0, -1, 0, 0" then
for i,v in pairs(workspace.NPCs.BossSpawns:GetChildren()) do
if v.Name == "DragonBoss" then
for i,vv in pairs(v.DragonBoss.Scene:GetChildren()) do
if vv:FindFirstChild("Humanoid") then
if _G.Method == "Behind" then
MethodFarm = CFrame.new(0,0,_G.Distance) * CFrame.Angles(math.rad(0),0,0)
elseif _G.Method == "Front" then
MethodFarm = CFrame.new(0,0,-_G.Distance) * CFrame.Angles(math.rad(0),1800,0)
elseif _G.Method == "Under" then
MethodFarm = CFrame.new(0,-_G.Distance,0) * CFrame.Angles(math.rad(90),0,0)
elseif _G.Method == "Over" then
MethodFarm = CFrame.new(0,_G.Distance,0) * CFrame.Angles(math.rad(-90),0,0)
else
MethodFarm = CFrame.new(0,0,_G.Distance)
end
local BeenASecond, V3 = false, Vector3.new(0, 0, 0)
for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v.IsA(v, "BasePart") then
v.Velocity, v.RotVelocity = V3, V3
end
end
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = vv.HumanoidRootPart.CFrame * MethodFarm or CFrame.new(0,0,_G.Distance)
end
end
end
end
else
if _G.Method == "Behind" then
MethodFarm = CFrame.new(0,0,_G.Distance) * CFrame.Angles(math.rad(0),0,0)
elseif _G.Method == "Front" then
MethodFarm = CFrame.new(0,0,-_G.Distance) * CFrame.Angles(math.rad(0),1800,0)
elseif _G.Method == "Under" then
MethodFarm = CFrame.new(0,-_G.Distance,0) * CFrame.Angles(math.rad(90),0,0)
elseif _G.Method == "Over" then
MethodFarm = CFrame.new(0,_G.Distance,0) * CFrame.Angles(math.rad(-90),0,0)
else
MethodFarm = CFrame.new(0,0,_G.Distance)
end
local BeenASecond, V3 = false, Vector3.new(0, 0, 0)
for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v.IsA(v, "BasePart") then
v.Velocity, v.RotVelocity = V3, V3
end
end
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = workspace.NPCs.BossSpawns.DragonBoss.DragonBoss.HumanoidRootPart.CFrame * MethodFarm or CFrame.new(0,0,_G.Distance)
end
elseif table.find(_G.Boss,"DragonBoss") and not workspace.NPCs.BossSpawns.DragonBoss:FindFirstChildOfClass("Model") and workspace.NPCs.BossSpawns.DragonBoss:FindFirstChild("TouchInterest") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = workspace.NPCs.BossSpawns.DragonBoss.CFrame
else
for i,v in pairs(workspace.NPCs.BossSpawns:GetChildren()) do
if v:FindFirstChild("TouchInterest") and table.find(_G.Boss,v.Name) and not v:FindFirstChildOfClass("Model") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
elseif v:FindFirstChild("TouchInterest") and table.find(_G.Boss,v.Name) and v:FindFirstChildOfClass("Model") and v:FindFirstChildOfClass("Model"):FindFirstChild("Humanoid") then
repeat task.wait()
if _G.Method == "Behind" then
MethodFarm = CFrame.new(0,0,_G.Distance) * CFrame.Angles(math.rad(0),0,0)
elseif _G.Method == "Front" then
MethodFarm = CFrame.new(0,0,-_G.Distance) * CFrame.Angles(math.rad(0),1800,0)
elseif _G.Method == "Under" then
MethodFarm = CFrame.new(0,-_G.Distance,0) * CFrame.Angles(math.rad(90),0,0)
elseif _G.Method == "Over" then
MethodFarm = CFrame.new(0,_G.Distance,0) * CFrame.Angles(math.rad(-90),0,0)
else
MethodFarm = CFrame.new(0,0,_G.Distance)
end
local BeenASecond, V3 = false, Vector3.new(0, 0, 0)
for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v.IsA(v, "BasePart") then
v.Velocity, v.RotVelocity = V3, V3
end
end
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v:FindFirstChildOfClass("Model").PrimaryPart.CFrame * MethodFarm or CFrame.new(0,0,_G.Distance)
until not v:FindFirstChildOfClass("Model") or not _G.AutoBoss
end
end
end
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait(1) do
pcall(function()
if _G.CashOut then
pcall(function()
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("RepCashOut"):InvokeServer()
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait(1) do
pcall(function()
for i,v in pairs(game:GetService("Players").LocalPlayer.StorageFile.Gamepass:GetChildren()) do
v.Value = true
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait(1) do
if _G.AutoTrain and _G.Trainer then
pcall(function()
local args = {
[1] = _G.Trainer
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Trainer"):WaitForChild("TrainerTask"):InvokeServer(unpack(args))
wait(10)
local args = {
[1] = "LoveEto"
}
game:GetService("Players").LocalPlayer.Character.Remotes.TrainerReward:FireServer(unpack(args))
wait(5)
end)
end
end
end)
end)
local function getClosestMob()
local dist, thing = math.huge
for i,v in pairs(workspace.YoshitokiQuest.Storage:GetChildren()) do
for i,vv in pairs(v:GetChildren()) do
if vv:FindFirstChild("Humanoid") then
local mag = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - vv.HumanoidRootPart.Position).magnitude
if mag < dist then
dist = mag
thing = vv
end
end
end
end
return thing
end
spawn(function()
pcall(function()
while wait() do
pcall(function()
if _G.AutoQuest then
pcall(function()
game.Workspace.Camera.CameraType = "Attach"
end)
else
pcall(function()
game.Workspace.Camera.CameraType = "Custom"
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait(1) do
pcall(function()
if _G.AutoRespawn then
if game:GetService("Players").LocalPlayer.PlayerGui.TeleportUI.Enabled == true then
wait(2)
game:GetService("GuiService").SelectedObject = game:GetService("Players").LocalPlayer.PlayerGui.TeleportUI.Map[_G.Map].Btn
wait(.1)
game:GetService("VirtualInputManager"):SendKeyEvent(true, 13, false, game.Players.LocalPlayer.Character.HumanoidRootPart)
game:GetService("VirtualInputManager"):SendKeyEvent(false, 13, false, game.Players.LocalPlayer.Character.HumanoidRootPart)
wait(.1)
game:GetService("GuiService").SelectedObject = nil
end
end
end)
end
end)
end)
spawn(function()
pcall(function()
while task.wait() do
pcall(function()
game:GetService("Players").LocalPlayer.DevCameraOcclusionMode = "Invisicam"
game:GetService("Players").LocalPlayer.CameraMaxZoomDistance = 100000
end)
end
end)
end)
spawn(function()
pcall(function()
while wait() do
pcall(function()
if _G.AutoQuest then
pcall(function()
if getClosestMob() then
for i,v in pairs(workspace.YoshitokiQuest.Storage:GetChildren()) do
a = {}
for i,vv in pairs(v:GetChildren()) do
if vv:FindFirstChild("Humanoid") then
table.insert(a,vv.Name)
end
end
if #a == 0 then
v:Destroy()
end
end
else
wait(1)
local args = {
[1] = "Accept"
}
game:GetService("ReplicatedStorage").Remotes.Yoshimura.Task:InvokeServer(unpack(args))
end
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait() do
pcall(function()
if _G.AutoQuest then
pcall(function()
for i,v in pairs(workspace.YoshitokiQuest.Storage:GetChildren()) do
for i,vv in pairs(v:GetChildren()) do
if vv:FindFirstChild("Humanoid") then
repeat task.wait()
if _G.AutoQuest == true then
task.spawn(function()
if _G.Method == "Behind" then
MethodFarm = CFrame.new(0,0,_G.Distance) * CFrame.Angles(math.rad(0),0,0)
elseif _G.Method == "Front" then
MethodFarm = CFrame.new(0,0,-_G.Distance) * CFrame.Angles(math.rad(0),1800,0)
elseif _G.Method == "Under" then
MethodFarm = CFrame.new(0,-_G.Distance,0) * CFrame.Angles(math.rad(90),0,0)
elseif _G.Method == "Over" then
MethodFarm = CFrame.new(0,_G.Distance,0) * CFrame.Angles(math.rad(-90),0,0)
else
MethodFarm = CFrame.new(0,0,_G.Distance)
end
local BeenASecond, V3 = false, Vector3.new(0, 0, 0)
for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v.IsA(v, "BasePart") then
v.Velocity, v.RotVelocity = V3, V3
end
end
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = vv.HumanoidRootPart.CFrame * MethodFarm or CFrame.new(0,0,_G.Distance)
end)
end
until vv.Humanoid.Health <= 0 or _G.AutoQuest == false
end
end
end
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait() do
pcall(function()
if _G.AutoSkill then
pcall(function()
for i,v in pairs(_G.Skill) do
if game.Players.LocalPlayer.Character:FindFirstChildOfClass("Model") then
local args = {
[1] = v,
[2] = "Down"
}
game:GetService("Players").LocalPlayer.Character.Remotes.KeyEvent:FireServer(unpack(args))
wait()
end
end
end)
end
end)
end
end)
end)
spawn(function()
pcall(function()
while wait(1) do
pcall(function()
if _G.AutoEquip then
pcall(function()
if not game.Players.LocalPlayer.Character:FindFirstChildOfClass("Model") then
local args = {
[1] = _G.Equip,
[2] = "Down"
}
game:GetService("Players").LocalPlayer.Character.Remotes.KeyEvent:FireServer(unpack(args))
end
end)
end
end)
end
end)
end)
game:GetService("Players").LocalPlayer.Idled:connect(function()
game:GetService("VirtualUser"):CaptureController()
game:GetService("VirtualUser"):ClickButton2(Vector2.new())
end)
library:ConfigSystem("MonsterGhoul"):Load()
while wait(1) do
pcall(function()
library:ConfigSystem("MonsterGhoul"):Save()
end)
endHow to Use the Monster Ghoul Script
Copy a script from the list above first, then follow these in order.
- 01
Get a working executor - see our Roblox Executor list for free options on PC, Mobile, and Mac.
- 02
Launch Roblox and open Monster Ghoul.
- 03
Open your executor, then click Inject or Attach.
- 04
Copy any script above and paste it into the executor script box.
- 05
Press Execute - the GUI will appear in-game.
- 06
Toggle Auto Farm, Speed Hack, ESP and other features from the GUI menu.
- 07
Always use an alt account to protect your main.

About The Monster Ghoul Script
The gap between a newly awakened ghoul and a fully upgraded one in Monster Ghoul is significant, and the RC cell grind is what most players stall on. Auto Farm covers that side automatically while you focus on the PvP where the game is actually interesting.
These scripts are checked against the current Monster Ghoul version. If the game updates and something breaks, the community usually patches within a few days.
Use any of these on an alt account first to check compatibility with the current Monster Ghoul build before running on your main.
Looking for free rewards? Check out our Monster Ghoul Codes page for every working code.
For everything outside the script side - character builds, zone unlocks, and what changed in the latest update - the Monster Ghoul has it covered.
All scripts on this page are for educational purposes only. Using scripts in Roblox violates the Roblox Terms of Service and may result in your account being permanently banned or suspended without warning. RobloxDatabase.com is not responsible for any consequences from using these scripts. Always use an alt account - never your main.

