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 Giải Thưởng
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 Hiệu Nhận Được 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 ID huy hiệu của bạn
local function onPlayerAdded(player)
-- Kiểm tra xem người chơi có huy hiệu 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 hiệu không:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "không có huy hiệu nào")
else
print(player.Name, "có các huy hiệu 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 điều này để có ID huy hiệu mong muốn
end)
-- Xuất thông tin
if success then
print("Huy hiệu:", result.Name)
print("Kích hoạ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 hiệu Đạt được
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Thay đổi điều này thành ID huy hiệu của bạn
local function onPlayerAdded(player)
-- Kiểm tra xem người chơi có huy hiệu không
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Nếu có lỗi xảy ra, phát 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 hiệu!")
return
end
if hasBadge then
-- Xử lý quyền sở hữu huy hiệu của người chơi theo nhu cầu
print(player.Name, "có huy hiệu", badgeId)
end
end
-- Kết nối sự kiện "PlayerAdded" với hàm "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)