← Όλοι οι οδηγοί
Οδηγός 2

Φτιάξε το πρώτο σου tycoon

Ένας εκτοξευτής φτιάχνει κύβους, ένας ιμάντας τους μεταφέρει, ένας συλλέκτης τους κάνει cash και ένα κουμπί αγοράζει δεύτερο εκτοξευτή.

Δωρεάν60 λεπτά · Αρχάριος · Roblox Studio
1
Βήμα 1 / 9

Ετοίμασε το place

  1. Άνοιξε το Roblox Studio, κάνε κλικ στο New Experience και διάλεξε το πρότυπο Baseplate.
  2. Στο Explorer πέρασε το ποντίκι πάνω από το Workspace, κάνε κλικ στο + και πρόσθεσε ένα Folder. Ονόμασέ το Tycoon.
  3. Ό,τι φτιάχνεις σε αυτόν τον οδηγό μπαίνει σε αυτόν τον φάκελο. Έτσι το Explorer μένει τακτοποιημένο.

Περισσότερες λεπτομέρειες

  • Το πρότυπο Baseplate βρίσκεται στη λίστα με τα πρότυπα στην αρχική οθόνη.
  • Όταν κάνεις κλικ στο +, ανοίγει μια λίστα. Γράψε τη λέξη Folder για να το βρεις γρήγορα και κάνε κλικ πάνω του.
  • Για να μετονομάσεις τον φάκελο, κάνε κλικ πάνω του μία φορά, πάτα F2, γράψε Tycoon και πάτα Enter.
  • Σε Mac, χρησιμοποίησε το πλήκτρο Cmd κάθε φορά που ο οδηγός λέει Ctrl.
Συμβουλή. Μετονόμαζε κάθε Part αμέσως μόλις το φτιάξεις. Τα scripts βρίσκουν τα Part από το όνομά τους, οπότε ένα Part που λέγεται ακόμα Part δεν θα δουλέψει.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

2
Βήμα 2 / 9

Δώσε cash σε κάθε παίκτη

  1. Πέρασε το ποντίκι πάνω από το ServerScriptService, κάνε κλικ στο + και πρόσθεσε ένα Script. Ονόμασέ το Leaderstats.
  2. Σβήσε τη γραμμή που υπάρχει ήδη και επικόλλησε αυτόν τον κώδικα.
  3. Πάτα Play. Το όνομά σου εμφανίζεται στη λίστα παικτών με Cash 0 δίπλα του.
ServerScriptService > Leaderstats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Value = 0
	cash.Parent = stats
end)

Τι κάνει κάθε κομμάτι

  • Το PlayerAdded τρέχει μία φορά για κάθε παίκτη που μπαίνει.
  • Ένας φάκελος με όνομα leaderstats είναι ειδικός. Η Roblox δείχνει τις τιμές μέσα του στη λίστα παικτών.
  • Ένα IntValue κρατάει έναν ακέραιο αριθμό. Εδώ κρατάει τα cash του παίκτη.

Περισσότερες λεπτομέρειες

  • Το ServerScriptService βρίσκεται στη λίστα του Explorer. Τα script μέσα του τρέχουν στον server, όπου οι παίκτες δεν μπορούν να τα αλλάξουν.
  • Το script ανοίγει σε νέα καρτέλα. Κάνε κλικ μέσα στον κώδικα, πάτα Ctrl+A και μετά Ctrl+V για να αντικαταστήσεις τα πάντα.
  • Γύρνα στον κόσμο σου κάνοντας κλικ στην καρτέλα με το όνομα του place σου.
  • Η λίστα παικτών βρίσκεται πάνω δεξιά στο παιχνίδι. Πάτα F5 για να ξεκινήσεις και Shift+F5 για να σταματήσεις.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

3
Βήμα 3 / 9

Φτιάξε τον εκτοξευτή

  1. Πρόσθεσε ένα Part μέσα στο φάκελο Tycoon. Βάλε Size 4, 1, 4, ενεργοποίησε το Anchored και ονόμασέ το Dropper.
  2. Ανέβασέ το περίπου 10 studs πάνω από το δάπεδο με το εργαλείο Move (Ctrl+2).
  3. Πρόσθεσε ένα Script στο Dropper και επικόλλησε αυτόν τον κώδικα.
  4. Πάτα Play. Ένας κίτρινος κύβος πέφτει κάθε 2 δευτερόλεπτα.
Dropper > Script
local Debris = game:GetService("Debris")
local dropper = script.Parent

while true do
	task.wait(2)

	local cube = Instance.new("Part")
	cube.Name = "Cube"
	cube.Size = Vector3.new(1.5, 1.5, 1.5)
	cube.Color = Color3.fromRGB(255, 200, 60)
	cube.Position = dropper.Position - Vector3.new(0, 2, 0)
	cube.Parent = workspace

	Debris:AddItem(cube, 20)
