Motor Sınıfı
BadgeService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Özet
Yöntemler
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 |
API Referansı
Yöntemler
AwardBadge
AwardBadgeAsync
Dönüşler
Kod Örnekleri
Bir Rozet Verme
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Rozet bilgilerini al
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Rozetin verilebileceğini doğrula
if badgeInfo.IsEnabled then
-- Rozeti ver
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Rozet verilirken hata oluştu:", errorMessage)
end
end
else
warn("Rozet bilgilerini alırken hata oluştu: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
Dönüşler
Kod Örnekleri
Ayrı Ayrı Kazanılan Rozetleri Kontrol Etme
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Bunu, rozet ID'lerinizin bir listesi olarak değiştirin
local function onPlayerAdded(player)
-- Oyuncunun herhangi bir rozeti olup olmadığını kontrol et
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- Hata varsa, uyarı ver ve fonksiyondan çık
if not success then
warn("Oyuncu", player.Name, "rozete sahip olup olmadığını kontrol ederken hata oluştu:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "herhangi bir rozete sahip değil")
else
print(player.Name, "aşağıdaki rozetlere sahip:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
Parametreler
Dönüşler
Kod Örnekleri
Rozet Bilgisi Alma
local BadgeService = game:GetService("BadgeService")
-- Rozet bilgilerini al
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Bunu istediğiniz rozet ID'sine değiştirin
end)
-- Bilgileri çıktısını al
if success then
print("Rozet:", result.Name)
print("Aktif:", result.IsEnabled)
print("Açıklama:", result.Description)
print("Simge:", "rbxassetid://" .. result.IconImageId)
else
warn("Rozet bilgilerini alırken bir hata oluştu:", result)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
Dönüşler
Kod Örnekleri
Kazandığınız Rozetleri Kontrol Etme
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Bunu rozet ID'nizle değiştirin
local function onPlayerAdded(player)
-- Oyuncunun rozete sahip olup olmadığını kontrol et
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Bir hata varsa, bir uyarı çıkartın ve işlevden çıkın
if not success then
warn("Oyuncunun rozete sahip olup olduğunu kontrol ederken hata meydana geldi!")
return
end
if hasBadge then
-- Oyuncunun rozet sahipliğini gerektiği gibi işle
print(player.Name, "rozete sahiptir", badgeId)
end
end
-- "PlayerAdded" olaylarını "onPlayerAdded()" işlevine bağlayın
Players.PlayerAdded:Connect(onPlayerAdded)