Ga met de muis over ServerScriptService, klik op + en voeg een Script toe. Noem het Stats.
Verwijder de regel die er al staat en plak deze code.
Druk op Play. In de spelerslijst staan Power 0 en Coins 0.
ServerScriptService > Stats
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
for _, name in ipairs({"Power", "Coins"}) do
local value = Instance.new("IntValue")
value.Name = name
value.Parent = stats
end
local multiplier = Instance.new("IntValue")
multiplier.Name = "Multiplier"
multiplier.Value = 1
multiplier.Parent = player
end)
Wat elk deel doet
De lus maakt met één stukje code twee waarden: Power en Coins.
Multiplier is hoeveel kracht één klik geeft. Hij begint op 1.
Multiplier zit op de speler en niet in leaderstats, dus hij blijft verborgen in de spelerslijst.
Meer uitleg
Als je op + klikt, typ je het woord Script om het snel te vinden.
Het script opent in een nieuw tabblad. Klik in de code, druk op Ctrl+A en dan op Ctrl+V om alles te vervangen.
Geef het script in Explorer met F2 een nieuwe naam. De naam is alleen voor jou. Hij helpt je het script later terug te vinden.
De spelerslijst staat rechtsboven in de game.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.
Voeg een Part toe. Zet Size op 6, 8, 6, zet Anchored aan en noem hem Crystal. Kies een felle kleur en zet Material op Neon.
Ga met de muis over Crystal, klik op + en voeg een ClickDetector toe.
Voeg een Script toe aan Crystal en plak deze code.
Druk op Play en klik op het kristal. Power gaat bij elke klik met 1 omhoog.
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector
clickDetector.MouseClick:Connect(function(player)
local power = player.leaderstats.Power
power.Value += player.Multiplier.Value
end)
Wat elk deel doet
Met een ClickDetector kun je op een part klikken. Het werkt ook met tikken op telefoons.
MouseClick vertelt het script welke speler klikte.
Het script telt de Multiplier van de speler op bij Power, dus upgrades maken elke klik sterker.
Meer uitleg
Typ de grootte in het veld Size in Properties en druk op Enter. Til het kristal daarna met het gereedschap Move omhoog tot het op de vloer staat.
Als je op + klikt, typ je ClickDetector om hem te vinden. In Explorer moet hij een stap naar rechts staan, onder Crystal.
In de game verandert de muisaanwijzer in een hand als hij boven het kristal staat.
Je moet dichtbij genoeg staan. Een ClickDetector werkt vanaf 32 studs afstand of minder.
Veelgemaakte fout. Er gebeurt niets bij een klik: de ClickDetector moet direct in Crystal zitten, naast het script.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.
Voeg een Part toe op de vloer. Zet Size op 8, 1, 8, zet Anchored aan, maak hem geel en noem hem Sell.
Voeg een Script toe aan Sell en plak deze code.
Druk op Play, klik een paar keer op het kristal en loop op het pad. Power verandert in Coins.
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if not player then return end
local stats = player.leaderstats
if stats.Power.Value > 0 then
stats.Coins.Value += stats.Power.Value
stats.Power.Value = 0
end
end)
Wat elk deel doet
GetPlayerFromCharacter zoekt de speler die op het pad stapte.
Het pad telt alle Power van de speler op bij Coins en zet Power dan terug op 0.
Meer uitleg
Een plaat is een platte part waar spelers op lopen.
Leg de plaat plat op de vloer. Ligt hij te hoog, dan kunnen spelers er niet op stappen.
Op de plaat lopen met 0 power doet niets. Dat klopt.
Testen: klik 10 keer op het kristal en loop op de plaat. De spelerslijst toont dan Power 0 en Coins 10.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.
Voeg nog een Part toe op de vloer. Zet Size op 8, 1, 8, zet Anchored aan, maak hem blauw en noem hem Upgrade.
Voeg een Script toe aan Upgrade en plak deze code.
Druk op Play, verdien 25 coins en ga op het pad staan. Elke klik geeft nu 2 power.
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if not player or waiting[player] then return end
local price = player.Multiplier.Value * 25
local coins = player.leaderstats.Coins
if coins.Value < price then return end
waiting[player] = true
coins.Value -= price
player.Multiplier.Value += 1
task.wait(1)
waiting[player] = nil
end)
Wat elk deel doet
De prijs is de Multiplier van de speler maal 25, dus elke upgrade kost meer dan de vorige.
De tabel waiting zorgt dat één lange stap op het pad niet in één keer veel upgrades koopt.
Na de aankoop gaat de Multiplier met 1 omhoog.
Meer uitleg
Zet de plaat een paar stappen van de verkoopplaat vandaan, zodat spelers niet per ongeluk kopen.
De eerste upgrade kost 25 coins. Daarna gaat Coins met 25 omlaag en geeft één klik 2 power.
Heb je minder coins dan de prijs, dan doet de plaat niets. Stap eraf, verdien meer en kom terug.
Door de pauze van 1 seconde koop je, als je stil op de plaat blijft staan, maar één upgrade tegelijk.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.
Ga met de muis over Sell, klik op + en voeg een BillboardGui toe. Zet de Size op {0, 200}, {0, 50} en de StudsOffset op 0, 4, 0.
Voeg een TextLabel toe in de BillboardGui. Zet de Size op {1, 0}, {1, 0}, zet TextScaled aan en typ deze tekst: SELL
Doe hetzelfde voor Upgrade met de tekst: UPGRADE
Doe hetzelfde voor Crystal met de tekst: CLICK ME. Gebruik daar een StudsOffset van 0, 7, 0, zodat het label boven het kristal zweeft.
Meer uitleg
Bij Size en StudsOffset klik je in Properties op het veld, typ je de getallen precies zoals getoond, met de haakjes en komma's, en druk je op Enter.
Text is een eigenschap van het TextLabel. Klik op het veld Text, typ het woord en druk op Enter.
Een snellere manier: klik in Explorer op de klare BillboardGui, druk op Ctrl+C, klik op de volgende part en druk op Ctrl+Shift+V. Verander daarna alleen de tekst.
De labels helpen nieuwe spelers de game te snappen zonder uitleg.
Tip. Een BillboardGui draait altijd naar de camera, dus spelers kunnen het van elke kant lezen.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.
Kies File → Publish to Roblox. Geef de game een naam en een korte beschrijving.
Open je game op de website Creator Hub en vul de vragenlijst Maturity in.
Zet de game op Public en stuur de link naar een vriend of vriendin.
Meer uitleg
De eerste keer dat je publiceert, vraagt Studio om een naam en een beschrijving. Klik op Create.
Creator Hub is de website create.roblox.com. Log in met hetzelfde account en klik in de lijst op je game.
Roblox vraagt misschien om meer voordat een game openbaar mag zijn, bijvoorbeeld een leeftijdscontrole van het account. De pagina vertelt wat er ontbreekt.
Ben je jonger dan 18? Doe deze stap dan samen met een ouder.
Tip. Voortgang wordt nog niet opgeslagen. Als een speler weggaat, zijn de coins weg. Gegevens opslaan is een les voor gevorderden.
Deze stap lukt mij niet
Controleer eerst deze drie dingen
De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
Het script zit in het juiste object. Kijk naar het label boven het codevak.
Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.