Başarımlar

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir rozet deneyiminizde bir hedefe ulaştıklarında oyunculara hediye edebileceğiniz özel bir ödüldür, örneğin zor bir hedefi tamamlamak veya belirli bir süre oynamak.Bir oyuncu bir rozet aldığında, envanterlerinin Rozetler kategorisinde görüntülenir.

Example badges in a player's inventory
oyuncuenvanterindeki örnek rozetler

Rozetler oluştur

Her sahip olduğunuz deneyim için 24 saatlik bir süre boyunca ücretsiz olarak en fazla 5 rozet oluşturabilirsiniz (GMT).24 saatlik süre içinde daha fazla oluşturmak istiyorsanız, her ekstra rozet 100 Robux maliyetine sahiptir.

Bir rozet oluşturmak için:

  1. Navigate to the Yaratıcı Panosuna.

  2. Bir deneyimin küçük küçük resimgelin, düğmesine tıklayın ve Rozet Oluştur seçeneğini seçin.

  3. Oluşturma sayfasında, Resim yükleme düğmesine tıklayın ve ardından rozetin simgesi olarak kullanmak istediğiniz resmi seçin/onaylayın.Bir rozet için kullanılacak bir görüntü oluştururken, takip edilennoktalara dikkat edin:

    • Bir şablonu kullanın 512×512 piksel .

    • Yükleme süreci rozet görüntüsünü yuvarlak bir simgehaline getirir ve önemli detayları yuvarlak sınırların dışına koymaktan kaçının.

      Good circular trimming

      >

      Bad circular trimming

      >

  4. Aşağıdaki alanları doldurun:

    • İsim — Başarım için bir rozet.
    • Açıklama — Oyuncunun rozeti kazanmak için yapabileceği bir açıklama.
    • Başarım etkinleştirildi — Başarımın oluşturulduğunda etkinleştirilip etkinleştirilmeyeceği.Devre dışı bırakılan rozetler deneyimin ana sayfasındaki Rozetler bölümünde gösterilmez ve oyuncular tarafından kazanılamaz.
  5. Rozet Oluştur düğmesine tıklayın.Yeni rozet, KatılımRozetler bölümünde Yaratıcı Panosu üzerinde görüntülenir.Yeni rozet etkinleştirildiğinde, deneyimin ana sayfasındaki Rozetler bölümünde de gösterilecektir.

    Deneyimin ana sayfasındaki rozet

Rozetleri yeniden düzenle

Bir rozet ilk oluşturulduğunda, rozet listesinin sonuna yerleştirilir. Aynı anda 50 rozeti sürükleme ve bırakma arayüzü kullanarak yeniden sıralayabilirsiniz.

Rozetleri yeniden düzenlemek için:

  1. İlgili deneyime yönlendirin.

  2. Katılım başlığının altındaki yan panelde, Başarımlar sayfasına geçiş yapın.

  3. Yeniden düzenleme sayfasına gitmek için Yeniden düzenlemeyi seçin seçin.

    Badge reorder button
  4. Yeniden düzenleme sayfasında, tercih edilen sıraya rozetleri sürükle ve bırak.

    Badge drag-and-drop to reorder
  5. Bu sırayı kaydetmek için Kaydet seçin. Belirtilen sıra artık deneyim detayları sayfasında görünmelidir.

Kod rozetleri

Ortak rozet yazma iş akışları arasında rozet vermek , bir oyuncunun daha önce deneyiminizde bir rozet kazandığını kontrol etmek ve rozet bilgilerini almak bulunur.

Badge ID'lerini bul

Bir rozetin kimliği benzersiz tanımlayıcısıdır. rozeti bir oyuncuya verme gibi iş akışlarını uygularken bu kimliğe ihtiyacınız olacak.

  1. On the Yaratıcı Panosu , Katılım altındaki ilişkili deneyimin Başarımları bölümüne yönlendirin.

  2. Bir rozetin küçük resminin üzerine gelin, düğmesine tıklayın ve konteks menüsünden Varlık Kimliğini Kopyala seçin.

Ödül rozetleri

Deneyiminiz boyunca oyunculara rozetler verebilirsiniz, bunu yapmak için BadgeService:AwardBadge() yöntemini bir sunucu tarafında Script çağırarak.BadgeService:GetBadgeInfoAsync() kötü bir rozetin özelliklerini döndürür, bunlar arasında IsEnabled kötü rozetin bir oyuncuya verilebilir mi veya değil mi onaylayan şey de dahil olmak üzere.Bir rozetin etkinleştirilmesini veya devre dışı bırakılmasını Rozet Yapılandırma formundan Yaratıcı Panosu üzerinde yapabilirsiniz.

Aşağıdaki, oyunculara rozet vermek için güvenli bir işlevin örneğidir.


local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Rozet bilgilerini alma
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Rozetin verilebileceğini onayla
if badgeInfo.IsEnabled then
-- Ödül rozeti
local awarded, errorMessage = pcall(BadgeService.AwardBadge, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Error while awarding badge:", errorMessage)
end
end
else
warn("Error while fetching badge info!")
end
end

Kazanılan rozetleri kontrol et

Aşağıdaki kod, herhangi bir oyuncunun deneyime girdiğinde kontrol eder ve o oyuncunun değerleri değişken içinde ayarlanan eşleşen kimliğe sahip olup olmadığını doğrulamak için yöntemini kullanır.Ayrıca, BadgeService:CheckUserBadgesAsync() yöntemi kullanarak toplu olarak rozet sahipliğini doğrulayabilirsiniz.


local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Bunu rozet kimliğinize değiştirin
local function onPlayerAdded(player)
-- Oyuncunun rozetine sahip olup olmadığını kontrol et
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Bir hata varsa, uyarı yayınlayın ve işlevi kapatın
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- oyuncurozet sahipliğini ihtiyaca göre ele alın
end
end
-- ""OyuncuEklendi" olaylarını "onPlayerAdded()" işlevine bağla
Players.PlayerAdded:Connect(onPlayerAdded)

Rozet bilgilerini al

Bir rozetin açıklaması veya simge varlık kimliği gibi bilgiler almak için, BadgeService:GetBadgeInfoAsync() yöntemini bir rozet kimliği ile çağırın. Örneğin:


local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Bunu rozet kimliğinize değiştirin
-- Rozet bilgilerini alma
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Bilgileri göster
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