Lớp công cụ
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.
Tóm Tắt
Phương Pháp
AwardBadge(userId: User,badgeId: number):boolean |
AwardBadgeAsync(userId: User,badgeId: number):boolean |
CheckUserBadgesAsync(userId: User,badgeIds: {any}):{any} |
GetBadgeInfoAsync(badgeId: number):Dictionary |
IsDisabled(badgeId: number):boolean |
UserHasBadge(userId: User,badgeId: number):boolean |
UserHasBadgeAsync(userId: User,badgeId: number):boolean |
Tài Liệu Tham Khảo API
Phương Pháp
AwardBadge
AwardBadgeAsync
Lợi Nhuận
Mẫu mã
Trao Thưởng Huy Hiệu
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Lấy thông tin huy hiệu
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Xác nhận rằng huy hiệu có thể được trao
if badgeInfo.IsEnabled then
-- Trao huy hiệu
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Lỗi khi trao huy hiệu:", errorMessage)
end
end
else
warn("Lỗi khi lấy thông tin huy hiệu: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
Lợi Nhuận
Mẫu mã
Kiểm Tra Huy Chương Đã Nhận Theo Lô
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Thay đổi điều này thành danh sách các ID huy chương của bạn
local function onPlayerAdded(player)
-- Kiểm tra xem người chơi có bất kỳ huy chương nào không
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- Nếu có lỗi, phát ra cảnh báo và thoát khỏi hàm
if not success then
warn("Lỗi khi kiểm tra xem người chơi", player.Name, "có huy chương:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "không có huy chương nào")
else
print(player.Name, "có các huy chương sau:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
Tham Số
Lợi Nhuận
Mẫu mã
Lấy Thông Tin Huy Hiệu
local BadgeService = game:GetService("BadgeService")
-- Lấy thông tin huy hiệu
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Thay đổi số này thành ID huy hiệu mong muốn
end)
-- Xuất thông tin
if success then
print("Huy Hiệu:", result.Name)
print("Đã Bật:", result.IsEnabled)
print("Mô Tả:", result.Description)
print("Biểu Tượng:", "rbxassetid://" .. result.IconImageId)
else
warn("Lỗi khi lấy thông tin huy hiệu:", result)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
Lợi Nhuận
Mẫu mã
Kiểm Tra Huy Chương Đã Nhận
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Thay đổi điều này thành ID huy chương của bạn
local function onPlayerAdded(player)
-- Kiểm tra xem người chơi có huy chương không
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Nếu có lỗi, phát ra cảnh báo và thoát khỏi hàm
if not success then
warn("Lỗi khi kiểm tra xem người chơi có huy chương!")
return
end
if hasBadge then
-- Xử lý quyền sở hữu huy chương của người chơi theo nhu cầu
print(player.Name, "có huy chương", badgeId)
end
end
-- Kết nối các sự kiện "PlayerAdded" với hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)