local ReGui = loadstring(game:HttpGet('[Link]
com/depthso/
Dear-ReGui/refs/heads/main/[Link]'))()
local PrefabsId = "rbxassetid://" .. [Link]
--// Services
local InsertService = game:GetService("InsertService")
local RunService = game:GetService("RunService")
local MarketplaceService = game:GetService("MarketplaceService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MaterialService = game:GetService("MaterialService")
local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")
local GameInfo = MarketplaceService:GetProductInfo([Link])
local LocalPlayer = [Link]
local Rooms = [Link]
ReGui:Init({
Prefabs = InsertService:LoadLocalAsset(PrefabsId)
})
local Window = ReGui:TabsWindow({
Title = `{[Link]} | Depso`,
Size = [Link](0, 350, 0, 370),
Position = [Link](0.5, 0, 0, 70),
CloseCallback = CloseCallback
}):Center()
local function Alert(Text: string)
local ModalWindow = Window:PopupModal({
Title = "Attention"
})
ModalWindow:Label({
Text = Text,
TextWrapped = true
})
ModalWindow:Separator()
ModalWindow:Button({
Text = "Okay",
Callback = function()
ModalWindow:Close()
end,
})
end
local DiscoveredItems = {}
local Doors = {}
local ItemsWhitelist = {
"Sandwich",
"Cheese",
"Closet key",
"Flower",
"Explodsive ball",
"Drink"
}
local Positions = {
["Painting"] = [Link](-397, 3, -11),
["Lobby"] = [Link](-277, 4, 0),
["Office"] = [Link](-484, 4, 11),
["Basement"] = [Link](-523, -16, -35),
["Picnic"] = [Link](-615, 4, 6),
["Roof front"] = [Link](-265, 30, 0),
["Hallway end"] = [Link](-486, 4, -1),
["Attic"] = [Link](-367, -28, -260)
}
local Overwrites = { --// Name, Properities
["Explodsive ball"] = {
Color = [Link](0, 255, 0)
},
["Closet key"] = {
Color = [Link](245, 205, 48)
},
["Sandwich"] = {
Parent = workspace:FindFirstChild("Picnic Basket"),
[{
Child = "Sandwich",
}] = {
[{
Child = "Mesh",
}] = {
MeshId = "[Link]
}
}
},
["Broom stick"] = {
[{
Child = "Mesh",
}] = {
MeshId = "[Link]
}
},
["Cheese"] = {
[{
Child = "Mesh",
}] = {
MeshId = "[Link]
}
},
["Drink"] = {
[{
Child = "Mesh",
}] = {
MeshId = "[Link]
}
},
["OfficeTV"] = {
[{
Child = "Sound",
}] = {
SoundId = "rbxassetid://12221976"
}
},
["OfficePC"] = {
[{
Child = "BlueScreen",
}] = {}
},
["Cup"] = {
Name = "Cup"
},
}
local Spams = {
["WeatherTv"] = "Weather Tv",
["Radio"] = "Radio mute",
["AtticRadio"] = "Attic radio mute",
["Curtain"] = "Curtains",
["Warm"] = "Crouch",
["OfficeTV"] = "Office TV",
["OfficePC"] = "Office Computer",
["Cup"] = "Cup plushie",
["Opey"] = "Open Painting",
["Op"] = "Open Booksheilf"
}
local ServerTab = Window:CreateTab({
Name = "Server",
Visible = true
})
--// Viewport frame
local PreviewHeader = ServerTab:TreeNode({
Title = "Preview",
Collapsed = false
})
local Viewport = PreviewHeader:Viewport({
Size = [Link](1, 0, 0, 120),
Clone = true, --// Otherwise will parent
})
local ViewportConnection = [Link]:Connect(function(deltaTime)
local ItemModel: Instance = [Link]
if not ItemModel then return end
local YRotation = 30 * deltaTime
local Rotation = [Link](0,[Link](YRotation),0)
local cFrame = ItemModel:GetPivot() * Rotation
ItemModel:PivotTo(cFrame)
end)
ServerTab:Separator()
local ItemsHeader = ServerTab:TreeNode({
Title = "Tools 🧹",
})
--// Specific matches
local Items = {
["^CD%d$"] = ItemsHeader:TreeNode({
Title = "CDs",
})
}
local function GetExtentsSize(Item)
local Size
if Item:IsA("Model") then
Size = Item:GetExtentsSize()
else
Size = [Link]
end
return [Link](0, Size.Y, Size.Z)
end
local function GetItem(Match: string)
local Match = tostring(Match)
for _, Item in next, DiscoveredItems do
local Name = [Link]
if Name == Match then
return Item
end
end
return
end
local function FireItemClick(Item: Instance)
local ClickDetector = Item:FindFirstChildOfClass("ClickDetector")
if not ClickDetector then return end
return fireclickdetector(ClickDetector)
end
local function FireTouchPart(Part: BasePart)
local TouchTransmitter = Part:FindFirstChildOfClass("TouchTransmitter")
if not TouchTransmitter then return end
local Character = [Link]
local Root = [Link]
firetouchinterest(Root, Part, 0)
wait()
firetouchinterest(Root, Part, 1)
end
local function CreateButtons(Config)
local Item = [Link]
local Parent = [Link]
local Name = [Link] or [Link]
local Callback = [Link] or function()
return FireItemClick(Item)
end
local ButtonsRow = Parent:Row()
ButtonsRow:Button({
Text = `Collect {Name}`,
Callback = Callback,
})
ButtonsRow:Button({
Text = "Preview",
Callback = function(self)
local Size = GetExtentsSize(Item)
Viewport:SetModel(Item, [Link](0, 0, -[Link]))
end,
})
end
local function CheckProps(Item, Properities)
for Key, Match in next, Properities do
--// Child check
if typeof(Key) == "table" then
local Name = [Link]
local Child = Item:FindFirstChild(Name)
Properities = Match
if not Child or not CheckProps(Child, Properities) then
return
end
continue
end
local Success, Value = pcall(function()
return Item[Key]
end)
if not Success then return end
if Value ~= Match then return end
end
return true
end
local function CheckItem(Item, Parent, Depth)
local ClickDetector = Item:FindFirstChildOfClass("ClickDetector")
if not ClickDetector then return end
--// No players
if Players:GetPlayerFromCharacter(Item) then return end
if Players:GetPlayerFromCharacter(Parent) then return end
--// Check properities
for NewName, Properities in next, Overwrites do
if not CheckProps(Item, Properities) then
continue
end
[Link] = NewName
end
[Link](DiscoveredItems, Item)
--// Create buttons
local Matched = false
for Match, Parent in next, Items do
if [Link]:match(Match) then
CreateButtons({
Item = Item,
Parent = Parent,
})
Matched = true
end
end
--// --Blacklist-- Whitelist check
if not [Link](ItemsWhitelist, [Link]) then return end
--// Filter hidden/disabled
if Item:IsA("BasePart") and [Link] >= 1 then
return
end
if not Matched then
CreateButtons({
Item = Item,
Parent = ItemsHeader,
})
end
end
local function RecursiveScan(Parent, CallBack, MaxDepth, CurrentDepth)
CurrentDepth = CurrentDepth or 0
if CurrentDepth > MaxDepth then return end
for _, Child in next, Parent:GetChildren() do
CallBack(Child, Parent, CurrentDepth)
RecursiveScan(Child, CallBack, MaxDepth, CurrentDepth+1)
end
end
local function ProcessDoors()
----// Doors
for _, Room: Model in next, Rooms:GetChildren() do
local Door = Room:FindFirstChild("Door")
if not Door then continue end
Doors[Door] = [Link]
end
end
--// Items give section, create buttons
RecursiveScan(workspace, CheckItem, 4)
ProcessDoors()
local Broom = GetItem("Broom stick")
CreateButtons({
Item = Broom,
Parent = ItemsHeader,
Callback = function()
--// Name of tools
local KeyName = "Key"
local BroomName = "Broom"
local Backpack = [Link]
local Character = [Link]
local Humanoid = [Link]
local OldPivot = Character:GetPivot()
local ClosetDoor = [Link]
--// Closed
local ClosedDoor = ClosetDoor.Door1
local MainDoor = [Link]
local OpenPrompt = MainDoor:FindFirstChildOfClass("ProximityPrompt")
--// Open
local OpenDoor = ClosetDoor.Door1Open
local RandomOpenPart = OpenDoor:GetChildren()[1]
--// Get key
local KeyTool = Backpack:FindFirstChild(KeyName)
if Backpack:FindFirstChild(BroomName) then
return Alert("You already own the broom 😱")
end
if not KeyTool then
local Key = GetItem("Closet key")
FireItemClick(Key)
KeyTool = Backpack:WaitForChild(KeyName)
end
Humanoid:EquipTool(KeyTool)
--// Open door
local DoorPivot = MainDoor:GetPivot()
Character:PivotTo(DoorPivot)
repeat
fireproximityprompt(OpenPrompt)
wait(.05)
until [Link] < 1
--// Collect broom stick
local BroomPivot = Broom:GetPivot()
Character:PivotTo(BroomPivot)
repeat
FireItemClick(Broom)
wait()
until Backpack:FindFirstChild(BroomName)
Character:PivotTo(OldPivot)
end
})
local LadderGet = [Link]
CreateButtons({
Item = LadderGet,
Parent = ItemsHeader,
Name = "Ladder",
Callback = function()
local Character = [Link]
local OldPivot = Character:GetPivot()
local Prompt = LadderGet:FindFirstChildOfClass("ProximityPrompt")
local LadderPivot = LadderGet:GetPivot() * [Link](0,0,2)
Character:PivotTo(LadderPivot)
wait(.5)
fireproximityprompt(Prompt)
Character:PivotTo(OldPivot)
end
})
local Toggles = ServerTab:TreeNode({
Title = "Interactive ",
})
local function AddSpam(Title, Delay, Callback)
local ButtonsRow = Toggles:Row()
ButtonsRow:Button({
Text = Title,
Callback = Callback,
})
local SpamEnabled = false
ButtonsRow:Button({
Text = "Spam",
Callback = function(self)
SpamEnabled = not SpamEnabled
[Link] = SpamEnabled and "Stop spam 🔴" or "Spam"
while SpamEnabled and wait(Delay) do
pcall(Callback) --// Connections may cause an error
end
end,
})
end
for Spam, Title in next, Spams do
AddSpam(Title, .01, function()
for _, Item in next, DiscoveredItems do
local Name = [Link]
if Name ~= Spam then continue end
FireItemClick(Item)
end
end)
end
AddSpam("Open Room Doors", 0.5, function()
for _, Room: Model in next, Rooms:GetChildren() do
local Door = Room:FindFirstChild("Door")
local DoorClosed = Door.Door1
local Main = [Link]
local IsLocked = [Link]
if IsLocked then continue end
FireTouchPart(Main)
end
end)
AddSpam("Open Front Doors", 0.5, function()
local MainDoor = [Link]
for _, Touch in next, MainDoor:GetDescendants() do
if not Touch:IsA("TouchTransmitter") then continue end
local Part = [Link]
FireTouchPart(Part)
end
end)
AddSpam("Open Office Door", 0.5, function()
local Office = [Link]
local Door = [Link]
local Open = [Link]
FireTouchPart(Open)
end)
AddSpam("Open Basement", 0.2, function()
local Basement = [Link]
local Door = [Link]
local Open = [Link]
FireTouchPart(Open)
end)
AddSpam("Spam Basement Codes", 0.4, function()
local Length = 4
for i = 1, Length do
local Digit = [Link](1, 9)
local Button = GetItem(Digit)
FireItemClick(Button)
end
end)
function CloseCallback()
ViewportConnection:Disconnect()
end
local Destruction = ServerTab:TreeNode({
Title = "Destruction 💥",
})
Destruction:Button({
Text = "Bring chairs",
Callback = function(self)
local Character = [Link]
local Humanoid = [Link]
local Target = Character:GetPivot()
for _, Room in next, Rooms:GetChildren() do
local Chairs = [Link]:FindFirstChild("Chairs")
if not Chairs then continue end --// Chairs respawning
--// Chairs
for _, Chair in next, Chairs:GetChildren() do
local Seat = Chair:FindFirstChildOfClass("Seat")
if [Link] then continue end
--// Wait until claimed
while wait() and Seat and not [Link] do
Seat:Sit(Humanoid)
end
--// Teleport the chair
Chair:PivotTo(Target)
wait()
[Link] = false
end
end
end,
})
Destruction:Button({
Text = "Tool Reach",
Callback = function(self)
local Character = [Link]
local Humanoid = [Link]
local Size = 400
for _, Tool in next, Character:GetChildren() do
if not Tool:IsA("Tool") then continue end
[Link] = true
[Link] = [Link](Size,Size,Size)
Humanoid:UnequipTools()
end
end,
})
--// Client Tab
local ClientTab = Window:CreateTab({
Name = "Client"
})
--// Teleports
local MapHeader = ClientTab:TreeNode({
Title = "Map ",
})
local Teleports = MapHeader:TreeNode({
Title = "Teleports 🛸",
})
for Name, Pivot in next, Positions do
Teleports:Button({
Text = Name,
Callback = function(self)
local Character = [Link]
Character:PivotTo(Pivot)
end,
})
end
MapHeader:Checkbox({
Label = "No doors",
Callback = function(self, Value)
for Door, Parent in next, Doors do
[Link] = not Value and Parent or nil
end
end,
})
--// Weather
local WeatherHeader = ClientTab:TreeNode({
Title = "Weather ",
})
WeatherHeader:Checkbox({
Label = "No Rain",
Callback = function(self, Value)
[Link] = not Value
local RainFolder: model = workspace:FindFirstChild("Rain Home")
if Value then
RainFolder:ClearAllChildren()
end
end,
})
WeatherHeader:Button({
Text = "Stop Rain",
Callback = function(self)
[Link] = "Sunny"
[Link]:Stop()
local RainySky = Lighting:FindFirstChild("RainySky")
if RainySky then
RainySky:Remove()
end
local SunnySky = MaterialService:FindFirstChild("Sky")
SunnySky:Clone().Parent = Lighting
end,
})
--// Player
local PlayerHeader = ClientTab:TreeNode({
Title = "Player",
})
PlayerHeader:SliderInt({
Label = "Walkspeed",
Value = 16,
Minimum = 1,
Maximum = 100,
Callback = function(self, Value)
local Character = [Link]
local Humanoid = [Link]
[Link] = Value
end,
})