Odznaka to specjalna nagroda, którą możesz przyznać graczom, gdy osiągną cel w Twojej grze, na przykład ukończą trudny cel lub grają przez określony czas. Gdy gracz otrzyma odznakę, wyświetla się ona w kategorii Odznaki w jego ekwipunku.

Tworzenie odznak
Możesz stworzyć do 5 odznak za darmo w ciągu 24 godzin (GMT) dla każdej gry, którą posiadasz. Jeśli chcesz stworzyć więcej w ciągu 24 godzin, każda dodatkowa odznaka kosztuje 100 Robux.
Aby stworzyć odznakę:
Przejdź do Panelu Twórcy.
Najedź na miniaturę gry, kliknij przycisk ⋯ i wybierz Utwórz odznakę.

Na stronie tworzenia kliknij przycisk Prześlij obraz i wybierz/potwierdź obraz, który chcesz użyć jako ikonę odznaki. Tworząc obraz do użycia jako odznakę, weź pod uwagę następujące:
Użyj szablonu o wymiarach 512×512 pikseli.
Proces przesyłania przycina i przycina obraz odznaki do okrągłej ikony, więc unikaj umieszczania ważnych szczegółów poza okrągłymi granicami.


Uzupełnij następujące pola:
- Nazwa — Tytuł odznaki.
- Opis — Opis tego, co gracz może zrobić, aby zdobyć odznakę.
- Odznaka jest włączona — Czy odznaka będzie włączona po jej utworzeniu. Wyłączone odznaki nie są wyświetlane w sekcji Odznaki na głównej stronie gry i nie mogą być zdobywane przez graczy.
Kliknij przycisk Utwórz odznakę. Nowa odznaka wyświetli się w sekcji Zaangażowanie ⟩ Odznaki na Panelu Twórcy. Jeśli nowa odznaka jest włączona, będzie również wyświetlana w sekcji Odznaki na głównej stronie gry.

Odznaka na głównej stronie gry
Zmienianie kolejności odznak
Gdy odznaka jest po raz pierwszy tworzona, jest umieszczana na końcu listy odznak. Możesz zmienić kolejność do 50 odznak jednocześnie, korzystając z interfejsu przeciągnij i upuść.
Aby zmienić kolejność odznak:
Przejdź do powiązanej gry.
W panelu bocznym pod nagłówkiem Zaangażowanie przejdź do strony Odznaki.
Wybierz Zmień kolejność, aby przejść do strony zmiany kolejności.

Na stronie zmiany kolejności przeciągnij i upuść odznaki w preferowanej kolejności.

Wybierz Zapisz, aby zapisać tę kolejność. Określona kolejność powinna teraz pojawić się na stronie szczegółów gry.
Skrypty odznak
Typowe przepływy pracy związane z odznakami obejmują przyznawanie odznak, sprawdzanie, czy gracz wcześniej zdobył odznakę w Twojej grze oraz uzyskiwanie informacji o odznakach.
Zlokalizuj identyfikatory odznak
Identyfikator odznaki to jej unikalny identyfikator. Będziesz potrzebować tego identyfikatora podczas wdrażania przepływów pracy, takich jak przyznawanie odznaki graczowi.
Na Panelu Twórcy przejdź do sekcji Odznaki powiązanej gry w sekcji Zaangażowanie.
Najedź na miniaturę odznaki, kliknij przycisk ⋯ i wybierz Kopiuj identyfikator zasobu z menu kontekstowego.

Przyznawanie odznak
Możesz przyznawać odznaki graczom w całej grze, wywołując metodę BadgeService:AwardBadgeAsync() w skrypcie po stronie serwera Script. BadgeService:GetBadgeInfoAsync() zwraca właściwości odznaki, w tym IsEnabled, która potwierdza, czy odznaka może być przyznana graczowi. Możesz włączyć lub wyłączyć odznakę w formularzu Konfiguruj odznakę na Panelu Twórcy.
Poniżej znajduje się przykład bezpiecznej funkcji do przyznawania odznak graczom.
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Pobierz informacje o odznace
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Potwierdź, że odznaka może być przyznana
if badgeInfo.IsEnabled then
-- Przyznaj odznakę
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Błąd podczas przyznawania odznaki:", errorMessage)
end
end
else
warn("Błąd podczas pobierania informacji o odznace: " .. badgeInfo)
end
endSprawdzanie zdobytych odznak
Poniższy skrypt sprawdza, kiedy jakikolwiek gracz wchodzi do gry, a następnie używa metody BadgeService:UserHasBadgeAsync(), aby zweryfikować, czy ten gracz posiada odznakę o pasującym identyfikatorze ustawionym w zmiennej BADGE_ID. Możesz również zweryfikować posiadanie odznak w partiach, używając metody BadgeService:GetUserBadgesAsync().
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Zmień to na swój identyfikator odznaki
local function onPlayerAdded(player)
-- Sprawdź, czy gracz ma odznakę
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Jeśli wystąpił błąd, wydaj ostrzeżenie i zakończ funkcję
if not success then
warn("Błąd podczas sprawdzania, czy gracz ma odznakę")
return
end
if hasBadge then
-- Obsłuż posiadanie odznaki przez gracza w razie potrzeby
end
end
-- Połącz zdarzenia "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)Uzyskiwanie informacji o odznakach
Aby uzyskać informacje o odznace, takie jak jej opis lub identyfikator zasobu ikony, wywołaj metodę BadgeService:GetBadgeInfoAsync() z identyfikatorem odznaki. Na przykład:
local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Zmień to na swój identyfikator odznaki
-- Pobierz informacje o odznace
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Wyświetl informacje
if success then
print("Odznaka:", result.Name)
print("Włączona:", result.IsEnabled)
print("Opis:", result.Description)
print("Ikona:", "rbxassetid://" .. result.IconImageId)
else
warn("Błąd podczas pobierania informacji o odznace:", result)
end