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) end