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.
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:
Navigate to the Yaratıcı Dashboard .
İlişkili deneyimi bulun, miniatürünün köşesindeki ⋯ ⋯ ⋯'e tıkla ve ⋯'i oluştur'ı seç.
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.
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.
Click the Bileşik Oluştur button. The new badge displays within the Engagement → Badges 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.
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.
Ana Creator Dashboard 'da, ilgili deneyimin Badges bölümünden Engagement altındaki bölüme gidin.
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 allocal success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- Bilgileri çıkartif success thenprint("Badge:", result.Name)print("Enabled:", result.IsEnabled)print("Description:", result.Description)print("Icon:", "rbxassetid://" .. result.IconImageId)elsewarn("Error while fetching badge info:", result)end