end

Τι κάνει κάθε κομμάτι

  • Το Instance.new δημιουργεί ένα νέο Part από κώδικα.
  • Το Position τοποθετεί τον κύβο 2 studs κάτω από τον εκτοξευτή.
  • Το Debris αφαιρεί κάθε κύβο μετά από 20 δευτερόλεπτα, ώστε οι παλιοί κύβοι να μη στοιβάζονται.

Περισσότερες λεπτομέρειες

  • Για να βάλεις το Part μέσα στον φάκελο, τράβηξε το όνομά του στο Explorer πάνω στο όνομα Tycoon.
  • Με το εργαλείο Move, τράβηξε το πράσινο βέλος προς τα πάνω. Το πεδίο Position στο Properties δείχνει το ύψος ως τον μεσαίο αριθμό.
  • Ο κύβος εμφανίζεται 2 studs κάτω από τον εκτοξευτή και μετά πέφτει. Αν ο εκτοξευτής είναι πολύ χαμηλά, οι κύβοι στοιβάζονται από κάτω του.
  • Ο πρώτος κύβος έρχεται 2 δευτερόλεπτα αφού ξεκινήσει το παιχνίδι.
Συνηθισμένο λάθος. Δεν εμφανίζονται κύβοι: έλεγξε ότι το script είναι μέσα στο Dropper και ότι το Dropper έχει Anchored.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

4
Βήμα 4 / 9

Πρόσθεσε τον ιμάντα

  1. Πρόσθεσε ένα Part, βάλε Size 6, 1, 30, ενεργοποίησε το Anchored και ονόμασέ το Conveyor.
  2. Τοποθέτησέ το στο δάπεδο ώστε το ένα άκρο του να είναι ακριβώς κάτω από τον εκτοξευτή.
  3. Πρόσθεσε ένα Script στο Conveyor και επικόλλησε αυτόν τον κώδικα.
  4. Πάτα Play. Οι κύβοι προσγειώνονται στον ιμάντα και γλιστρούν πάνω του.
Conveyor > Script
local conveyor = script.Parent

conveyor.AssemblyLinearVelocity = conveyor.CFrame.LookVector * 8

Τι κάνει κάθε κομμάτι

  • Το AssemblyLinearVelocity λέει στη Roblox πόσο γρήγορα πρέπει να κινούνται τα πράγματα που βρίσκονται πάνω στο Part.
  • Το LookVector είναι η κατεύθυνση που κοιτάζει η μπροστινή πλευρά του Part. Ο αριθμός 8 είναι η ταχύτητα σε studs ανά δευτερόλεπτο.

Περισσότερες λεπτομέρειες

  • Κάθε Part έχει μια μπροστινή πλευρά. Ο ιμάντας σπρώχνει τους κύβους προς το μπροστινό του μέρος.
  • Η μακριά πλευρά του ιμάντα, τα 30 studs, πρέπει να δείχνει μακριά από τον εκτοξευτή, προς το σημείο όπου θα στέκεται ο συλλέκτης.
  • Ο ιμάντας από μόνος του δεν κινείται. Μόνο όσα βρίσκονται πάνω του γλιστρούν.
  • Αν οι κύβοι πέφτουν από το πλάι, κάνε τον ιμάντα πλατύτερο ή μετακίνησε τον εκτοξευτή στη μέση του.
Συνηθισμένο λάθος. Οι κύβοι γλιστρούν προς τη λάθος μεριά: γύρισε τον ιμάντα 180 μοίρες με το εργαλείο Rotate (Ctrl+4).
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

5
Βήμα 5 / 9

Μάζεψε τους κύβους

  1. Πρόσθεσε ένα Part στο μακρινό άκρο του ιμάντα. Βάλε Size 6, 4, 1, ενεργοποίησε το Anchored, κάν' το πράσινο και ονόμασέ το Collector.
  2. Στήσε το όρθιο σαν τοίχο, ώστε οι κύβοι να πέφτουν πάνω του.
  3. Πρόσθεσε ένα Script στο Collector και επικόλλησε αυτόν τον κώδικα.
  4. Πάτα Play. Κάθε κύβος που φτάνει στον συλλέκτη προσθέτει 5 στο Cash.
Collector > Script
local Players = game:GetService("Players")
local collector = script.Parent

collector.Touched:Connect(function(hit)
	if hit.Name ~= "Cube" then return end
	hit:Destroy()

	for _, player in ipairs(Players:GetPlayers()) do
		local stats = player:FindFirstChild("leaderstats")
		if stats then
			stats.Cash.Value += 5
		end
	end
end)

