-- Cyber Run Script - Final Version -- Whole body after images only local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local rootPart = character:WaitForChild("HumanoidRootPart") -- Simple Configuration local NORMAL_SPEED = 16 local SPRINT_SPEED = 42 local AFTER_IMAGE_DURATION = 0.4 local AFTER_IMAGE_TRANSPARENCY = 0.6 local JUMP_POWER_MULTIPLIER = 1.2 -- State variables local isSprinting = false local sprintButton = nil local connection = nil local originalJumpPower = humanoid.JumpPower -- Simple button local function createSprintButton() local screenGui = Instance.new("ScreenGui") screenGui.Name = "CyberRunGui" screenGui.Parent = player.PlayerGui screenGui.ResetOnSpawn = false local button = Instance.new("TextButton") button.Name = "CyberRunButton" button.Size = UDim2.new(0, 140, 0, 50) button.Position = UDim2.new(0.85, 0, 0.6, 0) button.BackgroundColor3 = Color3.fromRGB(20, 20, 40) button.TextColor3 = Color3.fromRGB(0, 255, 255) button.Text = "⚡ CYBER RUN" button.TextSize = 16 button.Font = Enum.Font.SciFi button.BorderSizePixel = 0 button.ZIndex = 10 button.AutoButtonColor = false local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = button local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(0, 200, 255) stroke.Thickness = 2 stroke.Parent = button button.Parent = screenGui return button end -- Create whole body after image local function createWholeBodyAfterImage() if not character or character.Parent == nil then return end local afterImageFolder = Instance.new("Folder") afterImageFolder.Name = "CyberAfterImage" -- Create after images for every BasePart in the character for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then local afterImage = part:Clone() -- Remove scripts and unnecessary components for _, child in ipairs(afterImage:GetChildren()) do if not child:IsA("SpecialMesh") and not child:IsA("Decal") and not child:IsA("Texture") then child:Destroy() end end -- Set after image properties afterImage.Name = "CyberTrail" afterImage.CanCollide = false afterImage.Anchored = true afterImage.Material = Enum.Material.Neon afterImage.Color = Color3.new(0, 0.8, 1) -- Cyan color afterImage.Transparency = AFTER_IMAGE_TRANSPARENCY afterImage.CFrame = part.CFrame afterImage.Parent = afterImageFolder end end afterImageFolder.Parent = workspace -- Simple fade animation local startTime = tick() local fadeConnection = RunService.Heartbeat:Connect(function() local elapsed = tick() - startTime local alpha = elapsed / AFTER_IMAGE_DURATION if alpha >= 1 or afterImageFolder.Parent == nil then fadeConnection:Disconnect() afterImageFolder:Destroy() return end -- Fade out all parts for _, part in ipairs(afterImageFolder:GetChildren()) do if part:IsA("BasePart") then part.Transparency = AFTER_IMAGE_TRANSPARENCY + (alpha * (1 - AFTER_IMAGE_TRANSPARENCY)) end end end) -- Auto cleanup delay(AFTER_IMAGE_DURATION + 0.1, function() if afterImageFolder and afterImageFolder.Parent then afterImageFolder:Destroy() end if fadeConnection then fadeConnection:Disconnect() end end) end -- Apply cyber run effects local function applyCyberRunEffects() if not character or not humanoid or humanoid.Health <= 0 then return end if isSprinting then humanoid.WalkSpeed = SPRINT_SPEED -- Gentle forward boost if rootPart and humanoid.MoveDirection.Magnitude > 0 then local moveDirection = humanoid.MoveDirection local currentVelocity = rootPart.Velocity local boostPower = 10 local horizontalBoost = Vector3.new( moveDirection.X * boostPower, 0, moveDirection.Z * boostPower ) rootPart.Velocity = Vector3.new( currentVelocity.X + horizontalBoost.X, currentVelocity.Y, currentVelocity.Z + horizontalBoost.Z ) end -- Create whole body after image createWholeBodyAfterImage() else humanoid.WalkSpeed = NORMAL_SPEED end end -- Toggle function local function toggleCyberRun() isSprinting = not isSprinting if isSprinting then humanoid.WalkSpeed = SPRINT_SPEED humanoid.JumpPower = originalJumpPower * JUMP_POWER_MULTIPLIER sprintButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50) sprintButton.TextColor3 = Color3.fromRGB(255, 255, 255) sprintButton.Text = "🔥 ACTIVE" local pulseTween = TweenService:Create(sprintButton, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Size = UDim2.new(0, 145, 0, 52) }) pulseTween:Play() if connection then connection:Disconnect() end connection = RunService.Heartbeat:Connect(function() if isSprinting and character and humanoid.Health > 0 then if tick() % 0.15 < 0.05 then applyCyberRunEffects() end else if connection then connection:Disconnect() end end end) else humanoid.WalkSpeed = NORMAL_SPEED humanoid.JumpPower = originalJumpPower sprintButton.BackgroundColor3 = Color3.fromRGB(20, 20, 40) sprintButton.TextColor3 = Color3.fromRGB(0, 255, 255) sprintButton.Text = "⚡ CYBER RUN" local resetTween = TweenService:Create(sprintButton, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Size = UDim2.new(0, 140, 0, 50) }) resetTween:Play() if connection then connection:Disconnect() end end end -- Keybinds local function setupKeybinds() UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.LeftShift or input.KeyCode == Enum.KeyCode.E then toggleCyberRun() end end) end -- Cleanup local function fullCleanup() isSprinting = false if humanoid and humanoid.Parent then humanoid.WalkSpeed = NORMAL_SPEED humanoid.JumpPower = originalJumpPower end if connection then connection:Disconnect() end for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "CyberAfterImage" then obj:Destroy() end end end -- Character handling local function onCharacterAdded(newCharacter) character = newCharacter humanoid = character:WaitForChild("Humanoid") rootPart = character:WaitForChild("HumanoidRootPart") originalJumpPower = humanoid.JumpPower fullCleanup() if not sprintButton or not sprintButton.Parent then sprintButton = createSprintButton() sprintButton.MouseButton1Click:Connect(toggleCyberRun) else sprintButton.BackgroundColor3 = Color3.fromRGB(20, 20, 40) sprintButton.TextColor3 = Color3.fromRGB(0, 255, 255) sprintButton.Text = "⚡ CYBER RUN" end end -- Initialize if character then originalJumpPower = humanoid.JumpPower sprintButton = createSprintButton() sprintButton.MouseButton1Click:Connect(toggleCyberRun) setupKeybinds() end player.CharacterAdded:Connect(onCharacterAdded) humanoid.Died:Connect(fullCleanup) print("⚡ CYBER RUN - WHOLE BODY AFTER IMAGES") print("👤 Complete character after images") print("💨 Fast speed with smooth performance")