Πέρασε το ποντίκι πάνω από το ServerScriptService, κάνε κλικ στο + και πρόσθεσε ένα Script. Ονόμασέ το Stats.
Σβήσε τη γραμμή που υπάρχει ήδη και επικόλλησε αυτόν τον κώδικα.
Πάτα Play. Η λίστα παικτών δείχνει Power 0 και 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)
Τι κάνει κάθε κομμάτι
Ο βρόχος δημιουργεί δύο τιμές με ένα κομμάτι κώδικα: Power και Coins.
Το Multiplier είναι πόση δύναμη δίνει ένα κλικ. Ξεκινά από το 1.
Το Multiplier βρίσκεται πάνω στον παίκτη και όχι στο leaderstats, γι' αυτό μένει κρυφό από τη λίστα παικτών.
Περισσότερες λεπτομέρειες
Όταν κάνεις κλικ στο +, γράψε τη λέξη Script για να το βρεις γρήγορα.
Το script ανοίγει σε νέα καρτέλα. Κάνε κλικ μέσα στον κώδικα, πάτα Ctrl+A και μετά Ctrl+V για να αντικαταστήσεις τα πάντα.
Μετονόμασε το script στο Explorer με F2. Το όνομα είναι μόνο για σένα. Σε βοηθά να βρεις το script αργότερα.
Η λίστα παικτών βρίσκεται πάνω δεξιά στο παιχνίδι.
Αυτό το βήμα δεν δουλεύει σε μένα
Έλεγξε πρώτα αυτά τα τρία πράγματα
Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.
Πρόσθεσε ένα Part. Βάλε Size 6, 8, 6, ενεργοποίησε το Anchored και ονόμασέ το Crystal. Διάλεξε ένα έντονο χρώμα και βάλε Material σε Neon.
Πέρασε το ποντίκι πάνω από το Crystal, κάνε κλικ στο + και πρόσθεσε ένα ClickDetector.
Πρόσθεσε ένα Script στο Crystal και επικόλλησε αυτόν τον κώδικα.
Πάτα Play και κάνε κλικ στον κρύσταλλο. Η δύναμη ανεβαίνει κατά 1 σε κάθε κλικ.
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)
Τι κάνει κάθε κομμάτι
Ένα ClickDetector κάνει ένα Part να μπορεί να πατηθεί. Δουλεύει και με αγγίγματα στα κινητά.
Το MouseClick λέει στο script ποιος παίκτης έκανε κλικ.
Το script προσθέτει το Multiplier του παίκτη στο Power, οπότε οι αναβαθμίσεις κάνουν κάθε κλικ πιο δυνατό.
Περισσότερες λεπτομέρειες
Γράψε το μέγεθος στο πεδίο Size στο Properties και πάτα Enter. Μετά ανέβασε τον κρύσταλλο με το εργαλείο Move μέχρι να στέκεται πάνω στο δάπεδο.
Όταν κάνεις κλικ στο +, γράψε ClickDetector για να το βρεις. Στο Explorer πρέπει να βρίσκεται ένα βήμα δεξιότερα, κάτω από το Crystal.
Μέσα στο παιχνίδι, ο δείκτης του ποντικιού γίνεται χεράκι όταν βρίσκεται πάνω από τον κρύσταλλο.
Πρέπει να στέκεσαι αρκετά κοντά. Ένα ClickDetector δουλεύει από απόσταση 32 studs ή λιγότερο.
Συνηθισμένο λάθος. Δεν γίνεται τίποτα στο κλικ: το ClickDetector πρέπει να βρίσκεται κατευθείαν μέσα στο Crystal, δίπλα στο script.
Αυτό το βήμα δεν δουλεύει σε μένα
Έλεγξε πρώτα αυτά τα τρία πράγματα
Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.
Πρόσθεσε ένα Part στο δάπεδο. Βάλε Size 8, 1, 8, ενεργοποίησε το Anchored, κάν' το κίτρινο και ονόμασέ το Sell.
Πρόσθεσε ένα Script στο Sell και επικόλλησε αυτόν τον κώδικα.
Πάτα Play, κάνε μερικά κλικ στον κρύσταλλο και περπάτα πάνω στην πλατφόρμα. Η δύναμη γίνεται 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)
Τι κάνει κάθε κομμάτι
Το GetPlayerFromCharacter βρίσκει τον παίκτη που πάτησε την πλατφόρμα.
Η πλατφόρμα προσθέτει όλο το Power του παίκτη στα Coins και μετά βάζει το Power ξανά στο 0.
Περισσότερες λεπτομέρειες
Μια πλατφόρμα-πάτημα είναι ένα επίπεδο Part πάνω στο οποίο περπατούν οι παίκτες.
Βάλε την πλατφόρμα επίπεδη στο δάπεδο. Αν είναι πολύ ψηλά, οι παίκτες δεν μπορούν να ανέβουν πάνω της.
Αν περπατήσεις πάνω στην πλατφόρμα με 0 δύναμη, δεν γίνεται τίποτα. Αυτό είναι σωστό.
Για δοκιμή: κάνε κλικ στον κρύσταλλο 10 φορές, περπάτα πάνω στην πλατφόρμα και η λίστα παικτών δείχνει Power 0 και Coins 10.
Αυτό το βήμα δεν δουλεύει σε μένα
Έλεγξε πρώτα αυτά τα τρία πράγματα
Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.
Πρόσθεσε ένα ακόμα Part στο δάπεδο. Βάλε Size 8, 1, 8, ενεργοποίησε το Anchored, κάν' το μπλε και ονόμασέ το Upgrade.
Πρόσθεσε ένα Script στο Upgrade και επικόλλησε αυτόν τον κώδικα.
Πάτα Play, βγάλε 25 coins και πάτα την πλατφόρμα. Τώρα κάθε κλικ δίνει 2 δύναμη.
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)
Τι κάνει κάθε κομμάτι
Η τιμή είναι το Multiplier του παίκτη επί 25, οπότε κάθε αναβάθμιση κοστίζει περισσότερο από την προηγούμενη.
Ο πίνακας waiting εμποδίζει ένα μακρύ πάτημα στην πλατφόρμα να αγοράσει πολλές αναβαθμίσεις μαζί.
Μετά την αγορά το Multiplier ανεβαίνει κατά 1.
Περισσότερες λεπτομέρειες
Βάλε την πλατφόρμα μερικά βήματα μακριά από την πλατφόρμα πώλησης, ώστε οι παίκτες να μην αγοράζουν κατά λάθος.
Η πρώτη αναβάθμιση κοστίζει 25 coins. Μετά από αυτήν, το Coins πέφτει κατά 25 και ένα κλικ δίνει 2 δύναμη.
Με λιγότερα coins από την τιμή, η πλατφόρμα δεν κάνει τίποτα. Κατέβα, κέρδισε περισσότερα και γύρνα.
Η παύση του 1 δευτερολέπτου είναι ο λόγος που, αν μείνεις ακίνητος πάνω στην πλατφόρμα, αγοράζεις μόνο μία αναβάθμιση τη φορά.
Αυτό το βήμα δεν δουλεύει σε μένα
Έλεγξε πρώτα αυτά τα τρία πράγματα
Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.
Πέρασε το ποντίκι πάνω από το Sell, κάνε κλικ στο + και πρόσθεσε ένα BillboardGui. Βάλε το Size του σε {0, 200}, {0, 50} και το StudsOffset του σε 0, 4, 0.
Πρόσθεσε ένα TextLabel μέσα στο BillboardGui. Βάλε το Size του σε {1, 0}, {1, 0}, ενεργοποίησε το TextScaled και γράψε αυτό το κείμενο: SELL
Κάνε το ίδιο για το Upgrade με το κείμενο: UPGRADE
Κάνε το ίδιο για το Crystal με το κείμενο: CLICK ME. Εκεί βάλε StudsOffset 0, 7, 0, ώστε η ετικέτα να αιωρείται πάνω από τον κρύσταλλο.
Περισσότερες λεπτομέρειες
Για το Size και το StudsOffset, κάνε κλικ στο πεδίο στο Properties, γράψε τους αριθμούς ακριβώς όπως φαίνονται, με τις αγκύλες και τα κόμματα, και πάτα Enter.
Το Text είναι ιδιότητα του TextLabel. Κάνε κλικ στο πεδίο Text, γράψε τη λέξη και πάτα Enter.
Ένας πιο γρήγορος τρόπος: κάνε κλικ στο έτοιμο BillboardGui στο Explorer, πάτα Ctrl+C, κάνε κλικ στο επόμενο Part και πάτα Ctrl+Shift+V. Μετά άλλαξε μόνο το κείμενο.
Οι ετικέτες βοηθούν τους νέους παίκτες να καταλάβουν το παιχνίδι χωρίς καμία εξήγηση.
Συμβουλή. Ένα BillboardGui γυρίζει πάντα προς την κάμερα, οπότε οι παίκτες το διαβάζουν από κάθε πλευρά.
Αυτό το βήμα δεν δουλεύει σε μένα
Έλεγξε πρώτα αυτά τα τρία πράγματα
Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.