BadgeService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
คลาส BadgeService ให้ข้อมูลและคุณสมบัติเกี่ยวกับ เหรียญตรา เหรียญตราใช้งานได้ทั่วทั้งแพลตฟอร์มเพื่อระบุความสำเร็จและกิจกรรมของผู้เล่น เมื่อมอบเหรียญตราให้กับผู้
ตัวอย่างโค้ด
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
สรุป
วิธีการ
ให้เหรียญตราผู้เล่นที่ได้รับ ID ของแต่ละคน
ตรวจสอบรายการ ID เหรียญตราของรายการรางวัลตรงกับ UserId และสร้างรายการเหรียญตราที่ผู้เล่นเป็นเจ้าของ
ดึงข้อมูลเกี่ยวกับเหรียญที่มีรหัส
ตรวจสอบว่าผู้เล่นมีป้ายชื่อที่ได้รับ Player.UserId และรหัสป้ายชื่อ
คุณสมบัติ
วิธีการ
AwardBadge
ให้ Class.Player เหรียญตราด้วย Player และรหัสรับรองรางวัล ขีดจำกัดอัตรา: UserId เพื่อให้ได้รับเหรียญตรา:
- ผู้เล่นต้องเชื่อมต่อกับเกมในขณะนี้
- ผู้เล่นไม่สามารถมีเหรียญรางวัลนี้ได้ (หมายเหตุว่าผู้เล่นอาจลบเหรียญรางวัลจากโปรไฟล์ของพวกเขาและได้รับเหรียญรางวัลอีกครั้ง)
- ตราจะต้องได้รับจากเซิร์ฟเวอร์-ไซด์ Script หรือ ModuleScript ในที่สุดที่ต้องการโดย Script ไม่ใช่จาก 1> Class.LocalScript1>
- เหรียญตรา
- ต้องเปิดใช้งานได้; ตรวจสอบสิ่งนี้โดยการใช้ IsEnabled คุณสมบัติของไดอาและสร้างโดย BadgeService:GetBadgeInfoAsync()
ดูเพิ่มเติม:
พารามิเตอร์
Class.Player.UserId ของผู้ใช้ที่ได้รับเหรียญตรา
รหัสของเหรียญตราที่จะได้รับ
ส่งค่ากลับ
บูโอโนของ true หากได้รับรางวัล
ตัวอย่างโค้ด
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
ตรวจสอบรายการ ID เหรียญตราของรายการรางวัลตรงกับ UserId และสร้างรายการเหรียญตราที่ผู้เล่นเป็นเจ้าของ
วิธีนี้สนับสนุนการแชร์ของแบ็คจ์สูงสุด 10 รายการ ใช้ BadgeService:UserHasBadgeAsync() สำหรับการค้นหาแบ็คจ์เดียว
ขีดจำกัดอัตรา: 10 + 5 * [จำนวนผู้เล่น] ต่อนาทีในแต่ละเซิร์ฟเวอร์ ใบรับรองใด ๆ สำหรับประสบการณ์ใด ๆ สามารถถูกสอบถามได้ ไม่ว่าใครจะสร้างใบรับรองหรือใครจะใช้มัน ใบรับรอง Class.Player.UserId|userId
พารามิเตอร์
Class.Player.UserId|userId ของผู้เล่นเพื่อตรวจสอบว่ามีเป็นเจ้าของของเหรียญตราที่กำหนดหรือไม่
รายการของรหัสสัญลักษณ์ที่ตรวจสอบสิทธิเป็นเจ้าของ ความยาวสูงสุด 10
ส่งค่ากลับ
รายการของรหัสเหรียญที่ผู้ใช้ได้รับจากรหัสเหรียญที่ให้ไว้ ว่างเปล่าหากไม่มีรหัสเหรียญใด ๆ ที่ได้รับจากผู้ใช้
ตัวอย่างโค้ด
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
ระบบนี้ดึงข้อมูลเกี่ยวกับเหรียญที่มีรหัสไว้ ใช้เวลาสักครู่เพื่อโหลดข้อมูลจากเว็บไซต์ Roblox ; การเรียกร้องที่ซ้ำกันจะเก็บไว้เป็นระยะเวลาสั้น ๆ ตัวอักษรที่ติดอันดับจะถูกนำออกจากดิกชันสาร
<tbody><tr><td><b>ชื่อ</b></td><td>สตริง</td><td>ชื่อของเหรียญตรา</td></tr><tr><td><b>คำอธิบาย</b></td><td>สตริง</td><td>คำอธิบายของเหรียญตรา</td></tr><tr><td><b>รหัสรูปไอคอน</b></td><td>int64</td><td>รหัสสินค้าของรูปภาพสำหรับเหรียญตรา</td></tr><tr><td><b>เปิดใช้งานแล้ว</b></td><td>บูล</td><td>ระบุว่ามีให้รับรางวัลหรือไม่</td></tr></tbody>
กุญแจ | ชนิด | คำอธิบาย |
---|
ดูเพิ่มเติม:
พารามิเตอร์
รหัสตราของเหรียญที่มีข้อมูลส่วนบุคคล
ส่งค่ากลับ
พจนานุกรมของข้อมูลเกี่ยวกับเหรียญตราที่ระบุ
ตัวอย่างโค้ด
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
ตรวจสอบและกลับมาว่า Player มีเหรียญที่
ใบร�ดได้รับการยืนยันจากเกมใด ๆ สามารถถูกขอได้ ไม่ว่าใครจะสร้างใบร�ดหรือใช้งานมันสำหรับ
ดูเพิ่มเติม:
พารามิเตอร์
Class.Player.UserId ของผู้เล่นเพื่อตรวจสอบว่ามีเป็นเจ้าของของเหรียญตราที่กำหนดหรือไม่
รหัสตราของเหรียญที่เป็นเจ้าของจะถูกตรวจสอบ
ส่งค่ากลับ
เหรียญตรา
ตัวอย่างโค้ด
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)