I made this hoping I will be able to track the speed of players but it always shows 0m/s
-- Create a new screen GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "SpeedTracker" screenGui.Parent = game.Players.LocalPlayer.PlayerGui -- Create a frame to hold the player speed labels local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundTransparency = 1 frame.Parent = screenGui -- Create a label for each player for _, player in pairs(game.Players:GetPlayers()) do local label = Instance.new("TextLabel") label.Size = UDim2.new(0, 100, 0, 20) label.BackgroundTransparency = 1 label.Text = player.Name .. ": 0 m/s" label.Parent = frame end -- Update the player speed labels every frame game:GetService("RunService").RenderStepped:Connect(function() for _, player in pairs(game.Players:GetPlayers()) do local label = frame:FindFirstChild(player.Name) if label then label.Text = player.Name .. ": " .. player.Character.Humanoid.WalkSpeed .. " m/s" end end end)
not sure if this will work, but try doing this. add a Server Script and add a ScreenGui to starter Gui
game.Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function(character) local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundTransparency = 1 frame.Parent = plr.PlayerGui:WaitForChild("ScreenGui") local label = Instance.new("TextLabel") label.Size = UDim2.new(0, 100, 0, 20) label.BackgroundTransparency = 1 label.Text = plr.Name .. ": 0 m/s" label.Parent = frame while wait() do label.Text = math.ceil(math.abs(character.HumanoidRootPart.AssemblyLinearVelocity.X + character.HumanoidRootPart.AssemblyLinearVelocity.Z)).."m/s" end end) end)