Trong trò chơi, người chơi sẽ có những chỉ số quan trọng họ cần thấy như những món đồ họ đã thu thập. Đây sẽ được hiển thị bằng cách sử dụng bảng xếp hạng. Bảng xếp hạng là các tính năng được tích hợp của Roblox mà cần một script để được kích hoạt và tùy
Tạo bảng xếp hạng
Mỗi khi một người chơi được thêm vào trải nghiệm, họ sẽ cần phải được thêm vào bảng xếp hạng cùng với mã để theo dõi các chỉ số cụ thể.
Trong Explorer, dưới ServerScriptService , tạo một mô-đun mới tên là PlayerSetup. Trong mô-đun đó, xóa dòng chào mừng thế giới và viết một bình luận mô tả.
Sau bình luận, tạo một chức năng tùy chỉnh tên là onPlayerJoin với một biến tùy chỉnh tên là người chơi.
-- Tạo một bảng xếp hạng cho thấy biến đổi của người chơilocal function onPlayerJoin(player)endTrong onPlayerJoin, tạo một biến tên là leaderstats , và có nó tạo một Instanti Folder mới.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")endĐặt tên cho mới Folder instance leaderstats , và thuộc về nó người chơi. Việc đặt tên cho mục leaderstats sẽ cho Roblox Studio biết để tạo một bảng xếp hạng.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendSau khi kết thúc chức năng, kết nối OnPlayerJoin với sự kiện PlayerAdded. Mỗi khi một người tham gia trải nghiệm, mỗi người sẽ được cung cấp bảng xếp hạng.
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
Theo dõi Chỉ số Người chơi
Bây giờ khi bảng xếp hạng được tạo, nó cần phải hiển thị cho người chơi những số này:
- Vàng - Số tiền mà người chơi có.
- Vật phẩm - Số vật phẩm mà người chơi đã thu thập từ thế giới.
- Các khoảng trống - Số lượng lớn nhất mà một người chơi có thể giữ được trong một lúc.
Mỗi trong số này sẽ là một IntValue, một đối tượng người dẫn đầu cho một số.
Mã hóa vàng người chơi
Bắt đầu với việc lập trình một stat cho vàng.
Trong OnPlayerJoin , dưới leaderstats.Parent = player , kiểu local gold = Instance.new("IntValue") . Điều này tạo ra một IntValue mới và lưu nó trong biến vàng.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")endTiếp theo, hãy viết gold.Name = "Gold" . Điều này sẽ cho IntValue một cái tên để bạn có thể sử dụng nó trong các tập lệnh khác. Tên cũng sẽ được hiển thị cho người chơi trên bảng xếp hạng.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"endTrên một dòng mới, hãy viết gold.Value = 0 . Điều này đặt giá trị khởi đầu cho người chơi.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endType gold.Parent = leaderstats . This parents the IntValue for gold to leaderstats. If the IntValue is not parented to leaderstats, players won't see it.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendChơi dự án của bạn và nhận thấy rằng một bảng xếp hạng xuất hiện ở phía trên cùng bên phải.
Mẹo dịch vụ
Nếu bạn không thấy bảng xếp hạng, hãy thử những gì theo dõi:
- Đảm bạo .Value được viết hoa.
- Hãy đảm bảo rằng biến cho IntValue được gắn với bảng xếp hạng như gold.Parent = leaderstats .
Các mục và không gian
Lưu ý rằng tên chỉ số có thể là bất kỳ thứ gì dựa trên tài liệu thiết kế trò chơi. Với những lời khác, "Items" có thể được thay thế bằng "Crystals" thay vào đó.
Thêm một dòng trống để phân biệt chỉ số tiếp theo, sau đó tạo chỉ số mục bằng cách cài đặt một giá trị mới tương tự như bạn đã làm cho vàng.
local function onPlayerJoin(player)gold.Parent = leaderstats-- Tạo thống kê Vật phẩmlocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendTạo một mới stat cho các khoảng đựng túi người chơi. Đặt spaces.Value để 2 để cho phép người chơi bắt đầu trải nghiệm chỉ có thể giữ hai món đồ cùng một lúc, khuyến khích họ mua một chiếc túi mới ngay khi họ có thể.
local function onPlayerJoin(player)items.Parent = leaderstats-- Tạo thống kê Không gianlocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendThử nghiệm dự án. Người chơi nên có bảng xếp hạng cho Vàng, Vật phẩm và Không gian.
Nếu bảng xếp hạng không xuất hiện, hãy kiểm tra những gì được đề cập ở dưới đây.
- Nếu bạn không thể thấy số ở bảng xếp hạng, kiểm tra mối quan hệ giữa mỗi IntValue với bảng xếp hạng.
- Đảm bạo mỗi IntValue được viết chính xác như đã cho thấy
- Kiểm tra rằng sự kiện PlayerAdded ở dưới cùng của script
Hoàn thành tập lệnh PlayerSetup
Một phiên bản hoàn thành của script có thể được tham khảo ở dưới đây.
local Players = game:GetService("Players")
-- Tạo một bảng xếp hạng cho thấy biến đổi của người chơi
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
local items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- Chạy onPlayerJoin khi sự kiện PlayerAdded bắt đầu
Players.PlayerAdded:Connect(onPlayerJoin)