Engine Class
BadgeService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
วิธีการ
AwardBadge(userId: User,badgeId: number):boolean |
AwardBadgeAsync(userId: User,badgeId: number):boolean |
CheckUserBadgesAsync(userId: User,badgeIds: {any}):{any} |
GetBadgeInfoAsync(badgeId: number):Dictionary |
GetUserBadgesAsync(userId: User,badgeIds: {any}):{any} |
IsDisabled(badgeId: number):boolean |
UserHasBadge(userId: User,badgeId: number):boolean |
UserHasBadgeAsync(userId: User,badgeId: number):boolean |
เอกสารอ้างอิงเกี่ยวกับ API
วิธีการ
AwardBadge
AwardBadgeAsync
ส่งค่ากลับ
ตัวอย่างโค้ด
การมอบเหรียญรางวัล
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- ดึงข้อมูลเหรียญรางวัล
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- ยืนยันว่าเหรียญรางวัลสามารถมอบได้
if badgeInfo.IsEnabled then
-- มอบเหรียญรางวัล
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("เกิดข้อผิดพลาดขณะมอบเหรียญรางวัล:", errorMessage)
end
end
else
warn("เกิดข้อผิดพลาดขณะดึงข้อมูลเหรียญรางวัล: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
ส่งค่ากลับ
ตัวอย่างโค้ด
ตรวจสอบเหรียญที่ได้รับเป็นกลุ่ม
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- เปลี่ยนเป็นรายการ ID เหรียญของคุณ
local function onPlayerAdded(player)
-- ตรวจสอบว่าผู้เล่นมีเหรียญใดบ้าง
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- หากมีข้อผิดพลาด ให้แสดงคำเตือนและออกจากฟังก์ชัน
if not success then
warn("เกิดข้อผิดพลาดขณะตรวจสอบว่าผู้เล่น", player.Name, "มีเหรียญ:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "ไม่มีเหรียญใด ๆ")
else
print(player.Name, "มีเหรียญดังต่อไปนี้:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
การรับข้อมูลเหรียญ
local BadgeService = game:GetService("BadgeService")
-- ดึงข้อมูลเหรียญ
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- เปลี่ยนเป็น ID เหรียญที่ต้องการ
end)
-- แสดงข้อมูล
if success then
print("เหรียญ:", result.Name)
print("เปิดใช้งาน:", result.IsEnabled)
print("คำอธิบาย:", result.Description)
print("ไอคอน:", "rbxassetid://" .. result.IconImageId)
else
warn("เกิดข้อผิดพลาดขณะดึงข้อมูลเหรียญ:", result)
endGetUserBadgesAsync
ส่งค่ากลับ
ตัวอย่างโค้ด
การรับเหรียญตราและวันที่ได้รับรางวัล
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- เปลี่ยนเป็นรายการ ID เหรียญตราของคุณ
local function onPlayerAdded(player)
-- รับว่าเหรียญตราใดบ้างที่ผู้เล่นเป็นเจ้าของ พร้อมกับเมื่อใดที่แต่ละเหรียญตราได้รับรางวัล
local success, result = pcall(function()
return BadgeService:GetUserBadgesAsync(player.UserId, badgeIds)
end)
-- หากมีข้อผิดพลาด ให้แสดงคำเตือนและออกจากฟังก์ชัน
if not success then
warn("เกิดข้อผิดพลาดขณะรับเหรียญตราสำหรับผู้เล่น", player.Name, ":", result)
return
end
local ownedBadges = result
if #ownedBadges == 0 then
print(player.Name, "ไม่มีเหรียญตราใด ๆ")
else
for _, badge in ownedBadges do
print(player.Name, "ได้รับเหรียญตรา", badge.BadgeId, "เมื่อ", badge.AwardedDate:ToIsoDate())
end
end
end
Players.PlayerAdded:Connect(onPlayerAdded)IsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
ส่งค่ากลับ
ตัวอย่างโค้ด
การตรวจสอบเหรียญที่ได้รับ
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- เปลี่ยนเป็น ID เหรียญของคุณ
local function onPlayerAdded(player)
-- ตรวจสอบว่าผู้เล่นมีเหรียญหรือไม่
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- หากมีข้อผิดพลาด ให้แสดงคำเตือนและออกจากฟังก์ชัน
if not success then
warn("เกิดข้อผิดพลาดขณะตรวจสอบว่าผู้เล่นมีเหรียญ!")
return
end
if hasBadge then
-- จัดการการเป็นเจ้าของเหรียญของผู้เล่นตามที่ต้องการ
print(player.Name, "มีเหรียญ", badgeId)
end
end
-- เชื่อมต่อเหตุการณ์ "PlayerAdded" กับฟังก์ชัน "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)