Version / Update: v1.0.0
- Download / Script Link
- 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()[ View More ]
-> KillAura as Durr-> Autofarm Durz-> Autofarm Wins