Lập bảng xếp hạng

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

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ể.

  1. 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ả.

  2. 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ơi
    local function onPlayerJoin(player)
    end
  3. Trong 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
  4. Đặ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 = player
    end
  5. Sau 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 = player
    end
    Players.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.

  1. 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 = player
    local gold = Instance.new("IntValue")
    end
  2. Tiế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"
    end
  3. Trê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 = 0
    end
  4. Type 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 = 0
    gold.Parent = leaderstats
    end
  5. Chơ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 đó.

  1. 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ẩm
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Tạ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 gian
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Thử 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)