Escape Tsunami for Needohs delete Tsunamis keyless
Escape Tsunami for NEEDOH Keyless
Escape Tsunami for Needohs delete Tsunamis keyless
👤 alexriderr 👁 18 views ❤️ 0 likes ⏱ Jun 29, 2026
This script includes a customizable **Walk Speed** feature, allowing you to adjust your movement speed from the default value of **16** to any higher value you prefer. Unnecessary features such as **Tsunamis**, **VIP Walls and Doors**, **Fly**, **Noclip**, and **Anti-Ragdoll** have been removed to keep the script simple and lightweight.
✨ Features
Apply Speed Delete VIP Walls Delete Tsunamis Fly NoClip Anti Ragdoll
📋 Script Code
--[[
    OP GUI – Speed + VIP Walls Delete + Tsunamis Delete + Fly + Noclip + Anti‑Ragdoll
    All toggles show ON/OFF correctly.
    Press P to toggle the GUI.
--]]

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")

-- Anti‑ragdoll variables
local antiRagdollEnabled = false
local bodyGyro = nil

-- GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player.PlayerGui
screenGui.ResetOnSpawn = false

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 300, 0, 420)
frame.Position = UDim2.new(0.5, -150, 0.5, -210)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 40)
frame.BackgroundTransparency = 0.15
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = screenGui

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "🔥 OP Tool"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = frame

local function makeButton(text, y, callback, width)
    width = width or 260
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0, width, 0, 30)
    btn.Position = UDim2.new(0.5, -width/2, 0, y)
    btn.Text = text
    btn.BackgroundColor3 = Color3.fromRGB(40, 80, 200)
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 14
    btn.Parent = frame
    btn.MouseButton1Click:Connect(callback)
    return btn
end

-- Speed slider
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0, 200, 0, 20)
speedLabel.Position = UDim2.new(0.5, -100, 0, 40)
speedLabel.Text = "Speed: 16"
speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
speedLabel.BackgroundTransparency = 1
speedLabel.Font = Enum.Font.GothamBold
speedLabel.TextSize = 14
speedLabel.Parent = frame

local speedSlider = Instance.new("TextBox")
speedSlider.Size = UDim2.new(0, 200, 0, 30)
speedSlider.Position = UDim2.new(0.5, -100, 0, 65)
speedSlider.Text = "16"
speedSlider.TextColor3 = Color3.fromRGB(255, 255, 255)
speedSlider.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
speedSlider.Font = Enum.Font.Gotham
speedSlider.TextSize = 16
speedSlider.ClearTextOnFocus = false
speedSlider.Parent = frame

local applySpeedBtn = makeButton("Apply Speed", 105, function()
    local val = tonumber(speedSlider.Text)
    if val then
        humanoid.WalkSpeed = val
        speedLabel.Text = "Speed: " .. val
        print("✅ Speed set to", val)
    else
        print("⚠️ Invalid number")
    end
end)

-- Delete VIP Walls
local vipWallsBtn = makeButton("🗑️ Delete VIP Walls", 145, function()
    local map = workspace:FindFirstChild("Map")
    local vip = map and map:FindFirstChild("VIP")
    if vip then
        local count = 0
        for _, child in ipairs(vip:GetDescendants()) do
            if child:IsA("BasePart") then
                pcall(function() child:Destroy() end)
                count = count + 1
            end
        end
        print("✅ Deleted", count, "parts in VIP folder.")
        vipWallsBtn.Text = "✅ Done (" .. count .. ")"
        task.wait(1.5)
        vipWallsBtn.Text = "🗑️ Delete VIP Walls"
    else
        print("⚠️ VIP folder not found at Workspace.Map.VIP")
        vipWallsBtn.Text = "❌ Not Found"
        task.wait(1)
        vipWallsBtn.Text = "🗑️ Delete VIP Walls"
    end
end)

-- Delete Tsunamis
local tsunamiBtn = makeButton("🌊 Delete Tsunamis", 185, function()
    local map = workspace:FindFirstChild("Map")
    local tsunamis = map and map:FindFirstChild("Tsunamis")
    if tsunamis then
        pcall(function()
            tsunamis:Destroy()
            print("✅ Tsunamis folder deleted!")
            tsunamiBtn.Text = "✅ Deleted!"
            task.wait(1)
            tsunamiBtn.Text = "🌊 Delete Tsunamis"
        end)
    else
        print("⚠️ Tsunamis folder not found at Workspace.Map.Tsunamis")
        tsunamiBtn.Text = "❌ Not Found"
        task.wait(1)
        tsunamiBtn.Text = "🌊 Delete Tsunamis"
    end
end)

