local repo = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/" local Library = loadstring(game:HttpGet(repo .. "Library.lua"))() local ThemeManager = loadstring(game:HttpGet(repo .. "addons/ThemeManager.lua"))() local SaveManager = loadstring(game:HttpGet(repo .. "addons/SaveManager.lua"))() local Options = Library.Options local Toggles = Library.Toggles local LocalPlayer = game.Players.LocalPlayer local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local Teams = game:GetService("Teams") local TeleportService = game:GetService("TeleportService") local Window = Library:CreateWindow({ Title = "Murdurr", Footer = "v0.0.1", ToggleKeybind = Enum.KeyCode.RightControl, Center = true, AutoShow = true }) local CombatTab = Window:AddTab("Combat", "swords") local UISettings = Window:AddTab("Settings", "sliders-horizontal") local DurrBox = CombatTab:AddLeftGroupbox("Durr") local Autofarm = CombatTab:AddLeftGroupbox("Autofarm") local DurrKillAuraToggle = DurrBox:AddToggle("KillAura1", { Text = "Killaura", Default = false, Tooltip = "must be durr to use this", Callback = function(Value) end }) local KillAuraRange = DurrBox:AddSlider("KillAuraRange", { Text = "Range", Default = 10, Min = 1, Max = 25, Rounding = 1, Compact = false, Callback = function(Value) end }) local KillauraSpeed = DurrBox:AddSlider("KillauraSpeed", { Text = "Attack Speed", Default = 0.25, Min = 0.01, Max = 0.25, Rounding = 3, Compact = false, Callback = function(Value) end }) local lastAttackTime = 0 local attackCooldown = 0.1 local cachedGetEdibilityStatus = nil local function getremote() local char = LocalPlayer.Character if not char then return nil end local tool = char:FindFirstChild("Eat") if not tool then return nil end local event = tool:FindFirstChild("EatEvent") return event end local function getEdibilityStatus(part) if not cachedGetEdibilityStatus then cachedGetEdibilityStatus = filtergc("function", {Name="getEdibilityStatus"}, true) end if not cachedGetEdibilityStatus then return false end local edible, color = cachedGetEdibilityStatus(part) return edible == true end local function getValidTarget(char) local limbNames = { "Left Arm", "Right Arm", "Left Leg", "Right Leg", "LeftArm", "RightArm", "LeftLeg", "RightLeg" } local hasLimbs = false for _, limbName in ipairs(limbNames) do if char:FindFirstChild(limbName) then hasLimbs = true break end end if hasLimbs then for _, limbName in ipairs(limbNames) do local limb = char:FindFirstChild(limbName) if limb and getEdibilityStatus(limb) then return limb end end return nil end local head = char:FindFirstChild("Head") if head then if getEdibilityStatus(head) then return head end return nil end local torsoNames = {"Torso", "UpperTorso", "LowerTorso", "EdibleTorso"} for _, torsoName in ipairs(torsoNames) do local torso = char:FindFirstChild(torsoName) if torso and getEdibilityStatus(torso) then return torso end end return nil end RunService.Heartbeat:Connect(function() if Toggles.KillAura1.Value == false then return end local currentTime = tick() if currentTime - lastAttackTime < Options.KillauraSpeed.Value then return end local remote = getremote() if not remote then return end local localteam = LocalPlayer.Team if not localteam or localteam.Name ~= "Durr" then return end local mychar = LocalPlayer.Character if not mychar then return end local myhrp = mychar:FindFirstChild("HumanoidRootPart") if not myhrp then return end for _, player in pairs(game.Players:GetPlayers()) do if player == LocalPlayer then continue end local team = player.Team if team and team.Name == "Alive" then local char = player.Character if not char then continue end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then continue end local distance = (myhrp.Position - hrp.Position).Magnitude if distance < Options.KillAuraRange.Value then local validPart = getValidTarget(char) if validPart then remote:FireServer(validPart) lastAttackTime = currentTime return end end end end end) local DurzAutoFarm = Autofarm:AddToggle("DurzAutoFarm1", { Text = "Durz Autofarm", Default = false, Callback = function(Value) end }) task.spawn(function() while true do wait() if DurzAutoFarm.Value then local localplayer = game.Players.LocalPlayer local mychar = localplayer.Character if not mychar then continue end local myroot = mychar:FindFirstChild("HumanoidRootPart") if not myroot then continue end mychar:MoveTo(workspace.Obbies.AwardParts.Hardest.Position + Vector3.new(0,10,0)) end end end) local WinsAutofarm = Autofarm:AddToggle("WinsAutofarm", { Text = "Wins Autofarm", Default = false, Callback = function(Value) if not Value then targetchar = nil end end }) local targetchar = nil task.spawn(function() while true do task.wait() if WinsAutofarm.Value then local localplayer = game.Players.LocalPlayer local mychar = localplayer.Character if not mychar then continue end local myroot = mychar:FindFirstChild("HumanoidRootPart") if not myroot then continue end local team = localplayer.Team if not team then continue end if team.Name == "Dead" then targetchar = nil continue end if team.Name == "Alive" then targetchar = nil myroot.CFrame = CFrame.new(0, 1000, 0) continue end if team.Name == "Durr" then for _, plr in pairs(game.Players:GetPlayers()) do if plr == localplayer then continue end local char = plr.Character if not char then continue end local root = char:FindFirstChild("HumanoidRootPart") if not root then continue end local playerteam = plr.Team if not playerteam or playerteam.Name ~= "Alive" then continue end while true do task.wait() if not WinsAutofarm.Value then targetchar = nil break end char = plr.Character if not char then targetchar = nil break end root = char:FindFirstChild("HumanoidRootPart") if not root then targetchar = nil break end mychar = localplayer.Character if not mychar then targetchar = nil break end myroot = mychar:FindFirstChild("HumanoidRootPart") if not myroot then targetchar = nil break end playerteam = plr.Team if not playerteam or playerteam.Name ~= "Alive" then targetchar = nil break end local myteam = localplayer.Team if not myteam or myteam.Name ~= "Durr" then targetchar = nil break end targetchar = char myroot.CFrame = root.CFrame end end end else targetchar = nil end end end) task.spawn(function() while true do task.wait(0.25) if WinsAutofarm.Value then local remote = getremote() if not remote then continue end local currentTarget = targetchar if not currentTarget then continue end local validPart = getValidTarget(currentTarget) if validPart then remote:FireServer(validPart) end end end end) local function serverhop() local placeId = game.PlaceId local url = "https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?sortOrder=Asc&limit=100" local success, errormsg = pcall(function() return game:HttpGet(url) end) local data = HttpService:JSONDecode(errormsg) if not data and not data.data then return end local currentjobid = game.JobId for _, server in pairs(data.data) do if server.id ~= currentjobid and server.playing > 8 and server.playing < server.maxPlayers then TeleportService:TeleportToPlaceInstance(placeId, server.id) return end end end task.spawn(function() while true do task.wait(0.1) if #game.Players:GetPlayers() == 1 then serverhop() end end end) local vu = game:GetService("VirtualUser") game:GetService("Players").LocalPlayer.Idled:connect(function() vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame) wait(1) vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame) end) ThemeManager:SetLibrary(Library) SaveManager:SetLibrary(Library) SaveManager:IgnoreThemeSettings() SaveManager:SetIgnoreIndexes({ "MenuKeybind" }) ThemeManager:SetFolder("nodiddy/diddy") SaveManager:SetFolder("nodiddy/diddy") SaveManager:BuildConfigSection(UISettings) ThemeManager:ApplyToTab(UISettings) SaveManager:LoadAutoloadConfig()