🏆 Lav din første Roblox-oplevelse – Del 3: Belønninger, tidtagning og leaderboard

🕒 Trin 1: Tilføj et Leaderboard (points og tid)

  • Gå til ServerScriptService.

  • Lav et nyt Script og indsæt:

  game.Players.PlayerAdded:Connect(function(player) -- Leaderstats mappe local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player -- Point local points = Instance.new("IntValue") points.Name = "Points" points.Value = 0 points.Parent = leaderstats -- Tid local timeValue = Instance.new("IntValue") timeValue.Name = "Time" timeValue.Value = 0 timeValue.Parent = leaderstats -- Timer opdatering while player.Parent do task.wait(1) timeValue.Value += 1 end end)

💡 Nu får alle spillere vist deres points og tid i toppen af skærmen.

🎯 Trin 2: Beløn spillerne ved målet

  • Find Scriptet i din målblok (fra Del 1).

  • Erstat det med dette:

  script.Parent.Touched:Connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player then local stats = player:FindFirstChild("leaderstats") if stats then local points = stats:FindFirstChild("Points") if points then points.Value += 100 -- belønning end end game.StarterGui:SetCore("SendNotification", { Title = "Tillykke!"; Text = "Du klarede banen og fik 100 points!"; Duration = 4 }) end end)

🟢 Nu får spilleren points og en besked, når banen gennemføres.

⏱️ Trin 3: Tilføj en tidtagning på skærmen

Gå til StarterGui, lav en ScreenGui og en TextLabel.

Giv den navnet TimerLabel.

I Properties, sæt:

Text: “Tid: 0 sek”

BackgroundTransparency: 1

TextScaled: true

Position: {0.8, 0}, {0.05, 0}

Tilføj et LocalScript i TimerLabel:

  local player = game.Players.LocalPlayer local label = script.Parent local function updateTime() while wait(1) do local stats = player:FindFirstChild("leaderstats") if stats then local timeValue = stats:FindFirstChild("Time") if timeValue then label.Text = "Tid: " .. timeValue.Value .. " sek" end end end end task.spawn(updateTime)

💡 Timeren tæller nu live på spillerens skærm.

💰 Trin 4: Bonus-belønning for hurtig gennemførsel

Vil du give ekstra points, hvis spilleren klarer banen hurtigt?
Tilføj dette i dit mål-script lige efter points-linjen:

  local timeValue = stats:FindFirstChild("Time") if timeValue and timeValue.Value <= 60 then points.Value += 50 game.StarterGui:SetCore("SendNotification", { Title = "Hurtig bonus!"; Text = "Du fik 50 ekstra points for at være hurtig!"; Duration = 3 }) end

🟢 Nu får spilleren bonus, hvis de klarer banen under ét minut.

🌍 Trin 5: Gem leaderboard-data (valgfrit)

Hvis du vil gemme spillerens points permanent, kan du bruge Roblox DataStoreService (kræver API-aktivering).
Det kræver dog, at du slår “Enable Studio Access to API Services” til under Game Settings → Security.

Del 3 færdiggør altså gameplay-loopet:

  • Spilleren starter

  • Timer og UI kører

  • Checkpoints fungerer

  • Points og belønninger gives

  • Bonus for hurtig gennemførsel

Scroll to Top