Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- ESCAPE TSUNAMI FOR BRAINROTS! - ULTIMATE SCRIPT
- Authored by Antigravity (AI)
- WARNING: This script is for educational purposes only.
- Using exploits can result in a permanent ban from Roblox.
- Use at your own risk.
- ]]
- local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
- local Window = Rayfield:CreateWindow({
- Name = "Escape Tsunami | Antigravity",
- LoadingTitle = "Loading Script...",
- LoadingSubtitle = "By Antigravity",
- ConfigurationSaving = {
- Enabled = true,
- FolderName = "AntigravityEscapeTsunami",
- FileName = "Config"
- },
- Discord = {
- Enabled = false,
- Invite = "",
- RememberJoins = true
- },
- KeySystem = false,
- })
- -- SERVICES
- local Players = game:GetService("Players")
- local Workspace = game:GetService("Workspace")
- local RunService = game:GetService("RunService")
- local StarterGui = game:GetService("StarterGui")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- -- LOCALS
- local LocalPlayer = Players.LocalPlayer
- local Camera = Workspace.CurrentCamera
- -- VARIABLES & CONFIG
- local Config = {
- GodMode = false,
- AutoFarm = false,
- AutoDeposit = false,
- WalkSpeed = 16,
- JumpPower = 50,
- InfJump = false,
- Noclip = false,
- Fly = false,
- FlySpeed = 50,
- EspEnabled = false,
- BrainrotName = "Brainrot", -- Default guess
- SafeZoneName = "SafeZone", -- Default guess
- }
- -- TABS
- local MainTab = Window:CreateTab("Main", 4483362458) -- Home Icon
- local TeleportTab = Window:CreateTab("Teleports", 4483362458)
- local CombatTab = Window:CreateTab("Movement", 4483362458)
- local FarmTab = Window:CreateTab("Farming", 4483362458)
- local VisualsTab = Window:CreateTab("Visuals", 4483362458)
- local DebugTab = Window:CreateTab("Debug", 4483362458)
- -- UTILITY FUNCTIONS
- local function Notify(Title, Content)
- Rayfield:Notify({
- Title = Title,
- Content = Content,
- Duration = 5,
- Image = 4483362458,
- })
- end
- local function GetCharacter()
- return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
- end
- local function GetRoot()
- local Char = GetCharacter()
- return Char:FindFirstChild("HumanoidRootPart")
- end
- local function GetHumanoid()
- local Char = GetCharacter()
- return Char:FindFirstChild("Humanoid")
- end
- local function TeleportTo(CFrameTarget)
- local Root = GetRoot()
- if Root then
- Root.CFrame = CFrameTarget
- end
- end
- -- MAIN FEATURES
- -- God Mode / Anti-Tsunami
- -- Strategy: Use a loop to reset health or try to delete Tsunami touch interest locally if possible
- MainTab:CreateToggle({
- Name = "God Mode (Loop Heal)",
- CurrentValue = false,
- Flag = "GodMode",
- Callback = function(Value)
- Config.GodMode = Value
- if Value then
- task.spawn(function()
- while Config.GodMode do
- local Hum = GetHumanoid()
- if Hum then
- Hum.Health = Hum.MaxHealth
- end
- task.wait(0.1)
- end
- end)
- end
- end
- })
- -- Attempt to delete Tsunami (Client Side)
- MainTab:CreateButton({
- Name = "Remove Tsunami (Client)",
- Callback = function()
- -- Attempt to find parts named 'Tsunami' or 'Water' and destroy them locally
- local Count = 0
- for _, v in pairs(Workspace:GetDescendants()) do
- if v.Name:lower():find("tsunami") or v.Name:lower():find("wave") then
- v:Destroy()
- Count = Count + 1
- end
- end
- Notify("Tsunami Remover", "Removed " .. Count .. " potential tsunami parts locally.")
- end,
- })
- -- MOVEMENT TAB
- CombatTab:CreateToggle({
- Name = "Noclip",
- CurrentValue = false,
- Flag = "Noclip",
- Callback = function(Value)
- Config.Noclip = Value
- if Value then
- task.spawn(function()
- while Config.Noclip do
- local Char = LocalPlayer.Character
- if Char then
- for _, v in pairs(Char:GetDescendants()) do
- if v:IsA("BasePart") and v.CanCollide then
- v.CanCollide = false
- end
- end
- end
- RunService.Stepped:Wait()
- end
- end)
- end
- end,
- })
- CombatTab:CreateSlider({
- Name = "WalkSpeed",
- Range = {16, 500},
- Increment = 1,
- Suffix = "Speed",
- CurrentValue = 16,
- Flag = "WalkSpeed",
- Callback = function(Value)
- Config.WalkSpeed = Value
- local Hum = GetHumanoid()
- if Hum then Hum.WalkSpeed = Value end
- end,
- })
- -- Apply Speed Loop (to prevent game overwriting)
- task.spawn(function()
- while true do
- if Config.WalkSpeed > 16 then
- local Hum = GetHumanoid()
- if Hum and Hum.WalkSpeed ~= Config.WalkSpeed then
- Hum.WalkSpeed = Config.WalkSpeed
- end
- end
- task.wait(0.5)
- end
- end)
- CombatTab:CreateSlider({
- Name = "JumpPower",
- Range = {50, 500},
- Increment = 1,
- Suffix = "Power",
- CurrentValue = 50,
- Flag = "JumpPower",
- Callback = function(Value)
- Config.JumpPower = Value
- local Hum = GetHumanoid()
- if Hum then
- Hum.UseJumpPower = true
- Hum.JumpPower = Value
- end
- end,
- })
- -- Fly Logic
- local FlyKey = Enum.KeyCode.F
- local FlyEnabled = false
- local FlyBodyGyro, FlyBodyVelocity
- CombatTab:CreateToggle({
- Name = "Fly (Press F)",
- CurrentValue = false,
- Flag = "Fly",
- Callback = function(Value)
- FlyEnabled = Value
- if not Value then
- if FlyBodyVelocity then FlyBodyVelocity:Destroy() end
- if FlyBodyGyro then FlyBodyGyro:Destroy() end
- end
- end,
- })
- game:GetService("UserInputService").InputBegan:Connect(function(Input, Processed)
- if not Processed and FlyEnabled and Input.KeyCode == FlyKey then
- local Root = GetRoot()
- if not Root then return end
- if FlyBodyVelocity then
- FlyBodyVelocity:Destroy()
- FlyBodyVelocity = nil
- FlyBodyGyro:Destroy()
- FlyBodyGyro = nil
- GetHumanoid().PlatformStand = false
- else
- FlyBodyGyro = Instance.new("BodyGyro", Root)
- FlyBodyGyro.P = 9e4
- FlyBodyGyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
- FlyBodyGyro.cframe = Root.CFrame
- FlyBodyVelocity = Instance.new("BodyVelocity", Root)
- FlyBodyVelocity.velocity = Vector3.new(0, 0, 0)
- FlyBodyVelocity.maxForce = Vector3.new(9e9, 9e9, 9e9)
- GetHumanoid().PlatformStand = true
- task.spawn(function()
- while FlyBodyVelocity do
- FlyBodyGyro.cframe = Camera.CFrame
- local Speed = Config.FlySpeed or 50
- local Vel = Vector3.new(0,0,0)
- if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) then
- Vel = Vel + Camera.CFrame.LookVector * Speed
- end
- if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) then
- Vel = Vel - Camera.CFrame.LookVector * Speed
- end
- if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) then
- Vel = Vel - Camera.CFrame.RightVector * Speed
- end
- if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) then
- Vel = Vel + Camera.CFrame.RightVector * Speed
- end
- FlyBodyVelocity.velocity = Vel
- RunService.RenderStepped:Wait()
- end
- end)
- end
- end
- end)
- CombatTab:CreateSlider({
- Name = "Fly Speed",
- Range = {10, 200},
- Increment = 1,
- Suffix = "Speed",
- CurrentValue = 50,
- Flag = "FlySpeed",
- Callback = function(Value)
- Config.FlySpeed = Value
- end,
- })
- -- TELEPORTS TAB
- local function TP(pos)
- TeleportTo(pos)
- end
- -- Note: These positions are ESTIMATES or need to be set by the user if exact coords unknown.
- -- Since I don't have the map, I will providing general directions or search for spawn points.
- TeleportTab:CreateSection("Key Locations")
- TeleportTab:CreateButton({
- Name = "Teleport to Start/Base",
- Callback = function()
- -- Try to find SpawnLocation
- local Spawn = Workspace:FindFirstChild("SpawnLocation", true)
- if Spawn then
- TP(Spawn.CFrame + Vector3.new(0, 5, 0))
- else
- TP(CFrame.new(0, 50, 0)) -- Fallback
- end
- end,
- })
- -- We need to find zones. Often zones are parts named "Zone" or have signs.
- -- We can also just TP forward by distance.
- TeleportTab:CreateSection("Distance Teleport")
- local DistanceToTravel = 0
- TeleportTab:CreateSlider({
- Name = "Distance (Studs)",
- Range = {0, 10000},
- Increment = 100,
- Suffix = "Studs",
- CurrentValue = 0,
- Flag = "DistTP",
- Callback = function(Value)
- DistanceToTravel = Value
- end,
- })
- TeleportTab:CreateButton({
- Name = "Teleport Forward (Z Axis)",
- Callback = function()
- local Root = GetRoot()
- if Root then
- TP(Root.CFrame * CFrame.new(0, 0, -DistanceToTravel))
- -- Assuming the map goes along -Z or +Z. Usually long maps are on one axis.
- end
- end,
- })
- TeleportTab:CreateInput({
- Name = "Custom Part Teleport",
- PlaceholderText = "Part Name...",
- RemoveTextAfterFocusLost = false,
- Callback = function(Text)
- local Found = Workspace:FindFirstChild(Text, true)
- if Found and Found:IsA("BasePart") then
- TP(Found.CFrame + Vector3.new(0, 3, 0))
- Notify("Teleported", "Teleported to " .. Text)
- else
- Notify("Error", "Could not find part: " .. Text)
- end
- end,
- })
- -- FARMING TAB
- FarmTab:CreateSection("Configuration")
- FarmTab:CreateInput({
- Name = "Brainrot Object Name",
- PlaceholderText = "e.g. Brainrot, Coin, Gem",
- RemoveTextAfterFocusLost = false,
- Callback = function(Text)
- Config.BrainrotName = Text
- end,
- })
- FarmTab:CreateToggle({
- Name = "Auto Collect Nearby",
- CurrentValue = false,
- Flag = "AutoFarm",
- Callback = function(Value)
- Config.AutoFarm = Value
- if Value then
- task.spawn(function()
- while Config.AutoFarm do
- local Root = GetRoot()
- if Root then
- for _, v in pairs(Workspace:GetDescendants()) do
- if v.Name:find(Config.BrainrotName) and v:IsA("BasePart") then
- -- Check distance
- if (v.Position - Root.Position).Magnitude < 100 then
- firetouchinterest(Root, v, 0)
- firetouchinterest(Root, v, 1)
- end
- elseif v.Name:find(Config.BrainrotName) and v:IsA("Model") then
- local Primary = v.PrimaryPart or v:FindFirstChildWhichIsA("BasePart")
- if Primary and (Primary.Position - Root.Position).Magnitude < 100 then
- firetouchinterest(Root, Primary, 0)
- firetouchinterest(Root, Primary, 1)
- end
- end
- end
- end
- task.wait(0.1)
- end
- end)
- end
- end,
- })
- FarmTab:CreateToggle({
- Name = "Magnet (Teleport Items to You)",
- CurrentValue = false,
- Flag = "Magnet",
- Callback = function(Value)
- local MagnetLoop
- if Value then
- MagnetLoop = RunService.Heartbeat:Connect(function()
- local Root = GetRoot()
- if not Root then return end
- for _, v in pairs(Workspace:GetDescendants()) do
- if (v.Name:find(Config.BrainrotName)) and v:IsA("BasePart") then
- if (v.Position - Root.Position).Magnitude < 500 then -- Range limit
- v.CFrame = Root.CFrame
- v.CanCollide = false
- end
- end
- end
- end)
- else
- if MagnetLoop then MagnetLoop:Disconnect() end
- end
- end,
- })
- -- VISUALS TAB (ESP)
- local EspFolder = Instance.new("Folder", game.CoreGui)
- EspFolder.Name = "AntigravityESP"
- local function CreateEsp( Part, Text, Color )
- local Billboard = Instance.new("BillboardGui")
- Billboard.Name = "ESP"
- Billboard.Adornee = Part
- Billboard.Size = UDim2.new(0, 100, 0, 50)
- Billboard.StudsOffset = Vector3.new(0, 2, 0)
- Billboard.AlwaysOnTop = true
- Billboard.Parent = EspFolder
- local Label = Instance.new("TextLabel")
- Label.Parent = Billboard
- Label.Size = UDim2.new(1, 0, 1, 0)
- Label.BackgroundTransparency = 1
- Label.Text = Text
- Label.TextColor3 = Color
- Label.TextStrokeTransparency = 0
- return Billboard
- end
- VisualsTab:CreateToggle({
- Name = "ESP Enabled",
- CurrentValue = false,
- Flag = "EspEnabled",
- Callback = function(Value)
- Config.EspEnabled = Value
- if not Value then
- EspFolder:ClearAllChildren()
- else
- task.spawn(function()
- while Config.EspEnabled do
- EspFolder:ClearAllChildren()
- for _, v in pairs(Workspace:GetDescendants()) do
- if v:IsA("BasePart") or v:IsA("Model") then
- -- Check for Brainrots
- if v.Name:find(Config.BrainrotName) then
- local Part = v:IsA("Model") and v.PrimaryPart or v
- if Part then CreateEsp(Part, v.Name, Color3.new(0, 1, 0)) end
- end
- -- Check for Safe Zones
- if v.Name:find(Config.SafeZoneName) then
- local Part = v:IsA("Model") and v.PrimaryPart or v
- if Part then CreateEsp(Part, "SAFE ZONE", Color3.new(0, 0, 1)) end
- end
- end
- end
- task.wait(1) -- Refresh rate
- end
- end)
- end
- end,
- })
- -- DEBUG TAB (For finding names)
- DebugTab:CreateButton({
- Name = "Print Workspace Children (Console F9)",
- Callback = function()
- print("--- DUMPING WORKSPACE CHILDREN ---")
- for _, v in pairs(Workspace:GetChildren()) do
- print(v.Name .. " [" .. v.ClassName .. "]")
- end
- print("--- END DUMP ---")
- Notify("Debug", "Check Console (F9) for list.")
- end,
- })
- DebugTab:CreateButton({
- Name = "Search 'Brainrot' Candidates",
- Callback = function()
- print("--- SEARCHING CANDIDATES ---")
- local Terms = {"Brain", "Rot", "Coin", "Gem", "Collect", "Item", "Tsunami", "Safe"}
- for _, v in pairs(Workspace:GetDescendants()) do
- for _, term in pairs(Terms) do
- if v.Name:find(term) then
- print("FOUND: " .. v.Name .. " (" .. v:GetFullName() .. ")")
- end
- end
- end
- Notify("Debug", "Search complete. Check Console (F9).")
- end,
- })
- DebugTab:CreateLabel("Use these names to configure the Farming tab.")
- Notify("Loaded", "Escape Tsunami Script Loaded!")
Advertisement
Add Comment
Please, Sign In to add comment