← Tất cả hướng dẫn
Hướng dẫn 3

Làm simulator đầu tiên của bạn

Bấm vào một viên pha lê để có sức mạnh, bán sức mạnh lấy tiền xu và mua nâng cấp để mỗi lần bấm mạnh hơn.

Miễn phí50 phút · Người mới · Roblox Studio
1
Bước 1 / 8

Chuẩn bị place

  1. Mở Roblox Studio, bấm New Experience và chọn mẫu Baseplate.
  2. Bạn sẽ xây ba thứ trên sàn: một viên pha lê để bấm, một bệ để bán và một bệ để mua nâng cấp.
  3. Chừa khoảng 20 studs giữa chúng, để người chơi phải đi bộ.

Xem thêm chi tiết

  • Mẫu Baseplate nằm trong danh sách các mẫu ở màn hình bắt đầu.
  • Ô Position trong Properties cho biết part đang ở đâu. Hai part có số đầu tiên cách nhau 20 thì đứng cách nhau 20 studs.
  • Giữ ba thứ này gần SpawnLocation, tức là bệ nơi người chơi xuất hiện.
  • Nếu dùng Mac, hãy dùng phím Cmd mỗi khi hướng dẫn này nói Ctrl.
Mẹo. Hãy vẽ bố cục ra giấy trước. Một simulator chơi sướng khi đoạn đường đi giữa chỗ bấm, chỗ bán và chỗ nâng cấp ngắn.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

2
Bước 2 / 8

Tạo chỉ số cho người chơi

  1. Rê chuột lên ServerScriptService, bấm + và thêm một Script. Đặt tên là Stats.
  2. Xóa dòng có sẵn rồi dán đoạn code này vào.
  3. Nhấn Play. Danh sách người chơi hiện Power 0 và 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)

Mỗi phần làm gì

  • Vòng lặp tạo hai giá trị chỉ với một đoạn code: Power và Coins.
  • Multiplier là lượng sức mạnh mà một lần bấm cho. Nó bắt đầu từ 1.
  • Multiplier nằm trên người chơi chứ không nằm trong leaderstats, nên nó bị ẩn khỏi danh sách người chơi.

Xem thêm chi tiết

  • Khi bạn bấm +, gõ từ Script để tìm nhanh.
  • Script mở ra trong một tab mới. Bấm vào trong code, nhấn Ctrl+A rồi Ctrl+V để thay thế tất cả.
  • Đổi tên script trong Explorer bằng F2. Tên này chỉ để bạn dùng. Nó giúp bạn tìm lại script sau này.
  • Danh sách người chơi ở góc trên bên phải của game.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

3
Bước 3 / 8

Xây viên pha lê

  1. Thêm một Part. Đặt Size thành 6, 8, 6, bật Anchored và đặt tên là Crystal. Chọn một màu sáng và đặt Material thành Neon.
  2. Rê chuột lên Crystal, bấm + và thêm một ClickDetector.
  3. Thêm một Script vào Crystal và dán đoạn code này.
  4. Nhấn Play và bấm vào viên pha lê. Power tăng 1 sau mỗi lần bấm.
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)

Mỗi phần làm gì

  • ClickDetector làm cho part có thể bấm được. Nó cũng hoạt động khi chạm trên điện thoại.
  • MouseClick cho script biết người chơi nào đã bấm.
  • Script cộng Multiplier của người chơi vào Power, nên các nâng cấp làm mỗi lần bấm mạnh hơn.

Xem thêm chi tiết

  • Gõ kích thước vào ô Size trong Properties rồi nhấn Enter. Sau đó nâng viên pha lê lên bằng công cụ Move cho đến khi nó đứng trên sàn.
  • Khi bạn bấm +, gõ ClickDetector để tìm. Trong Explorer, nó phải nằm thụt vào một bậc, bên dưới Crystal.
  • Trong game, con trỏ chuột đổi thành hình bàn tay khi nó ở trên viên pha lê.
  • Bạn phải đứng đủ gần. ClickDetector hoạt động từ khoảng cách 32 studs trở xuống.
Lỗi thường gặp. Bấm mà không có gì xảy ra: ClickDetector phải nằm ngay trong Crystal, cạnh script.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

4
Bước 4 / 8

Thêm bệ bán

  1. Thêm một Part trên sàn. Đặt Size thành 8, 1, 8, bật Anchored, cho nó màu vàng và đặt tên là Sell.
  2. Thêm một Script vào Sell và dán đoạn code này.
  3. Nhấn Play, bấm vào viên pha lê vài lần rồi bước lên bệ. Power biến thành 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)

Mỗi phần làm gì

  • GetPlayerFromCharacter tìm ra người chơi đã bước lên bệ.
  • Bệ cộng toàn bộ Power của người chơi vào Coins rồi đặt Power về lại 0.

Xem thêm chi tiết

  • Pad là một part phẳng để người chơi bước lên.
  • Đặt pad phẳng trên sàn. Nếu nó quá cao, người chơi không bước lên được.
  • Bước lên pad khi có 0 sức mạnh thì không có gì xảy ra. Vậy là đúng.
  • Để thử: bấm vào viên pha lê 10 lần, bước lên pad, và danh sách người chơi hiện Power 0 và Coins 10.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

5
Bước 5 / 8

Thêm bệ nâng cấp

  1. Thêm một Part khác trên sàn. Đặt Size thành 8, 1, 8, bật Anchored, cho nó màu xanh dương và đặt tên là Upgrade.
  2. Thêm một Script vào Upgrade và dán đoạn code này.
  3. Nhấn Play, kiếm 25 tiền xu rồi bước lên bệ. Giờ mỗi lần bấm cho 2 sức mạnh.
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)