-- Fly toggle
local flyEnabled = false
local bodyVelocity = nil
local flyBtn = makeButton("✈️ Fly: OFF", 225, function()
    flyEnabled = not flyEnabled
    if flyEnabled then
        bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(10000, 10000, 10000)
        bodyVelocity.Parent = rootPart
        flyBtn.Text = "✈️ Fly: ON"
        print("✈️ Fly enabled")
    else
        if bodyVelocity then bodyVelocity:Destroy(); bodyVelocity = nil end
        flyBtn.Text = "✈️ Fly: OFF"
        print("✈️ Fly disabled")
    end
end)

-- Noclip toggle
local noclipEnabled = false
local noclipBtn = makeButton("🚫 Noclip: OFF", 265, function()
    noclipEnabled = not noclipEnabled
    for _, part in ipairs(character:GetDescendants()) do
        if part:IsA("BasePart") then
            part.CanCollide = not noclipEnabled
        end
    end
    noclipBtn.Text = noclipEnabled and "🚫 Noclip: ON" or "🚫 Noclip: OFF"
    print("🔄 Noclip:", noclipEnabled)
end)

-- Anti‑Ragdoll toggle (prevents falling over)
local antiRagdollBtn = makeButton("🧠 Anti‑Ragdoll: OFF", 305, function()
    antiRagdollEnabled = not antiRagdollEnabled
    if antiRagdollEnabled then
        humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
        humanoid.PlatformStand = false
        if bodyGyro then bodyGyro:Destroy() end
        bodyGyro = Instance.new("BodyGyro")
        bodyGyro.Parent = rootPart
        bodyGyro.MaxTorque = Vector3.new(99999, 99999, 99999)
        bodyGyro.CFrame = rootPart.CFrame
        humanoid.AutoRotate = true
        antiRagdollBtn.Text = "🧠 Anti‑Ragdoll: ON"
        print("🧠 Anti‑Ragdoll enabled")
    else
        humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, true)
        if bodyGyro then bodyGyro:Destroy(); bodyGyro = nil end
        humanoid.AutoRotate = false
        antiRagdollBtn.Text = "🧠 Anti‑Ragdoll: OFF"
        print("🧠 Anti‑Ragdoll disabled")
    end
end)

-- Close button
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 20, 0, 20)
closeBtn.Position = UDim2.new(1, -30, 0, 5)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Parent = frame
closeBtn.MouseButton1Click:Connect(function()
    screenGui:Destroy()
end)

-- Fly movement
game:GetService("RunService").RenderStepped:Connect(function()
    if flyEnabled and bodyVelocity then
        local move = Vector3.new(0, 0, 0)
        local camera = workspace.CurrentCamera
        local uis = game:GetService("UserInputService")
        if uis:IsKeyDown(Enum.KeyCode.W) then move = move + camera.CFrame.LookVector * 50 end
        if uis:IsKeyDown(Enum.KeyCode.S) then move = move - camera.CFrame.LookVector * 50 end
        if uis:IsKeyDown(Enum.KeyCode.A) then move = move - camera.CFrame.RightVector * 50 end
        if uis:IsKeyDown(Enum.KeyCode.D) then move = move + camera.CFrame.RightVector * 50 end
        if uis:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0, 50, 0) end
        if uis:IsKeyDown(Enum.KeyCode.LeftShift) then move = move - Vector3.new(0, 50, 0) end
        bodyVelocity.Velocity = move
    end
    -- Keep upright when anti‑ragdoll is on
    if antiRagdollEnabled and bodyGyro and rootPart then
        bodyGyro.CFrame = CFrame.new(rootPart.Position, rootPart.Position + Vector3.new(0, 1, 0))
    end
end)

-- Toggle GUI with P
game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.P then
        screenGui.Enabled = not screenGui.Enabled
    end
end)

print("✅ OP GUI loaded. Press P to toggle.")
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Escape Tsunami for NEEDOH
TypeKeyless
Authoralexriderr
Views18
Likes0
PublishedJun 29, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Force Speed Value and Infinite Jump (No Keys)
Force Speed Value and Infinite Jump (No Keys)
+1 Speed Keyboard Escape • 👁 1
Keyless
Instant Sanity, Auto inject all patients OP (No Keys)
Instant Sanity, Auto inject all patients OP (No Keys)
Animal Hospital • 👁 2
Keyless
Animal Hospital Auto Farm script keyless – ESP Anomalies
Animal Hospital Auto Farm script keyless – ESP Anomalies
Animal Hospital • 👁 3
Keyless
Kyo scripts 99 nights Auto stun and God mode
Kyo scripts 99 nights Auto stun and God mode
99 Nights in the Forest • 👁 6
Keyless
Cyraa Hub Auto Farm OP (Keyless)
Cyraa Hub Auto Farm OP (Keyless)
Animal Hospital • 👁 7
Keyless