🏆 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