Mỗi phần làm gì

  • Giá bằng Multiplier của người chơi nhân với 25, nên mỗi lần nâng cấp đắt hơn lần trước.
  • Bảng waiting ngăn việc đứng lâu trên bệ mua nhiều nâng cấp cùng lúc.
  • Sau khi mua, Multiplier tăng thêm 1.

Xem thêm chi tiết

  • Đặt pad cách pad bán vài bước chân, để người chơi không mua nhầm.
  • Nâng cấp đầu tiên giá 25 xu. Sau đó, Coins giảm đi 25 và mỗi lần bấm cho 2 sức mạnh.
  • Khi có ít xu hơn giá, pad không làm gì. Hãy bước ra, kiếm thêm rồi quay lại.
  • Khoảng nghỉ 1 giây là lý do đứng yên trên pad chỉ mua được một nâng cấp mỗi lần.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

6
Bước 6 / 8

Gắn nhãn cho các bệ

  1. Rê chuột lên Sell, bấm + và thêm một BillboardGui. Đặt Size thành {0, 200}, {0, 50} và StudsOffset thành 0, 4, 0.
  2. Thêm một TextLabel vào trong BillboardGui. Đặt Size thành {1, 0}, {1, 0}, bật TextScaled và gõ dòng chữ này: SELL
  3. Làm tương tự cho Upgrade với dòng chữ: UPGRADE
  4. Làm tương tự cho Crystal với dòng chữ: CLICK ME. Ở đó hãy dùng StudsOffset là 0, 7, 0, để nhãn nổi phía trên viên pha lê.

Xem thêm chi tiết

  • Với Size và StudsOffset, bấm vào ô trong Properties, gõ các số đúng như được chỉ, kèm cả dấu ngoặc và dấu phẩy, rồi nhấn Enter.
  • Text là một thuộc tính của TextLabel. Bấm vào ô Text, gõ chữ và nhấn Enter.
  • Một cách nhanh hơn: bấm vào BillboardGui đã làm xong trong Explorer, nhấn Ctrl+C, bấm vào part tiếp theo và nhấn Ctrl+Shift+V. Sau đó chỉ đổi chữ.
  • Các nhãn giúp người chơi mới hiểu game mà không cần ai giải thích.
Mẹo. BillboardGui luôn xoay mặt về phía camera, nên người chơi đọc được từ mọi phía.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

7
Bước 7 / 8

Thử vòng lặp

  1. Nhấn F5. Bấm, bán, nâng cấp, rồi lặp lại.
  2. Kiểm tra giá nâng cấp tăng dần: 25 tiền xu, rồi 50, rồi 75.
  3. Nhấn Shift+F5 để dừng. Nếu có gì sai, hãy mở cửa sổ Output từ menu Window và đọc chữ màu đỏ.

Xem thêm chi tiết

  • Hãy đếm số lần bấm. Với Multiplier 1, mười lần bấm cho 10 sức mạnh.
  • Sau nâng cấp đầu tiên, mười lần bấm cho 20 sức mạnh, và sau nâng cấp thứ hai là 30.
  • Những thay đổi bạn làm khi game đang chạy sẽ mất khi bạn dừng. Hãy nhấn Shift+F5 trước, rồi mới chỉnh sửa.
  • Trong cửa sổ Output, bấm vào một dòng màu đỏ thì Studio mở script tại dòng có lỗi.
Lỗi thường gặp. Bệ không mua được gì: bạn cần ít nhất 25 Coins, không phải 25 Power. Hãy bán trước.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

8
Bước 8 / 8

Đăng game

  1. Chọn File → Publish to Roblox. Đặt tên cho game và viết một mô tả ngắn.
  2. Trên trang Creator Hub, mở game của bạn và điền bảng câu hỏi Maturity.
  3. Đặt game thành Public và gửi đường link cho một người bạn.

Xem thêm chi tiết

  • Lần đầu bạn đăng game, Studio hỏi tên và mô tả. Bấm Create.
  • Creator Hub là trang web create.roblox.com. Đăng nhập bằng cùng tài khoản và bấm vào game của bạn trong danh sách.
  • Roblox có thể yêu cầu thêm trước khi game được công khai, ví dụ kiểm tra độ tuổi của tài khoản. Trang sẽ cho bạn biết còn thiếu gì.
  • Nếu bạn dưới 18 tuổi, hãy làm bước này cùng với bố mẹ.
Mẹo. Tiến trình chưa được lưu. Khi một người chơi thoát game, tiền xu sẽ mất. Lưu dữ liệu là một bài học nâng cao.
Bước này không chạy được với mình

Hãy kiểm tra ba điều này trước

  • Tên của mọi part và script phải giống hệt trong hướng dẫn, kể cả chữ hoa.
  • Script phải nằm trong đúng vật thể. Hãy xem dòng nhãn phía trên khung code.
  • Mở cửa sổ Output từ menu Window. Chữ màu đỏ cho biết script nào và dòng nào bị lỗi.

Vẫn chưa được? Hãy viết thư cho chúng mình →

Giờ tự mình thay đổi nhé

  • Thêm một viên pha lê thứ hai cho 5 sức mạnh mỗi lần bấm nhưng đứng ở xa.
  • Làm giá nâng cấp tăng gấp đôi mỗi lần. Gợi ý: 25 * 2 ^ (player.Multiplier.Value - 1)
  • Làm viên pha lê to lên một chút sau mỗi lần bấm. Gợi ý: đổi crystal.Size