Mã hóa 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ó các chỉ số quan trọng họ cần xem như các mặt hàng họ đã thu thập.Các số nà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 được xây dựng là các tính năng có sẵn của Roblox cần phải kích hoạt và tùy chỉnh bằng một kịch bản.

Thiết lập 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á nhân.

  1. Trong Explorer, dưới ServerScriptService , tạo một kịch bản mới có tên PlayerSetup.Trong kịch bản đó, xóa dòng chào 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 có tên onPlayerJoin với một tham số có tên người chơi.


    -- Tạo bảng xếp hạng hiển thị các biến của người chơi
    local function onPlayerJoin(player)
    end
  3. Trong onPlayerJoin, tạo một biến có tên là leaderstats và có nó tạo một Instance Mới thư mục mới.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Đặt tên cho ví dụ mới Thư mục mới, và cha nó cho người chơi.Đặt tên cho thư mục leaderstats cho phép Roblox Studio biết tạo 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 chơi tham gia trải nghiệm, mỗi người chơ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 hiển thị các số này cho người chơi:

  • 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.
  • Không gian - Số lượng vật phẩm lớn nhất mà một người chơi có thể giữ cùng một lúc.

Mỗi số này sẽ là một IntValue, một đối tượng placeholder cho một số.

Mã người chơi vàng

Bắt đầu bằng cách lập trình một chỉ số cho vàng.

  1. Trong OnPlayerJoin, dưới leaderstats.Parent = player, nhập local gold = Instance.new("IntValue"). Điều này tạo ra một IntValue mới và lưu nó vào 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 nhập gold.Name = "Gold" . Điều này cung cấp cho IntValue một tên để bạn có thể sử dụng nó trong các kịch bản 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 nhập gold.Value = 0. Điều này đặt giá trị bắt đầu cho người chơi.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Loại gold.Parent = leaderstats . Đây là cha của IntValue cho vàng đến leaderstats. Nếu IntValue không được cha cho leaderstats, người chơi sẽ không thấy nó.


    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 bảng xếp hạng xuất hiện ở phía trên bên phải.

Mẹo khắc phục sự cố

Nếu bạn không thấy bảng xếp hạng, hãy thử các điều theo dõi:

  • Hãy chắc chắn rằng .Value được viết hoa.
  • Hãy chắc chắn rằng biến cho IntValue được gán cho bảng xếp hạng như gold.Parent = leaderstats.

Vật phẩm mã và không gian

Hãy nhớ rằng các tên chỉ số có thể là bất cứ thứ gì dựa trên tài liệu thiết kế trò chơi. Bằng cách khác, "Items" có thể là "Crystals" thay thế.

  1. Thêm một dòng trống để tách chỉ số tiếp theo, sau đó tạo chỉ số của mục bằng cách thiết lập một IntValue mới giống như bạn đã làm với vàng.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Tạo chỉ số Vật phẩm
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Tạo một thống kê mới cho không gian túi của người chơi.Chỉnh spaces.Value thành 2 để người chơi bắt đầu trải nghiệm chỉ có thể giữ hai vật phẩm 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 chỉ số Khoảng trống
    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 hiển thị 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 thử kiểm tra các điều sau.

  • Nếu bạn không thể nhìn thấy số trên bảng xếp hạng, hãy kiểm tra xem mỗi IntValue có phải là con của leaderstats hay không.
  • Hãy chắc chắn rằng mỗi IntValue được viết chính xác như được hiển thị
  • Kiểm tra xem sự kiện PlayerAdded ở dưới cùng của kịch bản

Hoàn thành kịch bản cài đặt người chơi

Một phiên bản hoàn thành của kịch bản có thể tham chiếu dưới đây.


local Players = game:GetService("Players")
-- Tạo bảng xếp hạng hiển thị các biến 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 trên PlayerJoin khi sự kiện PlayerAdded bắt lửa
Players.PlayerAdded:Connect(onPlayerJoin)