BadgeService

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไม่สามารถสร้าง
บริการ

คลาส BadgeService ให้ข้อมูลและคุณสมบัติเกี่ยวกับ เหรียญตรา เหรียญตราใช้งานได้ทั่วทั้งแพลตฟอร์มเพื่อระบุความสำเร็จและกิจกรรมของผู้เล่น เมื่อมอบเหรียญตราให้กับผู้

ตัวอย่างโค้ด

Awarding a Badge

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)
Checking Earned Badges

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)
Checking Earned Badges in Batches

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)
Getting Badge Info

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

สรุป

วิธีการ

  • AwardBadge(userId : number,badgeId : number):bool
    ผลตอบแทน

    ให้เหรียญตราผู้เล่นที่ได้รับ ID ของแต่ละคน

  • CheckUserBadgesAsync(userId : number,badgeIds : Array):Array
    ผลตอบแทน

    ตรวจสอบรายการ ID เหรียญตราของรายการรางวัลตรงกับ UserId และสร้างรายการเหรียญตราที่ผู้เล่นเป็นเจ้าของ

  • ผลตอบแทน

    ดึงข้อมูลเกี่ยวกับเหรียญที่มีรหัส

  • UserHasBadgeAsync(userId : number,badgeId : number):bool
    ผลตอบแทน

    ตรวจสอบว่าผู้เล่นมีป้ายชื่อที่ได้รับ Player.UserId และรหัสป้ายชื่อ

คุณสมบัติ

วิธีการ

AwardBadge

ผลตอบแทน

ให้ Class.Player เหรียญตราด้วย Player และรหัสรับรองรางวัล ขีดจำกัดอัตรา: UserId เพื่อให้ได้รับเหรียญตรา:

  • ผู้เล่นต้องเชื่อมต่อกับเกมในขณะนี้
  • ผู้เล่นไม่สามารถมีเหรียญรางวัลนี้ได้ (หมายเหตุว่าผู้เล่นอาจลบเหรียญรางวัลจากโปรไฟล์ของพวกเขาและได้รับเหรียญรางวัลอีกครั้ง)
  • ตราจะต้องได้รับจากเซิร์ฟเวอร์-ไซด์ Script หรือ ModuleScript ในที่สุดที่ต้องการโดย Script ไม่ใช่จาก 1> Class.LocalScript1>
  • เหรียญตรา
  • ต้องเปิดใช้งานได้; ตรวจสอบสิ่งนี้โดยการใช้ IsEnabled คุณสมบัติของไดอาและสร้างโดย BadgeService:GetBadgeInfoAsync()

ดูเพิ่มเติม:

พารามิเตอร์

userId: number

Class.Player.UserId ของผู้ใช้ที่ได้รับเหรียญตรา

badgeId: number

รหัสของเหรียญตราที่จะได้รับ


ส่งค่ากลับ

บูโอโนของ true หากได้รับรางวัล

ตัวอย่างโค้ด

Awarding a Badge

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

พารามิเตอร์

userId: number

Class.Player.UserId|userId ของผู้เล่นเพื่อตรวจสอบว่ามีเป็นเจ้าของของเหรียญตราที่กำหนดหรือไม่

badgeIds: Array

รายการของรหัสสัญลักษณ์ที่ตรวจสอบสิทธิเป็นเจ้าของ ความยาวสูงสุด 10


ส่งค่ากลับ

รายการของรหัสเหรียญที่ผู้ใช้ได้รับจากรหัสเหรียญที่ให้ไว้ ว่างเปล่าหากไม่มีรหัสเหรียญใด ๆ ที่ได้รับจากผู้ใช้

ตัวอย่างโค้ด

Checking Earned Badges in Batches

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>
กุญแจชนิดคำอธิบาย

ดูเพิ่มเติม:

พารามิเตอร์

badgeId: number

รหัสตราของเหรียญที่มีข้อมูลส่วนบุคคล


ส่งค่ากลับ

พจนานุกรมของข้อมูลเกี่ยวกับเหรียญตราที่ระบุ

ตัวอย่างโค้ด

Getting Badge Info

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 มีเหรียญที่

ใบร�ดได้รับการยืนยันจากเกมใด ๆ สามารถถูกขอได้ ไม่ว่าใครจะสร้างใบร�ดหรือใช้งานมันสำหรับ

ดูเพิ่มเติม:

พารามิเตอร์

userId: number

Class.Player.UserId ของผู้เล่นเพื่อตรวจสอบว่ามีเป็นเจ้าของของเหรียญตราที่กำหนดหรือไม่

badgeId: number

รหัสตราของเหรียญที่เป็นเจ้าของจะถูกตรวจสอบ


ส่งค่ากลับ

เหรียญตรา

ตัวอย่างโค้ด

Checking Earned Badges

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)

อีเวนต์