--Variables local SPEED = 60 --Walkspeed 60~80 local ESP_CHEST = true --ESP chest local ESP_BOOK = true --ESP Exp book local INSTANT_INTERACT = true --0 duration interact --Scripts local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local WS = game:GetService("Workspace") local plr = Players.LocalPlayer --Speed if SPEED > 0 then local conn local function setup(char) local hum = char:WaitForChild("Humanoid") hum.WalkSpeed = SPEED if conn then conn:Disconnect() end conn = hum:GetPropertyChangedSignal("WalkSpeed"):Connect(function() if hum.WalkSpeed ~= SPEED then hum.WalkSpeed = SPEED end end) end if plr.Character then setup(plr.Character) end plr.CharacterAdded:Connect(setup) end --Float do local part, func, died, on = nil, nil, nil, false local name = "Float_" .. math.random(10000,99999) local function stop() if not on then return end on = false if part then part:Destroy() part = nil end if func then func:Disconnect() func = nil end if died then died:Disconnect() died = nil end end local function start() if on then return end local char = plr.Character if not char or char:FindFirstChild(name) then return end on = true part = Instance.new("Part") part.Name = name; part.Parent = char part.Transparency = 1 part.Size = Vector3.new(2,0.2,1.5) part.Anchored = true part.CFrame = char:GetPivot() * CFrame.new(0,-3.1,0) local hum = char:FindFirstChildWhichIsA("Humanoid") if hum then died = hum.Died:Connect(stop) end func = RunService.Heartbeat:Connect(function() local c = plr.Character local r = c and c:FindFirstChild("HumanoidRootPart") if c and part and part.Parent == c and r then part.CFrame = r.CFrame * CFrame.new(0,-3.1,0) else stop() end end) end UIS.InputBegan:Connect(function(i,g) if not g and i.KeyCode == Enum.KeyCode.R then if on then stop() else start() end end end) end --ESP if ESP_CHEST or ESP_BOOK then local folder = Instance.new("Folder") folder.Name = "ESP_Highlights" folder.Parent = WS local function isTarget(name) if ESP_CHEST and name:match("^DungeonChest_%x+%-%x+%-%x+%-%x+%-%x+$") then return true end if ESP_BOOK and name:match("^EXPBook_%x+%-%x+%-%x+%-%x+%-%x+$") then return true end return false end local function getModel(part) while part and not part:IsA("Model") do part = part.Parent end return part end local function highlight(part) if not part:IsA("BasePart") or part:FindFirstChild("ESP_HL") then return end local hl = Instance.new("Highlight") hl.Name = "ESP_HL"; hl.Parent = folder; hl.Adornee = part hl.FillColor = Color3.fromRGB(255,255,0) hl.OutlineColor = Color3.fromRGB(255,0,0) hl.FillTransparency = 0.3 hl.OutlineTransparency = 0.2 end local function hlModel(model) if model:IsA("Model") then for _,p in ipairs(model:GetDescendants()) do highlight(p) end end end local function scan(parent) for _,c in ipairs(parent:GetChildren()) do if c:IsA("Model") and isTarget(c.Name) then hlModel(c) end if c:IsA("Model") or c:IsA("Folder") then scan(c) end end end scan(WS) WS.DescendantAdded:Connect(function(d) if d:IsA("Model") and isTarget(d.Name) then hlModel(d) elseif d:IsA("BasePart") then local m = getModel(d) if m and isTarget(m.Name) then highlight(d) end end end) end --Instant interact if INSTANT_INTERACT then local function set(p) if p:IsA("ProximityPrompt") then p.HoldDuration = 0 end end for _,p in ipairs(WS:GetDescendants()) do set(p) end WS.DescendantAdded:Connect(set) end