Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local TeleportService = game:GetService("TeleportService")
- local player = Players.LocalPlayer
- local char = player.Character or player.CharacterAdded:Wait()
- local hrp = char:WaitForChild("HumanoidRootPart")
- local humanoid = char:WaitForChild("Humanoid")
- local random = Random.new()
- local teleporting = false
- local void = CFrame.new(0, -3.4028235e+38, 0)
- -- Reassign on respawn
- player.CharacterAdded:Connect(function(c)
- char = c
- hrp = c:WaitForChild("HumanoidRootPart")
- humanoid = c:WaitForChild("Humanoid")
- end)
- -- Ping updater
- local pingMS = 50
- task.spawn(function()
- while true do
- pingMS = math.clamp(player:GetNetworkPing() * 1000, 20, 300)
- RunService.Heartbeat:Wait()
- end
- end)
- -- TP logic
- local function TP(pos)
- if not hrp or teleporting then return end
- teleporting = true
- hrp.CFrame = pos + Vector3.new(
- random:NextNumber(-0.0001, 0.0001),
- random:NextNumber(-0.0001, 0.0001),
- random:NextNumber(-0.0001, 0.0001)
- )
- RunService.Heartbeat:Wait()
- teleporting = false
- end
- local function FindDelivery()
- local plots = workspace:FindFirstChild("Plots")
- if not plots then return nil end
- for _, plot in pairs(plots:GetChildren()) do
- local sign = plot:FindFirstChild("PlotSign")
- if sign then
- local yourBase = sign:FindFirstChild("YourBase")
- if yourBase and yourBase.Enabled then
- return plot:FindFirstChild("DeliveryHitbox")
- end
- end
- end
- end
- -- Ping-scaled 4s teleport
- local function DeliverBrainrot()
- if not hrp then return end
- local hitbox = FindDelivery()
- if not hitbox then warn("DeliveryHitbox not found.") return end
- local target = hitbox.CFrame * CFrame.new(0, -3, 0)
- local duration = 4 -- seconds
- local delayPerStep = pingMS / 1000 -- convert ms to seconds
- local steps = math.max(5, math.floor(duration / delayPerStep)) -- more steps for high ping
- for i = 1, steps do TP(target) end
- for _ = 1, 2 do TP(void) end
- for i = 1, math.floor(steps / 16) do TP(target) end
- task.wait(0.0001)
- local distance = (hrp.Position - target.Position).Magnitude
- if distance <= 1999 then
- print("[Rainware]: Delivery teleport successful")
- else
- warn("[Rainware]: Delivery teleport failed: distance = " .. distance)
- end
- end
- -- Death = rejoin after 10s
- humanoid.HealthChanged:Connect(function(h)
- if h < 5 then
- warn("[PERM DEATH] Rejoining in 10s")
- game.StarterGui:SetCore("SendNotification", {
- Title = "PERM DEATH",
- Text = "Rejoining in 10 seconds...",
- Duration = 5
- })
- task.wait(10)
- TeleportService:Teleport(game.PlaceId, player)
- end
- end)
- -- === GUI ===
- local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
- gui.Name = "KensTPGui"
- gui.ResetOnSpawn = false
- local frame = Instance.new("Frame", gui)
- frame.Size = UDim2.new(0, 270, 0, 140)
- frame.Position = UDim2.new(0.5, -135, 0.5, -70)
- frame.BackgroundColor3 = Color3.fromRGB(15, 15, 25)
- frame.BorderSizePixel = 0
- frame.AnchorPoint = Vector2.new(0.5, 0.5)
- frame.Active = true
- frame.Draggable = true -- PC drag
- Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)
- local stroke = Instance.new("UIStroke", frame)
- stroke.Color = Color3.fromRGB(0, 200, 255)
- stroke.Thickness = 2
- stroke.Transparency = 0.3
- local title = Instance.new("TextLabel", frame)
- title.Text = "Ken's TP"
- title.Size = UDim2.new(1, -40, 0, 30)
- title.Position = UDim2.new(0, 10, 0, 0)
- title.TextColor3 = Color3.fromRGB(255, 80, 80)
- title.BackgroundTransparency = 1
- title.Font = Enum.Font.GothamBold
- title.TextSize = 18
- title.TextXAlignment = Enum.TextXAlignment.Left
- local minimize = Instance.new("TextButton", frame)
- minimize.Text = "—"
- minimize.Size = UDim2.new(0, 20, 0, 20)
- minimize.Position = UDim2.new(1, -50, 0, 5)
- minimize.BackgroundTransparency = 1
- minimize.TextColor3 = Color3.fromRGB(0, 170, 255)
- minimize.Font = Enum.Font.GothamBold
- minimize.TextSize = 18
- local close = Instance.new("TextButton", frame)
- close.Text = "X"
- close.Size = UDim2.new(0, 20, 0, 20)
- close.Position = UDim2.new(1, -25, 0, 5)
- close.BackgroundTransparency = 1
- close.TextColor3 = Color3.fromRGB(255, 70, 70)
- close.Font = Enum.Font.GothamBold
- close.TextSize = 18
- local tpButton = Instance.new("TextButton", frame)
- tpButton.Size = UDim2.new(0.8, 0, 0, 50)
- tpButton.Position = UDim2.new(0.1, 0, 0.45, 0)
- tpButton.Text = "Instant Steal"
- tpButton.BackgroundColor3 = Color3.fromRGB(0, 140, 255)
- tpButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- tpButton.Font = Enum.Font.GothamSemibold
- tpButton.TextSize = 18
- Instance.new("UICorner", tpButton).CornerRadius = UDim.new(0, 8)
- tpButton.MouseButton1Click:Connect(DeliverBrainrot)
- local minimized = false
- minimize.MouseButton1Click:Connect(function()
- minimized = not minimized
- tpButton.Visible = not minimized
- frame.Size = minimized and UDim2.new(0, 270, 0, 30) or UDim2.new(0, 270, 0, 140)
- end)
- close.MouseButton1Click:Connect(function()
- gui:Destroy()
- end)
- -- Mobile + PC drag
- local dragging, dragInput, dragStart, startPos
- frame.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
- dragging = true
- dragStart = input.Position
- startPos = frame.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- dragging = false
- end
- end)
- end
- end)
- frame.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement then
- dragInput = input
- end
- end)
- RunService.InputChanged:Connect(function(input)
- if input == dragInput and dragging then
- local delta = input.Position - dragStart
- frame.Position = UDim2.new(
- startPos.X.Scale,
- startPos.X.Offset + delta.X,
- startPos.Y.Scale,
- startPos.Y.Offset + delta.Y
- )
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment