Vidd az egeret a ServerScriptService fölé, kattints a + gombra, és adj hozzá egy Script-et. Nevezd el Stats-nak.
Töröld ki a már ott lévő sort, és illeszd be ezt a kódot.
Nyomd meg a Play gombot. A játékoslistában Power 0 és Coins 0 látszik.
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)
Mit csinál az egyes rész
A ciklus egyetlen kódrészlettel két értéket hoz létre: Power és Coins.
A Multiplier azt adja meg, mennyi erőt ad egy kattintás. 1-ről indul.
A Multiplier a játékoson van, és nem a leaderstats-ban, így rejtve marad a játékoslistában.
További részletek
Amikor a + gombra kattintasz, írd be, hogy Script, hogy gyorsan megtaláld.
A szkript új lapon nyílik meg. Kattints a kódba, nyomd meg a Ctrl+A-t, majd a Ctrl+V-t, hogy mindent lecserélj.
Nevezd át a szkriptet az Explorer-ben az F2-vel. A név csak neked kell. Segít később megtalálni a szkriptet.
A játékoslista a játék jobb felső sarkában van.
Ez a lépés nem megy nekem
Először ezt a három dolgot ellenőrizd
Minden Part és szkript neve pontosan olyan, mint az útmutatóban, ugyanazokkal a nagybetűkkel.
A szkript a megfelelő objektumban van. Nézd meg a kódmező feletti feliratot.
Nyisd meg az Output ablakot a Window menüből. A piros szöveg megmutatja a szkriptet és a hibás sort.
Adj hozzá egy Part-ot. Állítsd a Size értékét 6, 8, 6-ra, kapcsold be az Anchored-et, és nevezd el Crystal-nak. Válassz élénk színt, és állítsd a Material értékét Neon-ra.
Vidd az egeret a Crystal fölé, kattints a + gombra, és adj hozzá egy ClickDetector-t.
Adj hozzá egy Script-et a Crystal-hoz, és illeszd be ezt a kódot.
Nyomd meg a Play gombot, és kattints a kristályra. A Power minden kattintásnál 1-gyel nő.
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)
Mit csinál az egyes rész
A ClickDetector kattinthatóvá tesz egy Part-ot. Telefonon az érintéssel is működik.
A MouseClick megmondja a szkriptnek, melyik játékos kattintott.
A szkript hozzáadja a játékos Multiplier értékét a Power-hez, így a fejlesztésektől minden kattintás erősebb lesz.
További részletek
Írd be a méretet a Properties panel Size mezőjébe, és nyomd meg az Enter-t. Aztán a Move eszközzel emeld fel a kristályt, amíg a padlón nem áll.
Amikor a + gombra kattintasz, írd be, hogy ClickDetector, hogy megtaláld. Az Explorer-ben egy lépéssel jobbra kell állnia, a Crystal alatt.
A játékban az egérmutató kézzé változik, amikor a kristály fölött van.
Elég közel kell állnod. A ClickDetector 32 stud-tól vagy közelebbről működik.
Gyakori hiba. Kattintásra nem történik semmi: a ClickDetector-nak közvetlenül a Crystal-ban kell lennie, a szkript mellett.
Ez a lépés nem megy nekem
Először ezt a három dolgot ellenőrizd
Minden Part és szkript neve pontosan olyan, mint az útmutatóban, ugyanazokkal a nagybetűkkel.
A szkript a megfelelő objektumban van. Nézd meg a kódmező feletti feliratot.
Nyisd meg az Output ablakot a Window menüből. A piros szöveg megmutatja a szkriptet és a hibás sort.
Adj hozzá egy Part-ot a padlón. Állítsd a Size értékét 8, 1, 8-ra, kapcsold be az Anchored-et, legyen sárga, és nevezd el Sell-nek.
Adj hozzá egy Script-et a Sell-hez, és illeszd be ezt a kódot.
Nyomd meg a Play gombot, kattints párszor a kristályra, és lépj a lapra. A Power Coins-szá alakul.
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)
Mit csinál az egyes rész
A GetPlayerFromCharacter megkeresi azt a játékost, aki rálépett a lapra.
A lap hozzáadja a játékos teljes Power értékét a Coins-hoz, aztán a Power-t visszaállítja 0-ra.
További részletek
A pad egy lapos Part, amelyre a játékosok ráállnak.
Fektesd a pad-et laposan a padlóra. Ha túl magasan van, a játékosok nem tudnak ráállni.
Ha 0 power-rel lépsz a pad-re, nem történik semmi. Ez rendben van.
A teszteléshez kattints 10-szer a kristályra, lépj a pad-re, és a játékoslista Power 0-t és Coins 10-et mutat.
Ez a lépés nem megy nekem
Először ezt a három dolgot ellenőrizd
Minden Part és szkript neve pontosan olyan, mint az útmutatóban, ugyanazokkal a nagybetűkkel.
A szkript a megfelelő objektumban van. Nézd meg a kódmező feletti feliratot.
Nyisd meg az Output ablakot a Window menüből. A piros szöveg megmutatja a szkriptet és a hibás sort.
Adj hozzá egy másik Part-ot a padlón. Állítsd a Size értékét 8, 1, 8-ra, kapcsold be az Anchored-et, legyen kék, és nevezd el Upgrade-nek.
Adj hozzá egy Script-et az Upgrade-hez, és illeszd be ezt a kódot.
Nyomd meg a Play gombot, szerezz 25 érmét, és lépj a lapra. Mostantól minden kattintás 2 erőt ad.
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)
Mit csinál az egyes rész
Az ár a játékos Multiplier értékének 25-szöröse, így minden fejlesztés drágább, mint az előző.
A waiting tábla megakadályozza, hogy egy hosszú ott állással sok fejlesztést vegyél egyszerre.
A vásárlás után a Multiplier 1-gyel nő.
További részletek
Tedd a pad-et néhány lépésre az eladó pad-től, hogy a játékosok ne vásároljanak véletlenül.
Az első fejlesztés 25 érmébe kerül. Utána a Coins 25-tel csökken, és egy kattintás 2 power-t ad.
Ha kevesebb érméd van, mint az ár, a pad nem csinál semmit. Lépj le, keress többet, és gyere vissza.
Az 1 másodperces szünet miatt veszel egyszerre csak egy fejlesztést, ha mozdulatlanul állsz a pad-en.
Ez a lépés nem megy nekem
Először ezt a három dolgot ellenőrizd
Minden Part és szkript neve pontosan olyan, mint az útmutatóban, ugyanazokkal a nagybetűkkel.
A szkript a megfelelő objektumban van. Nézd meg a kódmező feletti feliratot.
Nyisd meg az Output ablakot a Window menüből. A piros szöveg megmutatja a szkriptet és a hibás sort.
Vidd az egeret a Sell fölé, kattints a + gombra, és adj hozzá egy BillboardGui-t. Állítsd a Size értékét {0, 200}, {0, 50}-re, a StudsOffset értékét pedig 0, 4, 0-ra.
Adj hozzá egy TextLabel-t a BillboardGui-ba. Állítsd a Size értékét {1, 0}, {1, 0}-ra, kapcsold be a TextScaled-et, és írd be ezt a szöveget: SELL
Csináld meg ugyanezt az Upgrade-hez ezzel a szöveggel: UPGRADE
Csináld meg ugyanezt a Crystal-hoz ezzel a szöveggel: CLICK ME. Itt használj 0, 7, 0 StudsOffset értéket, hogy a felirat a kristály fölött lebegjen.
További részletek
A Size és a StudsOffset beállításához kattints a mezőre a Properties panelen, írd be a számokat pontosan úgy, ahogy látod, a zárójelekkel és a vesszőkkel együtt, és nyomd meg az Enter-t.
A Text a TextLabel egyik tulajdonsága. Kattints a Text mezőre, írd be a szót, és nyomd meg az Enter-t.
Egy gyorsabb mód: kattints a kész BillboardGui-ra az Explorer-ben, nyomd meg a Ctrl+C-t, kattints a következő Part-ra, és nyomd meg a Ctrl+Shift+V-t. Aztán csak a szöveget módosítsd.
A feliratok segítenek az új játékosoknak megérteni a játékot magyarázat nélkül.
Tipp. A BillboardGui mindig a kamera felé fordul, így a játékosok bármelyik oldalról el tudják olvasni.
Ez a lépés nem megy nekem
Először ezt a három dolgot ellenőrizd
Minden Part és szkript neve pontosan olyan, mint az útmutatóban, ugyanazokkal a nagybetűkkel.
A szkript a megfelelő objektumban van. Nézd meg a kódmező feletti feliratot.
Nyisd meg az Output ablakot a Window menüből. A piros szöveg megmutatja a szkriptet és a hibás sort.