local LMG2L = {};
local player = game:GetService("Players").LocalPlayer
local RS = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
getgenv().Settings = getgenv().Settings or {}
local BG_COLOR = Color3.fromRGB(15, 15, 18)
local SIDEBAR_COLOR = Color3.fromRGB(12, 12, 15)
local ACCENT_COLOR = Color3.fromRGB(60, 120, 255)
local TEXT_COLOR = Color3.fromRGB(180, 180, 180)
local TAB_INACTIVE = Color3.fromRGB(22, 22, 25)
local STROKE_COLOR = Color3.fromRGB(40, 40, 45)
local SECONDARY_BG = Color3.fromRGB(20, 20, 25)
LMG2L["ScreenGui_1"] = Instance.new("ScreenGui", game:GetService("CoreGui"));
LMG2L["ScreenGui_1"]["Name"] = "DiddyHub_Premium";
LMG2L["ScreenGui_1"]["ResetOnSpawn"] = false;
local UI = LMG2L
UI["MainFrame"] = Instance.new("Frame", UI["ScreenGui_1"]);
UI["MainFrame"].Size = UDim2.new(0, 580, 0, 420)
UI["MainFrame"].Position = UDim2.new(0.5, -290, 0.5, -210)
UI["MainFrame"].BackgroundColor3 = BG_COLOR
UI["MainFrame"].BorderSizePixel = 0
UI["MainFrame"].ClipsDescendants = true
UI["MainCorner"] = Instance.new("UICorner", UI["MainFrame"])
UI["MainCorner"].CornerRadius = UDim.new(0, 10)
UI["MainStroke"] = Instance.new("UIStroke", UI["MainFrame"])
UI["MainStroke"].Color = STROKE_COLOR
UI["MainStroke"].Thickness = 1.5
UI["Sidebar"] = Instance.new("Frame", UI["MainFrame"])
UI["Sidebar"].Size = UDim2.new(0, 150, 1, 0)
UI["Sidebar"].BackgroundColor3 = SIDEBAR_COLOR
UI["Sidebar"].BorderSizePixel = 0
UI["SidebarCorner"] = Instance.new("UICorner", UI["Sidebar"])
UI["SidebarCorner"].CornerRadius = UDim.new(0, 10)
UI["SidebarStroke"] = Instance.new("UIStroke", UI["Sidebar"])
UI["SidebarStroke"].Color = STROKE_COLOR
UI["SidebarTitle"] = Instance.new("TextLabel", UI["Sidebar"])
UI["SidebarTitle"].Size = UDim2.new(1, 0, 0, 50)
UI["SidebarTitle"].Position = UDim2.new(0, 0, 0, 5)
UI["SidebarTitle"].BackgroundTransparency = 1
UI["SidebarTitle"].Text = "DRILL HUB"
UI["SidebarTitle"].TextColor3 = ACCENT_COLOR
UI["SidebarTitle"].TextSize = 18
UI["SidebarTitle"].Font = Enum.Font.GothamBold
UI["TabContainer"] = Instance.new("Frame", UI["Sidebar"])
UI["TabContainer"].Size = UDim2.new(1, -20, 1, -100)
UI["TabContainer"].Position = UDim2.new(0, 10, 0, 60)
UI["TabContainer"].BackgroundTransparency = 1
UI["TabLayout"] = Instance.new("UIListLayout", UI["TabContainer"])
UI["TabLayout"].Padding = UDim.new(0, 6)
UI["TopBar"] = Instance.new("Frame", UI["MainFrame"])
UI["TopBar"].Size = UDim2.new(1, -150, 0, 40)
UI["TopBar"].Position = UDim2.new(0, 150, 0, 0)
UI["TopBar"].BackgroundTransparency = 1
UI["TitleText"] = Instance.new("TextLabel", UI["TopBar"])
UI["TitleText"].Size = UDim2.new(1, -30, 1, 0)
UI["TitleText"].Position = UDim2.new(0, 15, 0, -2)
UI["TitleText"].BackgroundTransparency = 1
UI["TitleText"].Text = "Drill Digging Simulator [LMG2L Edition]"
UI["TitleText"].TextColor3 = Color3.fromRGB(200, 200, 200)
UI["TitleText"].TextSize = 13
UI["TitleText"].Font = Enum.Font.GothamMedium
UI["TitleText"].TextXAlignment = Enum.TextXAlignment.Left
UI["ContentArea"] = Instance.new("Frame", UI["MainFrame"])
UI["ContentArea"].Size = UDim2.new(1, -150, 1, -40)
UI["ContentArea"].Position = UDim2.new(0, 150, 0, 40)
UI["ContentArea"].BackgroundTransparency = 1
UI["ScrollFrame"] = Instance.new("ScrollingFrame", UI["ContentArea"])
UI["ScrollFrame"].Size = UDim2.new(1, -20, 1, -10)
UI["ScrollFrame"].Position = UDim2.new(0, 10, 0, 5)
UI["ScrollFrame"].BackgroundTransparency = 1
UI["ScrollFrame"].BorderSizePixel = 0
UI["ScrollFrame"].ScrollBarThickness = 3
UI["ScrollFrame"].ScrollBarImageColor3 = ACCENT_COLOR
UI["ScrollFrame"].CanvasSize = UDim2.new(0, 0, 0, 0)
local tabs = {}
local currentTab = nil
local function createTab(name)
local tabIdx = #tabs + 1
local btnKey = "TabBtn_" .. tabIdx
local contKey = "TabCont_" .. tabIdx
UI[btnKey] = Instance.new("TextButton", UI["TabContainer"])
UI[btnKey].Size = UDim2.new(1, 0, 0, 32)
UI[btnKey].BackgroundColor3 = TAB_INACTIVE
UI[btnKey].BackgroundTransparency = 1
UI[btnKey].Text = " " .. name
UI[btnKey].TextColor3 = TEXT_COLOR
UI[btnKey].TextSize = 13
UI[btnKey].Font = Enum.Font.GothamMedium
UI[btnKey].TextXAlignment = Enum.TextXAlignment.Left
local btnCorner = Instance.new("UICorner", UI[btnKey])
btnCorner.CornerRadius = UDim.new(0, 6)
local btnStroke = Instance.new("UIStroke", UI[btnKey])
btnStroke.Color = STROKE_COLOR
btnStroke.Transparency = 1
UI[contKey] = Instance.new("Frame", UI["ScrollFrame"])
UI[contKey].Size = UDim2.new(1, 0, 1, 0)
UI[contKey].BackgroundTransparency = 1
UI[contKey].Visible = false
local contentList = Instance.new("UIListLayout", UI[contKey])
contentList.Padding = UDim.new(0, 10)
contentList.SortOrder = Enum.SortOrder.LayoutOrder
local function updateCanvas()
if currentTab == name then
local totalHeight = 0
for _, child in pairs(UI[contKey]:GetChildren()) do
if child:IsA("GuiObject") then
totalHeight = totalHeight + child.Size.Y.Offset + 10
end
end
UI["ScrollFrame"].CanvasSize = UDim2.new(0, 0, 0, totalHeight + 40)
end
end
UI[btnKey].MouseButton1Click:Connect(function()
if currentTab == name then return end
for _, t in pairs(tabs) do
t.btn.BackgroundTransparency = 1
t.btn.TextColor3 = TEXT_COLOR
t.stroke.Transparency = 1
t.content.Visible = false
end
UI[btnKey].BackgroundTransparency = 0
UI[btnKey].TextColor3 = ACCENT_COLOR
btnStroke.Transparency = 0
UI[contKey].Visible = true
currentTab = name
updateCanvas()
end)
local tab = {btn = UI[btnKey], content = UI[contKey], stroke = btnStroke, update = updateCanvas}
table.insert(tabs, tab)
UI[contKey].ChildAdded:Connect(updateCanvas)
UI[contKey].ChildRemoved:Connect(updateCanvas)
return UI[contKey]
end
local function createSection(parent, text)
local lbl = Instance.new("TextLabel", parent)
lbl.Size = UDim2.new(1, 0, 0, 25)
lbl.BackgroundTransparency = 1
lbl.Text = " " .. text:upper()
lbl.TextColor3 = ACCENT_COLOR
lbl.TextSize = 11
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
return lbl
end
local function createToggle(parent, text, settingName, callback)
local frame = Instance.new("Frame", parent)
frame.Size = UDim2.new(1, -5, 0, 42)
frame.BackgroundColor3 = SECONDARY_BG
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", frame).Color = STROKE_COLOR
local label = Instance.new("TextLabel", frame)
label.Size = UDim2.new(1, -60, 1, 0)
label.Position = UDim2.new(0, 12, 0, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = TEXT_COLOR
label.TextSize = 13
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
local toggleOuter = Instance.new("Frame", frame)
toggleOuter.Size = UDim2.new(0, 36, 0, 20)
toggleOuter.Position = UDim2.new(1, -48, 0.5, -10)
toggleOuter.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
Instance.new("UICorner", toggleOuter).CornerRadius = UDim.new(1, 0)
Instance.new("UIStroke", toggleOuter).Color = STROKE_COLOR
local toggleInner = Instance.new("Frame", toggleOuter)
toggleInner.Size = UDim2.new(0, 14, 0, 14)
toggleInner.Position = UDim2.new(0, 3, 0.5, -7)
toggleInner.BackgroundColor3 = Color3.fromRGB(150, 150, 150)
Instance.new("UICorner", toggleInner).CornerRadius = UDim.new(1, 0)
local toggleBtn = Instance.new("TextButton", toggleOuter)
toggleBtn.Size = UDim2.new(1, 0, 1, 0)
toggleBtn.BackgroundTransparency = 1
toggleBtn.Text = ""
local enabled = false
toggleBtn.MouseButton1Click:Connect(function()
enabled = not enabled
getgenv().Settings[settingName] = enabled
local targetPos = enabled and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7)
local targetColor = enabled and ACCENT_COLOR or Color3.fromRGB(150, 150, 150)
TweenService:Create(toggleInner, TweenInfo.new(0.2), {Position = targetPos, BackgroundColor3 = targetColor}):Play()
callback(enabled)
end)
return frame
end
local function createButton(parent, text, callback)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(1, -5, 0, 38)
btn.BackgroundColor3 = SECONDARY_BG
btn.Text = text
btn.TextColor3 = TEXT_COLOR
btn.TextSize = 13
btn.Font = Enum.Font.GothamMedium
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", btn).Color = STROKE_COLOR
btn.MouseButton1Click:Connect(callback)
return btn
end
local function GetToolPlayer()
local char = player.Character or player.CharacterAdded:Wait()
local t = char:FindFirstChildOfClass("Tool")
if t then return t end
local b = player.Backpack:FindFirstChildOfClass("Tool")
if b then b.Parent = char return b end
end
local mainTab = createTab("MAIN")
createSection(mainTab, "OP Exploits")
createToggle(mainTab, "Infinite Diddy Dollars", "InfMoney", function(state)
if state then
task.spawn(function()
while getgenv().Settings["InfMoney"] do
task.wait()
local t = GetToolPlayer()
if t then RS.GiveCash:FireServer(t) end
end
end)
end
end)
createToggle(mainTab, "Diddy's Auto Miner", "AutoDrill", function(state)
if state then
task.spawn(function()
local dig = require(RS.DigModule)
while getgenv().Settings["AutoDrill"] do
task.wait()
local t = GetToolPlayer()
if t then pcall(function() dig.StartDigConn(t) end) end
end
end)
end
end)
createSection(mainTab, "Auto Farm")
createToggle(mainTab, "Auto Buy Diddy Drill", "AutoBuyDrill", function(state)
if state then
task.spawn(function()
while getgenv().Settings["AutoBuyDrill"] do
task.wait()
local owned = RS.DrillShop.GetOwnedDrills:InvokeServer(player)
local skins = RS.DrillShop.GetSkinPrices:InvokeServer(player)
local drillList = {}
for name, data in pairs(skins) do table.insert(drillList, {Name = name, LayoutOrder = data.LayoutOrder, Price = data.Price}) end
table.sort(drillList, function(a, b) return a.LayoutOrder < b.LayoutOrder end)
for _, d in ipairs(drillList) do
if not owned[d.Name] then
if player.leaderstats.Cash.Value >= tonumber(d.Price) then
RS.DrillShop.BuySkin:InvokeServer(d.Name)
RS.DrillShop.EquipSkin:InvokeServer(d.Name, true)
end
break
end
end
end
end)
end
end)
createToggle(mainTab, "Upscale Digging Diddy", "DigSize", function(state)
if state then
task.spawn(function()
while getgenv().Settings["DigSize"] do
task.wait()
local t = GetToolPlayer()
if t then t:SetAttribute("DigSize", 75) end
end
end)
end
end)
createButton(mainTab, "Overpowered Diddy Power", function()
player.DrillPowerMultiplier.Value = 50
end)
createSection(mainTab, "World Options")
createToggle(mainTab, "Auto Win All Diddy Worlds", "AutoWinAll", function(state)
if state then
task.spawn(function()
while getgenv().Settings["AutoWinAll"] do
task.wait()
local char = player.Character or player.CharacterAdded:Wait()
local root = char.HumanoidRootPart
for _, w in pairs(workspace.Worlds:GetChildren()) do
if not getgenv().Settings["AutoWinAll"] then break end
local p = w.EndZone.EndCircle.Part
firetouchinterest(root, p, 0)
task.wait(0.05)
firetouchinterest(root, p, 1)
end
end
end)
end
end)
createToggle(mainTab, "Dimension Diddy Unlocker", "UnlockWorlds", function(state)
if state then
task.spawn(function()
local worldMod = require(RS.WorldModule)
while getgenv().Settings["UnlockWorlds"] do
task.wait()
for _, w in pairs(RS.Worlds:GetChildren()) do worldMod:UnlockWorld(w.Name) end
end
end)
end
end)
createButton(mainTab, "Speedrun to Selected Diddy City", function()
local char = player.Character or player.CharacterAdded:Wait()
local root = char.HumanoidRootPart
end)
local dragging, dragInput, dragStart, startPos
UI["TopBar"].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true dragStart = input.Position startPos = UI["MainFrame"].Position
input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end)
end
end)
UI["TopBar"].InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
UI["MainFrame"].Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
tabs[1].btn.BackgroundTransparency = 0
tabs[1].btn.TextColor3 = ACCENT_COLOR
tabs[1].stroke.Transparency = 0
tabs[1].content.Visible = true
currentTab = "MAIN"
tabs[1].update()
return UI["ScreenGui_1"]