Τι κάνει κάθε κομμάτι

  • Το script αγνοεί ό,τι δεν λέγεται Cube. Τα πόδια σου δεν μετράνε.
  • Το Destroy αφαιρεί τον κύβο από το παιχνίδι.
  • Ο βρόχος δίνει 5 cash σε κάθε παίκτη του server. Ένα tycoon με έναν ιδιοκτήτη ανά οικόπεδο είναι προχωρημένο μάθημα.

Περισσότερες λεπτομέρειες

  • Το Size 6, 4, 1 στέκεται ήδη όρθιο: 6 πλάτος, 4 ύψος και 1 πάχος. Βάλ' το κάθετα στο τέλος του ιμάντα, σαν μια κλειστή πύλη.
  • Η κάτω άκρη του πρέπει να ακουμπά στον ιμάντα, ώστε κανένας κύβος να μην περνά από κάτω.
  • Για να το κάνεις πράσινο, κάνε κλικ στο πεδίο Color στο Properties.
  • Για δοκιμή: πάτα F5 και κοίτα τη λίστα παικτών. Το Cash ανεβαίνει κατά 5 κάθε φορά που ένας κύβος φτάνει στον τοίχο.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

6
Βήμα 6 / 9

Ετοίμασε τον δεύτερο εκτοξευτή

  1. Διάλεξε το Dropper και πάτα Ctrl+D. Ονόμασε το αντίγραφο Dropper2 και μετακίνησέ το δίπλα στον πρώτο, πάλι πάνω από τον ιμάντα.
  2. Σύρε το Dropper2 από το Workspace στο ServerStorage.
  3. Εξαφανίζεται από τον κόσμο. Τα αντικείμενα στο ServerStorage περιμένουν εκεί μέχρι να τα μετακινήσει ένα script πίσω.

Περισσότερες λεπτομέρειες

  • Το αντίγραφο βρίσκεται ακριβώς πάνω από το πρωτότυπο. Τράβηξέ το στο πλάι με το εργαλείο Move για να δεις και τα δύο.
  • Μετονόμασε το αντίγραφο με F2. Το όνομα πρέπει να είναι Dropper2, με κεφαλαίο D και χωρίς κενό.
  • Το ServerStorage βρίσκεται στη λίστα του Explorer. Τράβηξε το όνομα Dropper2 πάνω του.
  • Το script μέσα στο αντίγραφο ήρθε μαζί του. Δεν χρειάζεται να το προσθέσεις ξανά.
Συμβουλή. Τα scripts μέσα στο ServerStorage δεν τρέχουν. Γι' αυτό ο δεύτερος εκτοξευτής μένει ήσυχος μέχρι να τον αγοράσει κάποιος.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

7
Βήμα 7 / 9

Πρόσθεσε κουμπί αγοράς

  1. Πρόσθεσε ένα Part στο δάπεδο κοντά στον ιμάντα. Βάλε Size 4, 1, 4, ενεργοποίησε το Anchored, κάν' το έντονο μπλε και ονόμασέ το BuyDropper.
  2. Πρόσθεσε ένα Script στο BuyDropper και επικόλλησε αυτόν τον κώδικα.
  3. Για να βάλεις ετικέτα στο κουμπί, πέρασε το ποντίκι πάνω από το BuyDropper, κάνε κλικ στο + και πρόσθεσε ένα BillboardGui. Βάλε το Size του σε {0, 200}, {0, 50} και το StudsOffset του σε 0, 3, 0.
  4. Πρόσθεσε ένα TextLabel μέσα στο BillboardGui. Βάλε το Size του σε {1, 0}, {1, 0}, ενεργοποίησε το TextScaled και γράψε αυτό το κείμενο: Second dropper - 50
BuyDropper > Script
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")

local button = script.Parent
local PRICE = 50
local bought = false

button.Touched:Connect(function(hit)
	if bought then return end

	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or stats.Cash.Value < PRICE then return end

	bought = true
	stats.Cash.Value -= PRICE
	ServerStorage.Dropper2.Parent = workspace
	button:Destroy()
end)

Τι κάνει κάθε κομμάτι

  • Το PRICE είναι το κόστος. Άλλαξε τον αριθμό για να γίνει το κουμπί φθηνότερο ή ακριβότερο.
  • Το script ελέγχει ότι πάτησε το κουμπί ένας πραγματικός παίκτης και ότι ο παίκτης έχει αρκετά cash.
  • Όταν μετακινείς το Dropper2 στο workspace, ενεργοποιείται. Το script του αρχίζει να τρέχει αμέσως.

