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 başarı ödülü is a special reward you can gift players when they meet a goal within your experience, such as completing a difficult objective or playing for a certain amount of time. As soon as a player receive a rozet, it displays within the başarı ödülleri category of their envanter.

Example badges in a player's inventory
Bir oyuncunun envanterindeki örnek rozetler

Başarımlar Oluşturulması

Sahip olduğunuz her deneyim için 24 saat (GMT) boyunca ücretsiz olarak 5 rozet oluşturabilirsiniz. 24 saat (GMT) içinde daha fazlasını oluşturmak istiyorsanız, her ekstra rozet 100 Robux'a mal olur.

Bir rozet oluşturmak için:

  1. Navigate to the Yaratıcı Dashboard .

  2. İlişkili deneyimi bulun, miniatürünün köşesindeki ⋯ ⋯ ⋯'e tıkla ve ⋯'i oluştur'ı seç.

    Create Badge option from Creator Dashboard
  3. Yaratma sayfasında, Resim Yükleme Ekranı düğmesine tıklayın ve ardından kullanmak istediğiniz resmi seçin/onaylayın. Bir rozet için kullanmak için, takip edilendikkate alın:

    • Use a template of 512×512 pixels .

    • Yükleme işlemi, rozet görüntüsünü dairesel bir simgeye keser ve arkasındaki önemli ayrıntıları görmezden gelin.

      Good circular trimming
      Bad circular trimming
  4. Aşağıdaki alanları doldurun:

    • İsim — rozet'in bir başlığı.
    • Açıklama — Oyuncunun rozeti kazanmak için yapabileceği şeylerin bir açıklaması.
    • Badge aktifleştirildiğinde etkinleştirilecek mi yoksa etkinleştirilemeyecek miyiz. Disable badges are not shown under the Badge section of the experience's main page and cannot be earned by players.
  5. Click the Bileşik Oluştur button. The new badge displays within the EngagementBadges section on the 1> Creator Dashboard1> . If the new badge is enabled, it will also be shown under the 4> Badges4> section of the experience's main page.

    Deneyimin ana sayfasında bir rozet

Kodlama Rozetleri

Sıradan rozet kazanma işlemleri için şunları içerir: ödüller vermeyi, bir oyuncunun deneyiminde önce bir rozet kazanıp kazanmadığını kontrol etmeyi ve badge bilgilerini alma .

Badge Kimliklerini Bulma

Bir rozet'in ID'si onun benzersiz tanımlayıcısıdır. Bir oyuncuya ödül verme gibi iş akışlarını uygularken bu ID'yi gerekeceksiniz.

  1. Ana Creator Dashboard 'da, ilgili deneyimin Badges bölümünden Engagement altındaki bölüme gidin.

    Badges button indicated for an experience on the Creator Dashboard
  2. Bir rozet için düğmesine tıklayın ve Kaynak Kodunu Kopyala seçin.

Başarımlar Ödüllendirme

Server-side BadgeService:AwardBadge() içindeki Script metodunu çağırerek oyunculara boyutlar verebilirsiniz. BadgeService:GetBadgeInfoAsync()

Aşağıda, oyunculara rozet vermenin güvenli bir yolunun bir örneği verilmiştir.


local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Badge bilgilerini al
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Badge'nin verilebildiğine dair onay
if badgeInfo.IsEnabled then
-- rozet
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

Aşağıdaki kod, herhangi bir oyuncu deneyime girdiğinde kontrol eder ve ardından Class.BadgeService:UserHasBadgeAsync() metodunu kullanarak oyuncunun uygulanan ID ile sahip olduğunu doğrular. Ayrıca, Class.BadgeService:CheckUserBadgesAsync() metodunu


local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Bunu rozet ID'ine değiştir
local function onPlayerAdded(player)
-- Oyuncunun rozetini alıp almadığını kontrol et
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Bir hata oluşursa, uyarı ver ve işlevi çık
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- oyuncurozet sahibi olduğunu gerektiğinde elde edin
end
end
-- PlayerAdded" olaylarını "onPlayerAdded()" işlevine bağla
Players.PlayerAdded:Connect(onPlayerAdded)

Badge Bilgileri Nasıl Alınır

Bir rozetin açıklaması veya ikon kaynağı gibi bilgileri almak için, BadgeService:GetBadgeInfoAsync() metodunu çağırın, bir rozet ID ile. Örneğin:


local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Bunu rozet ID'ine değiştir
-- Badge bilgilerini al
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Bilgileri çıkart
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