BadgeService
*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.
Lớp BadgeService cung cấp thông tin và chức năng liên quan đến huy hiệu . Huy hiệu được sử dụng trên toàn bộ nền tảng để nhận biết thành tích và hoạt động của một người chơi. Khi được trao tặng một huy hiệu cho một người chơi, nó được thêm vào kho đồ v
Mẫu mã
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Fetch badge information
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirm that badge can be awarded
if badgeInfo.IsEnabled then
-- Award badge
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
if not awardSuccess then
-- the AwardBadge function threw an error
warn("Error while awarding badge:", result)
elseif not result then
-- the AwardBadge function did not award a badge
warn("Failed to award badge.")
end
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Change this to your badge ID
local function onPlayerAdded(player)
-- Check if the player has the badge
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has badge!")
return
end
if hasBadge then
-- Handle player's badge ownership as needed
print(player.Name, "has badge", badgeId)
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
Players.PlayerAdded:Connect(onPlayerAdded)
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Change this to a list of your badge IDs
local function onPlayerAdded(player)
-- Check if the player has any of the badges
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player", player.Name, "has badges:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "does not have any of the badges")
else
print(player.Name, "has the following badges:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
local BadgeService = game:GetService("BadgeService")
-- Fetch badge information
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Change this to desired badge ID
end)
-- Output the information
if success then
print("Badge:", result.Name)
print("Enabled:", result.IsEnabled)
print("Description:", result.Description)
print("Icon:", "rbxassetid://" .. result.IconImageId)
else
warn("Error while fetching badge info:", result)
end
Tóm Tắt
Phương Pháp
Đưa một huy hiệu cho một người chơi được cung cấp ID của mỗi người.
Kiểm tra một danh sách ID huy hiệu chống lại một UserId và trả lại một danh sách ID huy hiệu mà người chơi sở hữu.
Lấy thông tin về một huy hiệu đã được cấp ID của nó.
Kiểm tra xem một người chơi có phải có huy hiệu được đưa ra bởi Player.UserId và ID huy hiệu.
Thuộc Tính
Phương Pháp
AwardBadge
Tặng một Class.Player một huy hiệu với Player và ID huy hiệu. Giới hạn tỷ lệ: UserId để thành công trao một huy hiệu.
- Người chơi phải hiện đang kết nối với trò chơi.
- Người chơi không thể đã có huy hiệu (lưu ý rằng một người chơi có thể xóa huy hiệu đã được cấp từ hồ sơ của họ và nhận huy hiệu lại).
- Huy hiệu phải được trao từ một máy chủ-side Script hoặc một ModuleScript cuối cùng được yêu cầu bởi một Script, không phải từ một 1> Class.LocalScript1> .
- Huy hiệu phải được trao tặng ở một nơi nào đó trong trò chơi liên quan đến huy hiệu.
- Huy hiệu phải được bật; kiểm tra này bằng cách sử dụng thuộc tính IsEnabled của huy hiệu đã lấy thông qua BadgeService:GetBadgeInfoAsync() .
Xem thêm:
Tham Số
Class.Player.UserId của người dùng mà huy hiệu này được trao tặng.
ID của huy hiệu để được trao tặng.
Lợi Nhuận
Boolean của true nếu phần thưởng đã được trao thành công.
Mẫu mã
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Fetch badge information
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirm that badge can be awarded
if badgeInfo.IsEnabled then
-- Award badge
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
if not awardSuccess then
-- the AwardBadge function threw an error
warn("Error while awarding badge:", result)
elseif not result then
-- the AwardBadge function did not award a badge
warn("Failed to award badge.")
end
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)
CheckUserBadgesAsync
Kiểm tra một danh sách ID huy hiệu chống lại một UserId và trả lại một danh sách ID huy hiệu mà người chơi sở hữu.
Phương pháp này hỗ trợ hàng loạt lên đến 10 huy hiệu. Sử dụng BadgeService:UserHasBadgeAsync() cho một số trường hợp tìm kiếm huy hiệu.
Giới hạn tỷ lệ: 10 + 5 * [number of players] mỗi phút trên mỗi máy chủ.
Bất kỳ bộ dấu hiệu nào cho bất kỳ trải nghiệm nào cũng có thể được tìm kiếm, bất kể ai đã tạo ra nó hoặc trải nghiệm nó là cho. Bất kỳ UserId nào của người dùng
Tham Số
Class.Player.UserId|userId của người chơi để kiểm tra sở hữu các huy hiệu đặc biệt.
Danh sách ID của các huy hiệu để kiểm tra sở hữu. Độ dài tối đa là 10.
Lợi Nhuận
Danh sách các ID huy hiệu mà người dùng đã lấy từ danh sách huy hiệu cung cấp. Trống nếu không có huy hiệu nào được lấy từ danh sách cung cấp. Không đảm bảo để ở trong cùng một hàng như danh sách đầu vào.
Mẫu mã
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Change this to a list of your badge IDs
local function onPlayerAdded(player)
-- Check if the player has any of the badges
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player", player.Name, "has badges:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "does not have any of the badges")
else
print(player.Name, "has the following badges:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
GetBadgeInfoAsync
Hàm này lấy thông tin về một huy hiệu đã được cấp ID của nó. Nó mất một giây để tải thông tin từ trang Roblox; những lần gọi lặp lại sẽ lưu trong một thời gian ngắn. Nó trả lại một từ điển với các trường sau đây:
<tbody><tr><td><b>Tên</b></td><td>chuỗi</td><td>Tên của huy hiệu.</td></tr><tr><td><b>Mô tả</b></td><td>chuỗi</td><td>Mô tả của huy hiệu.</td></tr><tr><td><b>Hình ảnh biểu tượng</b></td><td>int64</td><td>ID tài sản của hình ảnh cho huy hiệu.</td></tr><tr><td><b>Đã bật</b></td><td>boolean</td><td>Chỉ ra có sẵn dấu hiệu cho phép nhận phần thưởng không.</td></tr></tbody>
Chìa khóa | Kiểu | Mô tả |
---|
Xem thêm:
Tham Số
ID của huy hiệu của huy hiệu mà thông tin của nó nên được lấy.
Lợi Nhuận
Một từ điển thông tin về huy hiệu đó.
Mẫu mã
local BadgeService = game:GetService("BadgeService")
-- Fetch badge information
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Change this to desired badge ID
end)
-- Output the information
if success then
print("Badge:", result.Name)
print("Enabled:", result.IsEnabled)
print("Description:", result.Description)
print("Icon:", "rbxassetid://" .. result.IconImageId)
else
warn("Error while fetching badge info:", result)
end
UserHasBadgeAsync
Kiểm tra và trả lại whether a Player có sở hữu một
Bất kỳ lenco nào cho bất kỳ trò chơi nào cũng có thể được tìm kiếm, bất kể ai đã tạo nó hoặc trải nghiệm nó được sử dụng cho.
Xem thêm:
Tham Số
Class.Player.UserId của người chơi để kiểm tra sở hữu của huy hiệu đó.
ID huy hiệu của huy hiệu whose ownership will be checked.
Lợi Nhuận
Chỉ ra nếu người dùng được chỉ định có huy hiệu.
Mẫu mã
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Change this to your badge ID
local function onPlayerAdded(player)
-- Check if the player has the badge
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has badge!")
return
end
if hasBadge then
-- Handle player's badge ownership as needed
print(player.Name, "has badge", badgeId)
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
Players.PlayerAdded:Connect(onPlayerAdded)