-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- Remote for color changes (nested under Remotes) local changeColorRemote = nil pcall(function() changeColorRemote = ReplicatedStorage:WaitForChild("Remotes", 5):WaitForChild("ChangeColorEvent", 5) end) if not changeColorRemote then changeColorRemote = ReplicatedStorage:FindFirstChild("ChangeColorEvent") end -- Remote for face/eye changes local accRemote = ReplicatedStorage:FindFirstChild("AccRemote") if not accRemote then pcall(function() accRemote = ReplicatedStorage:WaitForChild("Remotes", 5):WaitForChild("AccRemote", 5) end) end -- Colors for rainbow effects local RAINBOW_COLORS = { Color3.new(0.682353, 0, 0.6), Color3.new(0.266667, 0, 0.537255), Color3.new(0, 0.0196078, 0.65098), Color3.new(0, 0.643137, 0.776471), Color3.new(0, 0.580392, 0), Color3.new(0.862745, 0.686275, 0), Color3.new(0.823529, 0.482353, 0), Color3.new(0.670588, 0.101961, 0), } -- Colors for black & white effects local BW_COLORS = { Color3.new(0.756863, 0.756863, 0.756863), Color3.new(0.105882, 0.164706, 0.207843), } -- Eye asset IDs for rainbow eyes local EYE_IDS = { "rbxassetid://126347420054249", "rbxassetid://136356780204113", "rbxassetid://70569490052199", "rbxassetid://128295508235238", "rbxassetid://93848257213646", } -- Eye asset IDs for black and white eyes local BW_EYE_IDS = { "rbxassetid://72724439894284", "rbxassetid://129704456469996", } -- Cosmetics list local COSMETICS = { "SantaHat", "Pumpkin", "WizardHat", "Waffle", "PropellerHat", "TopHat", "TrafficCone", "Cap", "Duck", "Horns" } -- State local toggles = { rainbowPlayer = false, rainbowStrobe = false, veryFastRainbow = false, blackAndWhitePlayer = false, blackAndWhiteStrobe = false, veryFastBlackAndWhite = false, rainbowEyes = false, strobeRainbowEyes = false, blackAndWhiteEyes = false, strobeBlackAndWhiteEyes = false, noClip = false, fly = false, ghost = false, invisible = false, freeCam = false, spinActive = false, spamCosmetics = false, } -- Loops with remote firing local function rainbowPlayerLoop() if not changeColorRemote then return end local i = 1 while toggles.rainbowPlayer do pcall(function() changeColorRemote:FireServer(RAINBOW_COLORS[i]) end) i = i % #RAINBOW_COLORS + 1 task.wait(0.25) end end local function rainbowStrobeLoop() if not changeColorRemote then return end local i = 1 while toggles.rainbowStrobe do pcall(function() changeColorRemote:FireServer(RAINBOW_COLORS[i]) end) i = i % #RAINBOW_COLORS + 1 task.wait(0.06) end end local function veryFastRainbowLoop() if not changeColorRemote then return end local i = 1 while toggles.veryFastRainbow do pcall(function() changeColorRemote:FireServer(RAINBOW_COLORS[i]) end) i = i % #RAINBOW_COLORS + 1 task.wait(0.05) -- safer delay end end local function blackAndWhitePlayerLoop() if not changeColorRemote then return end local i = 1 while toggles.blackAndWhitePlayer do pcall(function() changeColorRemote:FireServer(BW_COLORS[i]) end) i = i % #BW_COLORS + 1 task.wait(0.5) end end local function blackAndWhiteStrobeLoop() if not changeColorRemote then return end local i = 1 while toggles.blackAndWhiteStrobe do pcall(function() changeColorRemote:FireServer(BW_COLORS[i]) end) i = i % #BW_COLORS + 1 task.wait(0.08) end end local function veryFastBlackAndWhiteLoop() if not changeColorRemote then return end local i = 1 while toggles.veryFastBlackAndWhite do pcall(function() changeColorRemote:FireServer(BW_COLORS[i]) end) i = i % #BW_COLORS + 1 task.wait(0.05) end end local function rainbowEyesLoop() if not accRemote then return end local i = 1 while toggles.rainbowEyes do pcall(function() accRemote:FireServer("SetFaceViaG", EYE_IDS[i]) end) i = i % #EYE_IDS + 1 task.wait(0.3) end end local function strobeRainbowEyesLoop() if not accRemote then return end local i = 1 while toggles.strobeRainbowEyes do pcall(function() accRemote:FireServer("SetFaceViaG", EYE_IDS[i]) end) i = i % #EYE_IDS + 1 task.wait(0.07) end end local function blackAndWhiteEyesLoop() if not accRemote then return end local i = 1 while toggles.blackAndWhiteEyes do pcall(function() accRemote:FireServer("SetFaceViaG", BW_EYE_IDS[i]) end) i = i % #BW_EYE_IDS + 1 task.wait(0.5) end end local function strobeBlackAndWhiteEyesLoop() if not accRemote then return end local i = 1 while toggles.strobeBlackAndWhiteEyes do pcall(function() accRemote:FireServer("SetFaceViaG", BW_EYE_IDS[i]) end) i = i % #BW_EYE_IDS + 1 task.wait(0.08) end end local function startLoop(toggleName, loopFunc) task.spawn(function() while toggles[toggleName] do loopFunc() end end) end -- ---------- MOVEMENT ABILITIES ---------- -- No Clip local function setNoClip(enabled) local character = player.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return end if enabled then for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end humanoid:ChangeState(Enum.HumanoidStateType.Physics) else for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) end end -- Fly local flight = { active = false, velocity = nil, gyro = nil, connection = nil, } local function stopFlight() flight.active = false if flight.connection then flight.connection:Disconnect() flight.connection = nil end if flight.velocity then flight.velocity:Destroy() flight.velocity = nil end if flight.gyro then flight.gyro:Destroy() flight.gyro = nil end local character = player.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = false humanoid.AutoRotate = true end end end local function startFlight() if flight.active then return end local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local root = character and character:FindFirstChild("HumanoidRootPart") if not character or not humanoid or not root or humanoid.Health <= 0 then return end flight.active = true humanoid.PlatformStand = true humanoid.AutoRotate = false flight.velocity = Instance.new("BodyVelocity") flight.velocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) flight.velocity.P = 10000 flight.velocity.Velocity = Vector3.zero flight.velocity.Parent = root flight.gyro = Instance.new("BodyGyro") flight.gyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) flight.gyro.P = 10000 flight.gyro.D = 500 flight.gyro.Parent = root flight.connection = RunService.RenderStepped:Connect(function(dt) if not flight.active or not root or not root.Parent then stopFlight() return end local camera = Workspace.CurrentCamera if not camera then return end local moveDir = humanoid.MoveDirection local look = camera.CFrame.LookVector local cameraFlat = Vector3.new(look.X, 0, look.Z) if cameraFlat.Magnitude > 0.01 then cameraFlat = cameraFlat.Unit end local forwardStrength = moveDir:Dot(cameraFlat) local sideDirection = Vector3.new(-cameraFlat.Z, 0, cameraFlat.X) local sideStrength = moveDir:Dot(sideDirection) local targetVelocity = Vector3.zero if moveDir.Magnitude > 0.01 then local fullLook = Vector3.new(look.X, look.Y, look.Z).Unit targetVelocity = fullLook * forwardStrength * 75 + sideDirection * sideStrength * 75 end local alpha = math.clamp(dt * 10, 0, 1) flight.velocity.Velocity = flight.velocity.Velocity:Lerp(targetVelocity, alpha) local faceDirection = Vector3.new(look.X, 0, look.Z) if faceDirection.Magnitude > 0.01 then flight.gyro.CFrame = CFrame.lookAt(root.Position, root.Position + faceDirection.Unit) end end) end -- Helper function to create a movable part and move camera with it local function createMovementPart(startPosition) local part = Instance.new("Part") part.Size = Vector3.new(1, 1, 1) part.Transparency = 1 part.CanCollide = false part.Anchored = false part.Position = startPosition part.Parent = Workspace local bodyVel = Instance.new("BodyVelocity") bodyVel.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bodyVel.P = 10000 bodyVel.Velocity = Vector3.zero bodyVel.Parent = part local bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bodyGyro.P = 10000 bodyGyro.D = 500 bodyGyro.Parent = part return part, bodyVel, bodyGyro end -- Ghost local ghost = { active = false, ghostPart = nil, bodyVel = nil, bodyGyro = nil, connection = nil, maintainConnection = nil, realCharacter = nil, realHumanoid = nil, realRoot = nil, originalWalkSpeed = 0, originalJumpPower = 0, } local function reapplyGhostState() if not ghost.active or not ghost.realCharacter or not ghost.realHumanoid then return end for _, part in ipairs(ghost.realCharacter:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = 1 part.CanCollide = false end end ghost.realHumanoid.WalkSpeed = 0 ghost.realHumanoid.JumpPower = 0 end local function stopGhost() if not ghost.active then return end ghost.active = false if ghost.realRoot and ghost.ghostPart and ghost.ghostPart.Parent then ghost.realRoot.CFrame = CFrame.new(ghost.ghostPart.Position) end if ghost.connection then ghost.connection:Disconnect() ghost.connection = nil end if ghost.maintainConnection then ghost.maintainConnection:Disconnect() ghost.maintainConnection = nil end if ghost.ghostPart then ghost.ghostPart:Destroy() ghost.ghostPart = nil end if ghost.realCharacter and ghost.realHumanoid then ghost.realHumanoid.WalkSpeed = ghost.originalWalkSpeed ghost.realHumanoid.JumpPower = ghost.originalJumpPower for _, part in ipairs(ghost.realCharacter:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = 0 part.CanCollide = true end end end local camera = Workspace.CurrentCamera if camera and ghost.realHumanoid then camera.CameraSubject = ghost.realHumanoid end ghost.realCharacter = nil ghost.realHumanoid = nil ghost.realRoot = nil end local function startGhost() if ghost.active then return end local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local root = character and character:FindFirstChild("HumanoidRootPart") if not character or not humanoid or not root then return end ghost.active = true ghost.realCharacter = character ghost.realHumanoid = humanoid ghost.realRoot = root ghost.originalWalkSpeed = humanoid.WalkSpeed ghost.originalJumpPower = humanoid.JumpPower humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false part.Transparency = 1 end end local part, bodyVel, bodyGyro = createMovementPart(root.Position) ghost.ghostPart = part ghost.bodyVel = bodyVel ghost.bodyGyro = bodyGyro local camera = Workspace.CurrentCamera if camera then camera.CameraSubject = part end ghost.maintainConnection = RunService.Heartbeat:Connect(reapplyGhostState) ghost.connection = RunService.RenderStepped:Connect(function(dt) if not ghost.active or not part or not part.Parent then stopGhost() return end local cam = Workspace.CurrentCamera if not cam then return end local moveDir = humanoid.MoveDirection local look = cam.CFrame.LookVector local cameraFlat = Vector3.new(look.X, 0, look.Z) if cameraFlat.Magnitude > 0.01 then cameraFlat = cameraFlat.Unit end local forwardStrength = moveDir:Dot(cameraFlat) local sideDirection = Vector3.new(-cameraFlat.Z, 0, cameraFlat.X) local sideStrength = moveDir:Dot(sideDirection) local targetVelocity = Vector3.zero if moveDir.Magnitude > 0.01 then local fullLook = Vector3.new(look.X, look.Y, look.Z).Unit targetVelocity = fullLook * forwardStrength * 50 + sideDirection * sideStrength * 50 end local alpha = math.clamp(dt * 10, 0, 1) bodyVel.Velocity = bodyVel.Velocity:Lerp(targetVelocity, alpha) local faceDirection = Vector3.new(look.X, 0, look.Z) if faceDirection.Magnitude > 0.01 then bodyGyro.CFrame = CFrame.lookAt(part.Position, part.Position + faceDirection.Unit) end cam.CameraSubject = part end) end -- Invisible (Fixed) local invisible = { active = false, maintainConnection = nil, originalPosition = nil, } local function reapplyInvisibleState() if not invisible.active then return end local character = player.Character if not character then return end for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = 1 part.CanCollide = false end end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 end local root = character:FindFirstChild("HumanoidRootPart") if root and root.Position.Y > -500 then root.CFrame = CFrame.new(0, -1000, 0) end end local function stopInvisible() if not invisible.active then return end invisible.active = false if invisible.maintainConnection then invisible.maintainConnection:Disconnect() invisible.maintainConnection = nil end if ghost.active then stopGhost() end local character = player.Character if character then for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = 0 part.CanCollide = true end end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 end end end local function startInvisible() if invisible.active then return end local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local root = character and character:FindFirstChild("HumanoidRootPart") if not character or not humanoid or not root then return end invisible.active = true invisible.originalPosition = root.Position startGhost() root.CFrame = CFrame.new(0, -1000, 0) for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false part.Transparency = 1 end end humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 invisible.maintainConnection = RunService.Heartbeat:Connect(reapplyInvisibleState) end -- Free Cam local freeCam = { active = false, camPart = nil, bodyVel = nil, bodyGyro = nil, connection = nil, originalCameraSubject = nil, } local function stopFreeCam() if not freeCam.active then return end freeCam.active = false if freeCam.connection then freeCam.connection:Disconnect() freeCam.connection = nil end if freeCam.camPart then freeCam.camPart:Destroy() freeCam.camPart = nil end local camera = Workspace.CurrentCamera if camera and freeCam.originalCameraSubject then camera.CameraSubject = freeCam.originalCameraSubject end end local function startFreeCam() if freeCam.active then return end local character = player.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local root = character and character:FindFirstChild("HumanoidRootPart") if not character or not humanoid or not root then return end freeCam.active = true local camera = Workspace.CurrentCamera freeCam.originalCameraSubject = camera and camera.CameraSubject or humanoid local part, bodyVel, bodyGyro = createMovementPart(camera.CFrame.Position) freeCam.camPart = part freeCam.bodyVel = bodyVel freeCam.bodyGyro = bodyGyro if camera then camera.CameraSubject = part end freeCam.connection = RunService.RenderStepped:Connect(function(dt) if not freeCam.active or not part or not part.Parent then stopFreeCam() return end local cam = Workspace.CurrentCamera if not cam then return end local moveDir = humanoid.MoveDirection local look = cam.CFrame.LookVector local cameraFlat = Vector3.new(look.X, 0, look.Z) if cameraFlat.Magnitude > 0.01 then cameraFlat = cameraFlat.Unit end local forwardStrength = moveDir:Dot(cameraFlat) local sideDirection = Vector3.new(-cameraFlat.Z, 0, cameraFlat.X) local sideStrength = moveDir:Dot(sideDirection) local targetVelocity = Vector3.zero if moveDir.Magnitude > 0.01 then local fullLook = Vector3.new(look.X, look.Y, look.Z).Unit targetVelocity = fullLook * forwardStrength * 50 + sideDirection * sideStrength * 50 end local alpha = math.clamp(dt * 10, 0, 1) bodyVel.Velocity = bodyVel.Velocity:Lerp(targetVelocity, alpha) local faceDirection = Vector3.new(look.X, 0, look.Z) if faceDirection.Magnitude > 0.01 then bodyGyro.CFrame = CFrame.lookAt(part.Position, part.Position + faceDirection.Unit) end cam.CameraSubject = part end) end -- ---------- COSMETIC ABILITIES ---------- local function putOnAllCosmetics() if not accRemote then return end for _, item in ipairs(COSMETICS) do pcall(function() accRemote:FireServer("Toggle", item, true) end) end end local function takeOffAllCosmetics() if not accRemote then return end for _, item in ipairs(COSMETICS) do pcall(function() accRemote:FireServer("Toggle", item, false) end) end end local function spamCosmeticsLoop() if not accRemote then return end local index = 1 while toggles.spamCosmetics do local prevIndex = index - 1 if prevIndex < 1 then prevIndex = #COSMETICS end pcall(function() accRemote:FireServer("Toggle", COSMETICS[prevIndex], false) end) pcall(function() accRemote:FireServer("Toggle", COSMETICS[index], true) end) index = index % #COSMETICS + 1 task.wait(1) end takeOffAllCosmetics() end -- Give all tools (CS) local function giveAllTools() local backpack = player:FindFirstChild("Backpack") if not backpack then return end local tools = {} for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Tool") then table.insert(tools, obj) end end for _, obj in ipairs(ReplicatedStorage:GetDescendants()) do if obj:IsA("Tool") then table.insert(tools, obj) end end for _, tool in ipairs(tools) do local clone = tool:Clone() clone.Parent = backpack end end -- Delete all tools (CS) local function deleteAllTools() local backpack = player:FindFirstChild("Backpack") if backpack then for _, tool in ipairs(backpack:GetChildren()) do if tool:IsA("Tool") then tool:Destroy() end end end end -- Teleport helper (CS) local function teleportTo(x, y, z) local character = player.Character local root = character and character:FindFirstChild("HumanoidRootPart") if root then root.CFrame = CFrame.new(x, y, z) end end -- Delete specific objects (CS) local function findFromPath(path) local parts = path:split(".") local current = Workspace for i, name in ipairs(parts) do if i == 1 and name == "Workspace" then current = Workspace else current = current:FindFirstChild(name) if not current then return nil end end end return current end local function deleteDoorLock() local door = findFromPath("Workspace.map.Doors.Door.DoorMoving.Door") if door then door:Destroy() end end local function deleteComingSoonDoors() for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "Wall" and obj:IsA("BasePart") then local pos = obj.Position if (pos - Vector3.new(-24.880157470703125, 11.72502326965332, 234.9499969482422)).Magnitude < 1 then obj:Destroy() end if (pos - Vector3.new(-3.0499839782714844, 12.350011825561523, 227.15000915527344)).Magnitude < 1 then obj:Destroy() end end end end local function destroySpeaker() local speaker = findFromPath("Workspace.map.Stuff.Boombox3") if speaker then speaker:Destroy() end end -- Spin around main area local spinPath = { {cf = CFrame.new(21.49, 14.28, 0.69), time = 0}, {cf = CFrame.new(21.49, 14.28, 0.69), time = 0.115}, {cf = CFrame.new(21.49, 14.28, 0.69), time = 0.23}, {cf = CFrame.new(21.49, 14.28, 0.69), time = 0.331}, {cf = CFrame.new(21.49, 14.28, 0.69), time = 0.447}, {cf = CFrame.new(21.28, 14.21, 1.6), time = 0.565}, {cf = CFrame.new(21.13, 13.97, 6.09), time = 0.681}, {cf = CFrame.new(21.06, 13.69, 11.68), time = 0.797}, {cf = CFrame.new(21.14, 13.43, 16.68), time = 0.898}, {cf = CFrame.new(22.11, 13.1, 22.4), time = 1.013}, {cf = CFrame.new(23.82, 12.82, 27.11), time = 1.114}, {cf = CFrame.new(25.37, 12.54, 32.73), time = 1.231}, {cf = CFrame.new(26.54, 12.34, 37.79), time = 1.333}, {cf = CFrame.new(29.37, 12.14, 42.68), time = 1.447}, {cf = CFrame.new(32.4, 11.96, 47.67), time = 1.565}, {cf = CFrame.new(37.14, 11.5, 49.83), time = 1.68}, {cf = CFrame.new(40.4, 10.8, 46.2), time = 1.781}, {cf = CFrame.new(41.57, 10.28, 40.53), time = 1.898}, {cf = CFrame.new(42.33, 9.87, 34.76), time = 2.014}, {cf = CFrame.new(43.08, 9.45, 28.99), time = 2.131}, {cf = CFrame.new(41.98, 9.36, 23.33), time = 2.249}, {cf = CFrame.new(38.24, 9.82, 18.91), time = 2.364}, {cf = CFrame.new(34.95, 10.43, 15.2), time = 2.464}, {cf = CFrame.new(32.02, 11.12, 10.23), time = 2.581}, {cf = CFrame.new(31.12, 11.41, 4.48), time = 2.697}, {cf = CFrame.new(27.55, 12.71, 1.01), time = 2.814}, {cf = CFrame.new(22.2, 14.56, 2.22), time = 2.932}, {cf = CFrame.new(18.08, 15.9, 6.03), time = 3.047}, {cf = CFrame.new(15.33, 16.67, 11.11), time = 3.165}, {cf = CFrame.new(12.74, 17.4, 16.23), time = 3.281}, {cf = CFrame.new(12.44, 17.72, 21.52), time = 3.398}, {cf = CFrame.new(13.23, 17.24, 26.39), time = 3.498}, {cf = CFrame.new(15.09, 16.18, 31.59), time = 3.609}, {cf = CFrame.new(17.26, 15.03, 36.19), time = 3.714}, {cf = CFrame.new(19.67, 13.87, 40.41), time = 3.814}, {cf = CFrame.new(22.6, 12.84, 45.32), time = 3.931}, {cf = CFrame.new(26.04, 12.15, 49.94), time = 4.048}, {cf = CFrame.new(31.36, 11.34, 51.75), time = 4.164}, {cf = CFrame.new(36.84, 10.58, 50.08), time = 4.281}, {cf = CFrame.new(41.4, 10.02, 46.52), time = 4.398}, {cf = CFrame.new(44.47, 9.68, 41.64), time = 4.514}, {cf = CFrame.new(44.85, 9.71, 35.84), time = 4.632}, {cf = CFrame.new(44.05, 9.86, 30.07), time = 4.748}, {cf = CFrame.new(42.45, 10.09, 24.47), time = 4.864}, {cf = CFrame.new(40.81, 10.32, 19.76), time = 4.965}, {cf = CFrame.new(38.94, 10.6, 14.25), time = 5.081}, {cf = CFrame.new(35.3, 11.17, 9.8), time = 5.198}, {cf = CFrame.new(30.03, 11.99, 7.75), time = 5.314}, {cf = CFrame.new(25.05, 12.7, 10.55), time = 5.432}, {cf = CFrame.new(20.86, 13.32, 14.55), time = 5.547}, {cf = CFrame.new(17.85, 13.76, 18.5), time = 5.648}, {cf = CFrame.new(16.5, 13.87, 24.08), time = 5.764}, {cf = CFrame.new(17.96, 13.35, 29.69), time = 5.881}, {cf = CFrame.new(20.19, 12.63, 34.09), time = 5.982}, {cf = CFrame.new(23.89, 11.56, 38.46), time = 6.098}, {cf = CFrame.new(27.74, 10.49, 42.72), time = 6.215}, {cf = CFrame.new(32.52, 9.37, 45.63), time = 6.331}, {cf = CFrame.new(37.39, 8.52, 45.31), time = 6.431}, {cf = CFrame.new(42.17, 7.9, 42.16), time = 6.547}, {cf = CFrame.new(44.96, 7.64, 38.03), time = 6.647}, {cf = CFrame.new(46.07, 7.65, 32.37), time = 6.764}, {cf = CFrame.new(44.89, 7.87, 26.67), time = 6.882}, {cf = CFrame.new(43.29, 8.13, 21.07), time = 6.998}, {cf = CFrame.new(41.67, 8.38, 15.47), time = 7.115}, {cf = CFrame.new(39.86, 8.74, 9.94), time = 7.231}, {cf = CFrame.new(36.27, 9.35, 5.52), time = 7.348}, {cf = CFrame.new(30.7, 10.17, 4.37), time = 7.464}, {cf = CFrame.new(25.62, 10.84, 6.98), time = 7.58}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 7.699}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 7.799}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 7.914}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.032}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.148}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.248}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.363}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.465}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.58}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.699}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.814}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 8.929}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 9.046}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 9.162}, {cf = CFrame.new(21.24, 11.38, 10.79), time = 9.279}, } local function spinAroundMain() local character = player.Character local root = character and character:FindFirstChild("HumanoidRootPart") if not root then return end toggles.spinActive = true local lastTime = 0 for _, point in ipairs(spinPath) do if not toggles.spinActive then break end local waitTime = point.time - lastTime if waitTime > 0 then task.wait(waitTime) end root.CFrame = point.cf lastTime = point.time end toggles.spinActive = false end -- ---------- MORPH ABILITY ---------- local EXACT_MODEL_NAME = nil local function RemoveScripts(Model) for _, Object in ipairs(Model:GetDescendants()) do if Object:IsA("Script") or Object:IsA("LocalScript") or Object:IsA("ModuleScript") then Object:Destroy() end end end local function IsCharacterModel(Model, OldCharacter) if not Model:IsA("Model") then return false end if Model == OldCharacter then return false end local Humanoid = Model:FindFirstChildOfClass("Humanoid") local Root = Model:FindFirstChild("HumanoidRootPart") return Humanoid ~= nil and Root ~= nil end local function FindGameCharacterModel(OldCharacter) if EXACT_MODEL_NAME then local Found = ReplicatedStorage:FindFirstChild(EXACT_MODEL_NAME, true) if Found and IsCharacterModel(Found, OldCharacter) then return Found end local Found2 = Workspace:FindFirstChild(EXACT_MODEL_NAME, true) if Found2 and IsCharacterModel(Found2, OldCharacter) then return Found2 end end local BestModel = nil local BestScore = -math.huge local function Check(Object) if not IsCharacterModel(Object, OldCharacter) then return end local Score = 0 local Name = string.lower(Object.Name) if string.find(Name, "player") then Score += 10 end if string.find(Name, "character") then Score += 10 end if string.find(Name, "avatar") then Score += 8 end if string.find(Name, "rig") then Score += 5 end if Object:FindFirstChild("Head") then Score += 5 end if Object:FindFirstChild("HumanoidRootPart") then Score += 10 end if Object:FindFirstChildOfClass("Humanoid") then Score += 10 end if Score > BestScore then BestScore = Score BestModel = Object end end for _, Object in ipairs(ReplicatedStorage:GetDescendants()) do Check(Object) end for _, Object in ipairs(Workspace:GetDescendants()) do Check(Object) end return BestModel end local function morphCharacter() local OldCharacter = player.Character if not OldCharacter then return end local OldCharacterPivot = OldCharacter:GetPivot() local SavedCameraCFrame = Camera.CFrame local SavedCameraFocus = Camera.Focus local SavedCameraType = Camera.CameraType local Template = FindGameCharacterModel(OldCharacter) if not Template then warn("Couldn't find a suitable player model.") return end print("Using player model:", Template:GetFullName()) local NewCharacter = Template:Clone() NewCharacter.Name = player.Name RemoveScripts(NewCharacter) local NewHumanoid = NewCharacter:FindFirstChildOfClass("Humanoid") if not NewHumanoid then NewCharacter:Destroy() warn("Replacement has no Humanoid.") return end local NewRoot = NewCharacter:FindFirstChild("HumanoidRootPart") if not NewRoot then NewCharacter:Destroy() warn("Replacement has no HumanoidRootPart.") return end NewCharacter.PrimaryPart = NewRoot NewCharacter.Parent = Workspace NewCharacter:PivotTo(OldCharacterPivot) player.Character = NewCharacter Camera.CameraType = SavedCameraType Camera.CameraSubject = NewHumanoid Camera.CFrame = SavedCameraCFrame Camera.Focus = SavedCameraFocus if OldCharacter and OldCharacter.Parent then OldCharacter:Destroy() end print("Character replaced with tiny model.") end -- ---------- GENERATORS ---------- local function findGenerators() local generators = {} for _, obj in ipairs(Workspace:GetDescendants()) do local lowerName = string.lower(obj.Name) if string.find(lowerName, "generator") then local pos = nil if obj:IsA("BasePart") then pos = obj.Position elseif obj:IsA("Model") then local primary = obj.PrimaryPart if primary then pos = primary.Position else pos = obj:GetPivot().Position end end if pos then table.insert(generators, { name = obj.Name, position = pos }) end end end table.sort(generators, function(a, b) return a.name < b.name end) return generators end -- ---------- GUI ---------- local gui = Instance.new("ScreenGui") gui.Name = "ScaryBaboonRebornH45S" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Size = UDim2.fromOffset(250, 250) main.Position = UDim2.fromScale(0.5, 0.5) main.AnchorPoint = Vector2.new(0.5, 0.5) main.BackgroundTransparency = 1 main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.ClipsDescendants = true main.Parent = gui Instance.new("UICorner", main).CornerRadius = UDim.new(0, 8) Instance.new("UIStroke", main).Thickness = 1 Instance.new("UIStroke", main).Color = Color3.new(1,1,1) local bgContainer = Instance.new("Frame") bgContainer.Size = UDim2.new(1,0,1,0) bgContainer.BackgroundTransparency = 1 bgContainer.Parent = main local bgImage = Instance.new("ImageLabel") bgImage.Size = UDim2.new(1,0,1,0) bgImage.BackgroundTransparency = 1 bgImage.Image = "rbxthumb://type=AvatarHeadShot&id=11302667464&w=420&h=420" bgImage.ScaleType = Enum.ScaleType.Stretch bgImage.ZIndex = 0 bgImage.Parent = bgContainer local top = Instance.new("Frame") top.Size = UDim2.new(1,0,0,30) top.BackgroundColor3 = Color3.new(0,0,0) top.BackgroundTransparency = 0.3 top.BorderSizePixel = 0 top.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1,-60,1,0) title.Position = UDim2.fromOffset(8,0) title.BackgroundTransparency = 1 title.Text = "Scary Baboon Reborn H45S v1.5" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 12 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = top local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.fromOffset(30,30) closeBtn.Position = UDim2.new(1,-30,0,0) closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.new(0,0,0) closeBtn.BackgroundColor3 = Color3.new(0,0,0) closeBtn.BackgroundTransparency = 0.3 closeBtn.BorderSizePixel = 0 closeBtn.TextStrokeColor3 = Color3.new(1,1,1) closeBtn.TextStrokeTransparency = 0 closeBtn.Parent = top local minimizeBtn = Instance.new("TextButton") minimizeBtn.Size = UDim2.fromOffset(30,30) minimizeBtn.Position = UDim2.new(1,-60,0,0) minimizeBtn.Text = "_" minimizeBtn.TextColor3 = Color3.new(0,0,0) minimizeBtn.BackgroundColor3 = Color3.new(0,0,0) minimizeBtn.BackgroundTransparency = 0.3 minimizeBtn.BorderSizePixel = 0 minimizeBtn.TextStrokeColor3 = Color3.new(1,1,1) minimizeBtn.TextStrokeTransparency = 0 minimizeBtn.Parent = top local bodyFrame = Instance.new("Frame") bodyFrame.Size = UDim2.new(1,0,1,-30) bodyFrame.Position = UDim2.new(0,0,0,30) bodyFrame.BackgroundTransparency = 1 bodyFrame.Parent = main local categories = Instance.new("ScrollingFrame") categories.Size = UDim2.new(0,100,1,0) categories.Position = UDim2.new(0,0,0,0) categories.BackgroundColor3 = Color3.new(0,0,0) categories.BackgroundTransparency = 0.4 categories.BorderSizePixel = 0 categories.ScrollBarThickness = 2 categories.CanvasSize = UDim2.new() categories.AutomaticCanvasSize = Enum.AutomaticSize.Y categories.Parent = bodyFrame local catLayout = Instance.new("UIListLayout") catLayout.Padding = UDim.new(0,2) catLayout.Parent = categories local content = Instance.new("ScrollingFrame") content.Size = UDim2.new(1,-100,1,0) content.Position = UDim2.new(0,100,0,0) content.BackgroundColor3 = Color3.new(0,0,0) content.BackgroundTransparency = 0.4 content.BorderSizePixel = 0 content.ScrollBarThickness = 3 content.CanvasSize = UDim2.new() content.AutomaticCanvasSize = Enum.AutomaticSize.Y content.Parent = bodyFrame local contentLayout = Instance.new("UIListLayout") contentLayout.Padding = UDim.new(0,4) contentLayout.Parent = content local itemStorage = Instance.new("Frame") itemStorage.Size = UDim2.new(0,0,0,0) itemStorage.Visible = false itemStorage.Parent = main -- Animation helpers local function hoverAnim(button, enter) local targetTransparency = enter and 0.1 or 0.3 local targetColor = enter and Color3.fromRGB(60,60,60) or Color3.new(0,0,0) TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = targetColor, BackgroundTransparency = targetTransparency }):Play() end local function applyHover(button) button.MouseEnter:Connect(function() hoverAnim(button, true) end) button.MouseLeave:Connect(function() hoverAnim(button, false) end) end local function fadeInContent() for _, item in ipairs(content:GetChildren()) do if item:IsA("GuiObject") then item.BackgroundTransparency = 1 TweenService:Create(item, TweenInfo.new(0.2), {BackgroundTransparency = 0.3}):Play() end end end local minimized = false local function toggleMinimize() minimized = not minimized if minimized then bgImage.Visible = false bodyFrame.Visible = false TweenService:Create(main, TweenInfo.new(0.25), {Size = UDim2.fromOffset(250, 30)}):Play() else bgImage.Visible = true bodyFrame.Visible = true TweenService:Create(main, TweenInfo.new(0.25), {Size = UDim2.fromOffset(250, 250)}):Play() end end local function styleButton(btn) btn.BackgroundColor3 = Color3.new(0,0,0) btn.BackgroundTransparency = 0.3 btn.TextColor3 = Color3.new(0,0,0) btn.TextStrokeColor3 = Color3.new(1,1,1) btn.TextStrokeTransparency = 0 btn.Font = Enum.Font.SourceSans btn.TextSize = 13 btn.BorderSizePixel = 0 Instance.new("UICorner", btn).CornerRadius = UDim.new(0,4) Instance.new("UIStroke", btn).Color = Color3.new(1,1,1) applyHover(btn) end local Pages = {} local function newCategory(name, tag) Pages[name] = {} local button = Instance.new("TextButton") button.Size = UDim2.new(1,-4,0,28) if tag and tag ~= "" then button.Text = name .. " " .. tag else button.Text = name end styleButton(button) button.Font = Enum.Font.SourceSansBold button.Parent = categories button.MouseButton1Click:Connect(function() for _, child in ipairs(content:GetChildren()) do if child:IsA("GuiObject") then child.Parent = itemStorage end end for _, item in ipairs(Pages[name]) do item.Parent = content end fadeInContent() for _, btn in ipairs(categories:GetChildren()) do if btn:IsA("TextButton") then btn.BackgroundColor3 = Color3.new(0,0,0) btn.BackgroundTransparency = 0.3 end end button.BackgroundColor3 = Color3.new(0.2,0.2,0.2) button.BackgroundTransparency = 0.1 end) end local function addToggle(category, text, default, callback, tag) local state = default local btn = Instance.new("TextButton") btn.Size = UDim2.new(1,-6,0,30) styleButton(btn) local function update() if tag and tag ~= "" then btn.Text = "[" .. tag .. "] " .. text .. " : " .. (state and "ON" or "OFF") else btn.Text = text .. " : " .. (state and "ON" or "OFF") end end update() btn.MouseButton1Click:Connect(function() state = not state update() callback(state) end) btn.Parent = itemStorage table.insert(Pages[category], btn) end local function addButton(category, text, callback, tag) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1,-6,0,30) if tag and tag ~= "" then btn.Text = "[" .. tag .. "] " .. text else btn.Text = text end styleButton(btn) btn.MouseButton1Click:Connect(callback) btn.Parent = itemStorage table.insert(Pages[category], btn) end -- Create categories newCategory("Player Colors", "FE") newCategory("Extras", "FE") newCategory("Movement", "") newCategory("Teleporters", "") newCategory("World Manip", "CS") newCategory("Morphs", "CS") newCategory("Generators", "") -- Player Colors (using remote) addToggle("Player Colors", "Rainbow Player", false, function(on) toggles.rainbowPlayer = on; if on then startLoop("rainbowPlayer", rainbowPlayerLoop) end end, "FE") addToggle("Player Colors", "Rainbow Strobe", false, function(on) toggles.rainbowStrobe = on; if on then startLoop("rainbowStrobe", rainbowStrobeLoop) end end, "FE") addToggle("Player Colors", "Very Fast Rainbow", false, function(on) toggles.veryFastRainbow = on; if on then startLoop("veryFastRainbow", veryFastRainbowLoop) end end, "FE") addToggle("Player Colors", "B&W Player", false, function(on) toggles.blackAndWhitePlayer = on; if on then startLoop("blackAndWhitePlayer", blackAndWhitePlayerLoop) end end, "FE") addToggle("Player Colors", "B&W Strobe", false, function(on) toggles.blackAndWhiteStrobe = on; if on then startLoop("blackAndWhiteStrobe", blackAndWhiteStrobeLoop) end end, "FE") addToggle("Player Colors", "Very Fast B&W", false, function(on) toggles.veryFastBlackAndWhite = on; if on then startLoop("veryFastBlackAndWhite", veryFastBlackAndWhiteLoop) end end, "FE") addToggle("Player Colors", "Rainbow Eyes", false, function(on) toggles.rainbowEyes = on; if on then startLoop("rainbowEyes", rainbowEyesLoop) end end, "FE") addToggle("Player Colors", "Strobe Rainbow Eyes", false, function(on) toggles.strobeRainbowEyes = on; if on then startLoop("strobeRainbowEyes", strobeRainbowEyesLoop) end end, "FE") addToggle("Player Colors", "B&W Eyes", false, function(on) toggles.blackAndWhiteEyes = on; if on then startLoop("blackAndWhiteEyes", blackAndWhiteEyesLoop) end end, "FE") addToggle("Player Colors", "Strobe B&W Eyes", false, function(on) toggles.strobeBlackAndWhiteEyes = on; if on then startLoop("strobeBlackAndWhiteEyes", strobeBlackAndWhiteEyesLoop) end end, "FE") -- Extras addButton("Extras", "Unlock VIP", function() local vipDoor = Workspace:FindFirstChild("VipDoor", true); if vipDoor then vipDoor:Destroy() end end, "CS") addButton("Extras", "Unlock Staff", function() local staffDoor = Workspace:FindFirstChild("StaffDoor", true); if staffDoor then staffDoor:Destroy() end end, "CS") addButton("Extras", "Open Commands Bar", function() local searchNames = {"Command", "Commands", "Cmd", "CmdBar", "CommandBar", "Admin", "Console", "ChatCommand"} local found = false for _, container in ipairs({player.PlayerGui, Workspace, ReplicatedStorage, game:GetService("StarterGui")}) do for _, desc in ipairs(container:GetDescendants()) do if desc:IsA("GuiObject") or desc:IsA("ScreenGui") then local lowerName = desc.Name:lower() if lowerName:find("synapse") or lowerName:find("krnl") or lowerName:find("scriptware") or lowerName:find("exploit") then continue end for _, search in ipairs(searchNames) do if lowerName:find(search:lower()) then if desc:IsA("GuiObject") then desc.Visible = true else desc.Enabled = true end found = true break end end end end end if not found then for _, desc in ipairs(game:GetDescendants()) do if desc:IsA("GuiObject") or desc:IsA("ScreenGui") then local lowerName = desc.Name:lower() if lowerName:find("synapse") or lowerName:find("krnl") or lowerName:find("scriptware") or lowerName:find("exploit") then continue end for _, search in ipairs(searchNames) do if lowerName:find(search:lower()) then if desc:IsA("GuiObject") then desc.Visible = true else desc.Enabled = true end found = true break end end end end end end, "FE") addButton("Extras", "Fire All Cosmetics", function() if not accRemote then return end; for _, item in ipairs(COSMETICS) do pcall(function() accRemote:FireServer("Toggle", item, false) end) end end, "FE") addToggle("Extras", "Spam All Cosmetics", false, function(on) toggles.spamCosmetics = on; if on then startLoop("spamCosmetics", spamCosmeticsLoop) end end, "FE") addButton("Extras", "Put On All Cosmetics", putOnAllCosmetics, "FE") addButton("Extras", "Take Off All Cosmetics", takeOffAllCosmetics, "FE") addButton("Extras", "Give All Tools", giveAllTools, "CS") addButton("Extras", "Delete All Tools", deleteAllTools, "CS") -- Movement addToggle("Movement", "No Clip", false, function(on) toggles.noClip = on; setNoClip(on) end, "") addToggle("Movement", "Fly", false, function(on) toggles.fly = on; if on then startFlight() else stopFlight() end end, "") addToggle("Movement", "Ghost Player", false, function(on) toggles.ghost = on; if on then startGhost() else stopGhost() end end, "") addToggle("Movement", "Invisible", false, function(on) toggles.invisible = on; if on then startInvisible() else stopInvisible() end end, "") addToggle("Movement", "Free Cam", false, function(on) toggles.freeCam = on; if on then startFreeCam() else stopFreeCam() end end, "") addToggle("Movement", "Spin Around Main Area", false, function(on) if on then task.spawn(spinAroundMain) end end, "") -- Teleporters addButton("Teleporters", "Top Map Part", function() teleportTo(573.76, 309.36, -422.11) end, "") addButton("Teleporters", "Main Map", function() teleportTo(30.82, 7.41, 33.71) end, "") addButton("Teleporters", "Shop", function() teleportTo(-47.96, 5.75, 197.98) end, "") addButton("Teleporters", "VIP", function() teleportTo(112.60, 7.15, 136.98) end, "") addButton("Teleporters", "Crash Game", function() teleportTo(29.65, -7.03, 9.95) end, "") addButton("Teleporters", "Secret Area & Shop", function() teleportTo(41.93, 7.15, 150.58) end, "") -- World Manip addButton("World Manip", "Drag Items to You", dragItemsToPlayer, "CS") addButton("World Manip", "Delete Door Lock", deleteDoorLock, "CS") addButton("World Manip", "Delete Coming Soon Doors", deleteComingSoonDoors, "CS") addButton("World Manip", "Destroy Speaker", destroySpeaker, "CS") -- Morphs addButton("Morphs", "Turn into Tiny Character", morphCharacter, "CS") -- Generators (teleport buttons) local generators = findGenerators() if #generators > 0 then for i, gen in ipairs(generators) do if i > 5 then break end -- Limit to first 5 generators local genName = gen.name local genPos = gen.position addButton("Generators", "Teleport to " .. genName, function() teleportTo(genPos.X, genPos.Y, genPos.Z) end, "") end else local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -6, 0, 30) btn.Text = "No generators found" btn.BackgroundColor3 = Color3.new(0, 0, 0) btn.BackgroundTransparency = 0.6 btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.SourceSans btn.TextSize = 13 btn.BorderSizePixel = 0 btn.Parent = itemStorage table.insert(Pages["Generators"], btn) end -- Top bar buttons closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end) minimizeBtn.MouseButton1Click:Connect(toggleMinimize) -- Auto open first category pcall(function() local firstCat = categories:FindFirstChildOfClass("TextButton") if firstCat then firstCat.MouseButton1Click:Fire() end end) -- Cleanup on respawn player.CharacterAdded:Connect(function() -- Stop movement abilities if toggles.noClip then setNoClip(false) toggles.noClip = false end if toggles.fly then stopFlight() toggles.fly = false end if toggles.ghost then stopGhost() toggles.ghost = false end if toggles.invisible then stopInvisible() toggles.invisible = false end if toggles.freeCam then stopFreeCam() toggles.freeCam = false end if toggles.spinActive then toggles.spinActive = false end if toggles.spamCosmetics then toggles.spamCosmetics = false end end) -- Cleanup on GUI destroy gui.Destroying:Connect(function() for k in pairs(toggles) do toggles[k] = false end stopFlight() stopGhost() stopInvisible() stopFreeCam() end)