Kelas Engine
BadgeService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Rangkuman
Metode
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 |
Referensi API
Metode
AwardBadge
AwardBadgeAsync
Memberikan nilai
Contoh Kode
Memberikan Lencana
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Ambil informasi badge
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Konfirmasi bahwa badge dapat diberikan
if badgeInfo.IsEnabled then
-- Berikan badge
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Kesalahan saat memberikan badge:", errorMessage)
end
end
else
warn("Kesalahan saat mengambil info badge: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
Memberikan nilai
Contoh Kode
Memeriksa Lencana yang Diperoleh dalam Batch
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Ubah ini menjadi daftar ID badge Anda
local function onPlayerAdded(player)
-- Periksa apakah pemain memiliki salah satu badge
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- Jika terjadi kesalahan, keluarkan peringatan dan keluar dari fungsi
if not success then
warn("Kesalahan saat memeriksa apakah pemain", player.Name, "memiliki badge:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "tidak memiliki badge apapun")
else
print(player.Name, "memiliki badge berikut:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
Parameter
Memberikan nilai
Contoh Kode
Mendapatkan Informasi Lencana
local BadgeService = game:GetService("BadgeService")
-- Ambil informasi lencana
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Ubah ini ke ID lencana yang diinginkan
end)
-- Keluarkan informasi
if success then
print("Lencana:", result.Name)
print("Diaktifkan:", result.IsEnabled)
print("Deskripsi:", result.Description)
print("Ikon:", "rbxassetid://" .. result.IconImageId)
else
warn("Kesalahan saat mengambil informasi lencana:", result)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
Memberikan nilai
Contoh Kode
Memeriksa Lencana yang Diperoleh
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Ubah ini menjadi ID lencana Anda
local function onPlayerAdded(player)
-- Periksa apakah pemain memiliki lencana
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Jika ada kesalahan, keluarkan peringatan dan keluar dari fungsi
if not success then
warn("Kesalahan saat memeriksa apakah pemain memiliki lencana!")
return
end
if hasBadge then
-- Tangani kepemilikan lencana pemain sesuai kebutuhan
print(player.Name, "memiliki lencana", badgeId)
end
end
-- Hubungkan acara "PlayerAdded" ke fungsi "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)