Περισσότερες λεπτομέρειες

  • Οι παίκτες αγοράζουν περπατώντας πάνω στο κουμπί, γι' αυτό βάλ' το στο δάπεδο, εκεί που φτάνεται εύκολα.
  • Για το Size και το StudsOffset, κάνε κλικ στο πεδίο στο Properties, γράψε τους αριθμούς ακριβώς όπως φαίνονται, με τις αγκύλες και τα κόμματα, και πάτα Enter.
  • Το Text είναι ιδιότητα του TextLabel. Κάνε κλικ στο πεδίο Text, γράψε τις λέξεις και πάτα Enter.
  • Η ετικέτα αιωρείται πάνω από το κουμπί. Αν δεν τη βλέπεις, αύξησε τον μεσαίο αριθμό του StudsOffset.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

8
Βήμα 8 / 9

Δοκίμασε όλο τον κύκλο

  1. Πάτα F5. Δες τους κύβους να πέφτουν, να ταξιδεύουν στον ιμάντα και να γίνονται cash.
  2. Περίμενε μέχρι να έχεις 50 cash και μετά πάτησε το μπλε κουμπί.
  3. Ο δεύτερος εκτοξευτής εμφανίζεται, το κουμπί εξαφανίζεται και τα cash σου αυξάνονται διπλάσια γρήγορα.
  4. Πάτα Shift+F5 για να σταματήσεις. Αν κάτι αποτύχει, άνοιξε το παράθυρο Output από το μενού Window και διάβασε το κόκκινο κείμενο.

Περισσότερες λεπτομέρειες

  • Χρειάζονται 10 κύβοι, δηλαδή τουλάχιστον 20 δευτερόλεπτα, για να φτάσεις τα 50 cash.
  • Αφού αγοράσεις, το Cash πέφτει κατά 50. Αυτό είναι σωστό. Πλήρωσες τον εκτοξευτή.
  • Το κουμπί καταστρέφεται μετά την αγορά, οπότε δεν μπορεί να αγοραστεί δύο φορές.
  • Αν ο δεύτερος εκτοξευτής εμφανιστεί σε λάθος σημείο, σταμάτα το παιχνίδι, τράβηξε το Dropper2 από το ServerStorage πίσω στο Workspace, μετακίνησέ το και τράβηξέ το ξανά στο ServerStorage.
Συνηθισμένο λάθος. Το Cash δεν αλλάζει ποτέ: τα Part που πέφτουν πρέπει να λέγονται Cube, ακριβώς όπως στο script του εκτοξευτή.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

9
Βήμα 9 / 9

Δημοσίευσέ το

  1. Διάλεξε File → Publish to Roblox. Δώσε στο παιχνίδι ένα όνομα και μια σύντομη περιγραφή.
  2. Στον ιστότοπο Creator Hub άνοιξε το παιχνίδι σου και συμπλήρωσε το ερωτηματολόγιο Maturity.
  3. Βάλε το παιχνίδι σε Public και στείλε τον σύνδεσμο σε έναν φίλο.

Περισσότερες λεπτομέρειες

  • Την πρώτη φορά που δημοσιεύεις, το Studio ζητά όνομα και περιγραφή. Κάνε κλικ στο Create.
  • Το Creator Hub είναι ο ιστότοπος create.roblox.com. Συνδέσου με τον ίδιο λογαριασμό και κάνε κλικ στο παιχνίδι σου στη λίστα.
  • Η Roblox μπορεί να ζητήσει κι άλλα πριν γίνει ένα παιχνίδι δημόσιο, για παράδειγμα έλεγχο ηλικίας στον λογαριασμό. Η σελίδα σου λέει τι λείπει.
  • Αν είσαι κάτω των 18, κάνε αυτό το βήμα μαζί με έναν γονιό.
Συμβουλή. Η πρόοδος δεν αποθηκεύεται ακόμα. Όταν ένας παίκτης φεύγει, τα cash χάνονται. Η αποθήκευση δεδομένων είναι προχωρημένο μάθημα.
Αυτό το βήμα δεν δουλεύει σε μένα

Έλεγξε πρώτα αυτά τα τρία πράγματα

  • Το όνομα κάθε Part και κάθε script είναι ακριβώς όπως στον οδηγό, με τα ίδια κεφαλαία γράμματα.
  • Το script βρίσκεται μέσα στο σωστό αντικείμενο. Κοίτα την ετικέτα πάνω από το πλαίσιο του κώδικα.
  • Άνοιξε το παράθυρο Output από το μενού Window. Το κόκκινο κείμενο δείχνει το script και τη γραμμή με το πρόβλημα.

Κόλλησες ακόμα; Γράψε μας →

Τώρα άλλαξέ το μόνος σου

  • Κάνε κάθε κύβο να αξίζει 10 cash αντί για 5.
  • Πρόσθεσε έναν τρίτο εκτοξευτή που κοστίζει 200 cash.
  • Κάνε τον δεύτερο εκτοξευτή πιο γρήγορο από τον πρώτο. Ποιον αριθμό αλλάζεις;