Treci cu mouse-ul peste ServerScriptService, apasă + și adaugă un Script. Numește-l Stats.
Șterge linia care era deja acolo și lipește acest cod.
Apasă Play. Lista de jucători arată Power 0 și 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)
Ce face fiecare parte
Bucla creează două valori cu o singură bucată de cod: Power și Coins.
Multiplier este cât de multă putere dă un click. Începe de la 1.
Multiplier stă pe jucător și nu în leaderstats, așa că rămâne ascuns din lista de jucători.
Mai multe detalii
Când faci clic pe +, scrie cuvântul Script ca să îl găsești repede.
Scriptul se deschide într-o filă nouă. Fă clic în cod, apasă Ctrl+A și apoi Ctrl+V ca să înlocuiești tot.
Redenumește scriptul în Explorer cu F2. Numele este doar pentru tine. Te ajută să găsești scriptul mai târziu.
Lista jucătorilor este în colțul din dreapta sus al jocului.
Acest pas nu merge la mine
Verifică mai întâi aceste trei lucruri
Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.
Adaugă un Part. Setează Size la 6, 8, 6, bifează Anchored și numește-l Crystal. Alege o culoare vie și setează Material la Neon.
Treci cu mouse-ul peste Crystal, apasă + și adaugă un ClickDetector.
Adaugă un Script la Crystal și lipește acest cod.
Apasă Play și dă click pe cristal. Power crește cu 1 la fiecare click.
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)
Ce face fiecare parte
Un ClickDetector face o piesă să poată fi apăsată. Funcționează și cu atingerile pe telefon.
MouseClick îi spune scriptului ce jucător a dat click.
Scriptul adaugă Multiplier-ul jucătorului la Power, așa că îmbunătățirile fac fiecare click mai puternic.
Mai multe detalii
Scrie mărimea în câmpul Size din Properties și apasă Enter. Apoi ridică cristalul cu unealta Move până stă pe podea.
Când faci clic pe +, scrie ClickDetector ca să îl găsești. În Explorer trebuie să stea cu un pas mai spre dreapta, sub Crystal.
În joc, cursorul mouse-ului se schimbă într-o mână când trece peste cristal.
Trebuie să stai destul de aproape. Un ClickDetector funcționează de la 32 de studs sau mai puțin.
Greșeală frecventă. Nu se întâmplă nimic la click: ClickDetector trebuie să fie direct în Crystal, lângă script.
Acest pas nu merge la mine
Verifică mai întâi aceste trei lucruri
Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.
Adaugă un Part pe podea. Setează Size la 8, 1, 8, bifează Anchored, fă-l galben și numește-l Sell.
Adaugă un Script la Sell și lipește acest cod.
Apasă Play, dă click pe cristal de câteva ori și urcă pe platformă. Power se transformă în 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)
Ce face fiecare parte
GetPlayerFromCharacter găsește jucătorul care a călcat pe platformă.
Platforma adaugă toată puterea jucătorului la Coins și apoi pune Power înapoi pe 0.
Mai multe detalii
Un pad este o piesă plată pe care merg jucătorii.
Pune pad-ul culcat pe podea. Dacă este prea sus, jucătorii nu pot urca pe el.
Dacă mergi pe pad cu 0 power, nu se întâmplă nimic. Așa trebuie.
Ca să testezi: fă clic pe cristal de 10 ori, mergi pe pad și lista jucătorilor arată Power 0 și Coins 10.
Acest pas nu merge la mine
Verifică mai întâi aceste trei lucruri
Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.
Adaugă încă un Part pe podea. Setează Size la 8, 1, 8, bifează Anchored, fă-l albastru și numește-l Upgrade.
Adaugă un Script la Upgrade și lipește acest cod.
Apasă Play, strânge 25 de monede și calcă pe platformă. Acum fiecare click dă 2 puncte de putere.
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)
Ce face fiecare parte
Prețul este Multiplier-ul jucătorului înmulțit cu 25, așa că fiecare îmbunătățire costă mai mult decât cea dinainte.
Tabelul waiting oprește un pas lung pe platformă să cumpere multe îmbunătățiri deodată.
După cumpărare, Multiplier crește cu 1.
Mai multe detalii
Pune pad-ul la câțiva pași de pad-ul de vânzare, ca jucătorii să nu cumpere din greșeală.
Prima îmbunătățire costă 25 de monede. După ea, Coins scade cu 25, iar un clic dă 2 power.
Cu mai puține monede decât prețul, pad-ul nu face nimic. Coboară de pe el, câștigă mai multe și revino.
Pauza de 1 secundă este motivul pentru care, dacă stai nemișcat pe pad, cumperi doar o îmbunătățire odată.
Acest pas nu merge la mine
Verifică mai întâi aceste trei lucruri
Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.
Treci cu mouse-ul peste Sell, apasă + și adaugă un BillboardGui. Setează Size la {0, 200}, {0, 50} și StudsOffset la 0, 4, 0.
Adaugă un TextLabel în BillboardGui. Setează Size la {1, 0}, {1, 0}, bifează TextScaled și scrie acest text: SELL
Fă la fel pentru Upgrade, cu textul: UPGRADE
Fă la fel pentru Crystal, cu textul: CLICK ME. Folosește acolo un StudsOffset de 0, 7, 0, ca eticheta să plutească deasupra cristalului.
Mai multe detalii
Pentru Size și StudsOffset, fă clic pe câmp în Properties, scrie numerele exact cum sunt arătate, cu paranteze și virgule, și apasă Enter.
Text este o proprietate a obiectului TextLabel. Fă clic pe câmpul Text, scrie cuvântul și apasă Enter.
O metodă mai rapidă: fă clic pe BillboardGui terminat în Explorer, apasă Ctrl+C, fă clic pe piesa următoare și apasă Ctrl+Shift+V. Apoi schimbă doar textul.
Etichetele îi ajută pe jucătorii noi să înțeleagă jocul fără nicio explicație.
Sfat. Un BillboardGui se întoarce mereu cu fața spre cameră, așa că jucătorii îl pot citi din orice parte.
Acest pas nu merge la mine
Verifică mai întâi aceste trei lucruri
Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.