local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") local humanoid = character:WaitForChild("Humanoid") local playerGui = player:WaitForChild("PlayerGui") -- Create ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.ResetOnSpawn = false -- Keep GUI when respawning screenGui.Parent = playerGui -- Create small circular TextButton local button = Instance.new("TextButton") button.Size = UDim2.new(0, 40, 0, 40) button.Position = UDim2.new(0.5, -20, 0, 0) button.BackgroundColor3 = Color3.fromRGB(0, 0, 0) button.BorderSizePixel = 0 button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextScaled = true button.Text = "O\n/|\\\n/ \\" button.Font = Enum.Font.SourceSansBold button.TextYAlignment = Enum.TextYAlignment.Top button.TextXAlignment = Enum.TextXAlignment.Center button.TextWrapped = true button.TextStrokeTransparency = 0.5 button.TextStrokeColor3 = Color3.new(0,0,0) button.Parent = screenGui -- Make button perfectly round local uicorner = Instance.new("UICorner") uicorner.CornerRadius = UDim.new(0.5, 0) uicorner.Parent = button -- Create death message label (initially hidden) local deathLabel = Instance.new("TextLabel") deathLabel.Size = UDim2.new(0, 400, 0, 80) deathLabel.Position = UDim2.new(0.5, -200, 0.5, -40) deathLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) deathLabel.BackgroundTransparency = 0.3 deathLabel.BorderSizePixel = 0 deathLabel.TextColor3 = Color3.fromRGB(255, 0, 0) deathLabel.TextScaled = true deathLabel.Text = "haha you died bitch" deathLabel.Font = Enum.Font.SourceSansBold deathLabel.TextStrokeTransparency = 0 deathLabel.TextStrokeColor3 = Color3.new(0, 0, 0) deathLabel.Visible = false deathLabel.Parent = screenGui -- Round corners for death label local labelCorner = Instance.new("UICorner") labelCorner.CornerRadius = UDim.new(0, 10) labelCorner.Parent = deathLabel -- Easing function local function easeInOut(t) return t < 0.5 and 2*t*t or -1 + (4 - 2*t)*t end -- Update references when character respawns local function onCharacterAdded(newCharacter) character = newCharacter hrp = newCharacter:WaitForChild("HumanoidRootPart") humanoid = newCharacter:WaitForChild("Humanoid") -- Hide death message on respawn deathLabel.Visible = false -- Watch for death humanoid.Died:Connect(function() deathLabel.Visible = true end) end player.CharacterAdded:Connect(onCharacterAdded) -- Watch for death on initial character humanoid.Died:Connect(function() deathLabel.Visible = true end) -- Flip Facing Where You Look local function flipFacingLook() if humanoid.Health <= 0 then return end -- Don't flip if dead local startPos = hrp.Position local camera = workspace.CurrentCamera local forwardVector = Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z).Unit local flipHeight = 14 local flipDistance = 18 local flips = 2 local duration = 1 local steps = 60 hrp.Anchored = true humanoid.PlatformStand = true for i = 1, steps do local alpha = i / steps local eased = easeInOut(alpha) local yOffset = math.sin(math.pi * eased) * flipHeight local forwardOffset = forwardVector * (flipDistance * eased) local lookRotation = CFrame.new(Vector3.new(), forwardVector) local flipRotation = CFrame.Angles(math.pi * 2 * flips * eased, 0, 0) hrp.CFrame = CFrame.new(startPos + forwardOffset + Vector3.new(0, yOffset, 0)) * lookRotation * flipRotation task.wait(duration / steps) end hrp.CFrame = CFrame.new(startPos + forwardVector * flipDistance) * CFrame.new(Vector3.new(), forwardVector) hrp.Velocity = Vector3.zero hrp.Anchored = false humanoid.PlatformStand = false end -- Connect button click button.MouseButton1Click:Connect(flipFacingLook)