Bir rozet, oyunculara oyununuzda zorlu bir hedefi tamamlamak veya belirli bir süre oynamak gibi bir hedefe ulaştıklarında verebileceğiniz özel bir ödüldür. Bir oyuncu bir rozet aldığında, bu rozet Rozetler kategorisinde envanterlerinde görüntülenir.

Rozet oluşturma
Sahip olduğunuz her oyun için 24 saatlik bir süre içinde (GMT) ücretsiz olarak en fazla 5 rozet oluşturabilirsiniz. 24 saatlik süre içinde daha fazla rozet oluşturmak isterseniz, her ek rozet 100 Robux'a mal olur.
Bir rozet oluşturmak için:
Yaratıcı Kontrol Paneli'ne gidin.
Bir oyunun küçük resminin üzerine gelin, ⋯ butonuna tıklayın ve Rozet Oluştur seçeneğini seçin.

Oluşturma sayfasında, Görüntü Yükle butonuna tıklayın ve ardından rozetin simgesi olarak kullanmak istediğiniz görüntüyü seçin/onaylayın. Bir rozet için kullanılacak bir görüntü oluştururken aşağıdakilere dikkat edin:
512×512 piksel boyutunda bir şablon kullanın.
Yükleme işlemi, rozet görüntüsünü dairesel bir simgeye kesip biçimlendirecektir, bu nedenle önemli detayları dairesel sınırların dışına koymaktan kaçının.


Aşağıdaki alanları doldurun:
- Ad — Rozet için bir başlık.
- Açıklama — Oyuncunun rozeti kazanmak için ne yapması gerektiğine dair bir açıklama.
- Rozet Etkin — Rozetin oluşturulduğunda etkin olup olmayacağı. Devre dışı bırakılan rozetler, oyunun ana sayfasındaki Rozetler bölümünde gösterilmez ve oyuncular tarafından kazanılamaz.
Rozet Oluştur butonuna tıklayın. Yeni rozet, Yaratıcı Kontrol Paneli'ndeki Katılım ⟩ Rozetler bölümünde görüntülenecektir. Yeni rozet etkinse, oyunun ana sayfasındaki Rozetler bölümünde de gösterilecektir.

Oyunun ana sayfasındaki rozet
Rozetleri yeniden sıralama
Bir rozet ilk oluşturulduğunda, rozet listesinde en sona yerleştirilir. Bir seferde en fazla 50 rozeti sürükleyip bırakma arayüzü kullanarak yeniden sıralayabilirsiniz.
Rozetleri yeniden sıralamak için:
İlgili oyuna gidin.
Yan panelde Katılım başlığı altında Rozetler sayfasına gidin.
Yeniden sıralamak için Yeniden Sırala seçeneğini seçin.

Yeniden sıralama sayfasında, rozetleri tercih ettiğiniz sıraya sürükleyip bırakın.

Bu sıralamayı kaydetmek için Kaydet seçeneğini seçin. Belirtilen sıralama artık oyun detayları sayfasında görünmelidir.
Rozetleri script ile yönetme
Yaygın rozet script iş akışları arasında rozet verme, bir oyuncunun daha önce kazanıp kazanmadığını kontrol etme ve rozet bilgilerini alma yer alır.
Rozet ID'lerini bulma
Bir rozetin ID'si, onun benzersiz tanımlayıcısıdır. Bu ID'yi, bir oyuncuya rozet verme gibi iş akışlarını uygularken kullanmanız gerekecektir.
Yaratıcı Kontrol Paneli'nde, ilgili oyunun Rozetler bölümüne gidin.
Bir rozetin küçük resminin üzerine gelin, ⋯ butonuna tıklayın ve bağlam menüsünden Varlık ID'sini Kopyala seçeneğini seçin.

Rozet verme
Oyun boyunca oyunculara rozet verebilirsiniz, bunu BadgeService:AwardBadgeAsync() yöntemini bir sunucu tarafı Script içinde çağırarak yapabilirsiniz. BadgeService:GetBadgeInfoAsync() rozetin özelliklerini döndürür, bunlar arasında IsEnabled rozetin bir oyuncuya verilip verilemeyeceğini doğrular. Bir rozeti Yaratıcı Kontrol Paneli'ndeki Rozeti Yapılandır formundan etkinleştirebilir veya devre dışı bırakabilirsiniz.
Aşağıda, oyunculara rozet vermek için güvenli bir işlev örneği verilmiştir.
local BadgeService = game:GetService("BadgeService")
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:", errorMessage)
end
end
else
warn("Rozet bilgileri alınırken hata: " .. badgeInfo)
end
endKazanılan rozetleri kontrol etme
Aşağıdaki script, herhangi bir oyuncu oyuna girdiğinde kontrol eder, ardından BadgeService:UserHasBadgeAsync() yöntemini kullanarak o oyuncunun eşleşen ID ile rozet sahibi olup olmadığını doğrular. Ayrıca, BadgeService:GetUserBadgesAsync() yöntemini kullanarak rozet sahipliğini toplu olarak da doğrulayabilirsiniz.
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Bunu rozet ID'nizle değiştirin
local function onPlayerAdded(player)
-- Oyuncunun rozetinin olup olmadığını kontrol et
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Bir hata varsa, bir uyarı ver ve fonksiyondan çık
if not success then
warn("Oyuncunun rozetinin olup olmadığını kontrol ederken hata")
return
end
if hasBadge then
-- Oyuncunun rozet sahipliğini gerektiği gibi yönetin
end
end
-- "PlayerAdded" olaylarını "onPlayerAdded()" fonksiyonuna bağlayın
Players.PlayerAdded:Connect(onPlayerAdded)Rozet bilgilerini alma
Bir rozetin bilgilerini almak için, açıklaması veya simge varlık ID'si gibi, BadgeService:GetBadgeInfoAsync() yöntemini bir rozet ID'si ile çağırın. Örneğin:
local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Bunu rozet ID'nizle değiştirin
-- Rozet bilgilerini al
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Bilgileri çıktı olarak ver
if success then
print("Rozet:", result.Name)
print("Etkin:", result.IsEnabled)
print("Açıklama:", result.Description)
print("Simge:", "rbxassetid://" .. result.IconImageId)
else
warn("Rozet bilgileri alınırken hata:", result)
end