Odznakę można podarować graczom, gdy osiągną cel w swoim doświadczeniu, takich jak ukończenie trudnego celu lub gry przez pewny czas. Gdy gracz otrzyma odznaka, wyświetli się ona w kategorii Odznaki w ich wyposażenie.
Tworzenie Odznak
Możesz stworzyć do 5 znaczków za darmo w ciągu 24 godzin (GMT) dla każdej posiadaćdoświadczenia. Jeśli chcesz stworzyć więcej w ciągu 24 godzin, każde dodatkowe znaczek kosztuje 100 Robux.
Aby stworzyć odznaka:
Przejdź do Panelu twórcy.
Zlokalizuj powiązaną wrażliwość, kliknij ⋯ w kącie jej miniaturki i wybierz Utwórz Odznakę .
Na stronie tworzenia kliknij przycisk Wstaw obraz i potem wybierz/potwierdź obraz, który chcesz użyć jako ikonaodznaka. Po tworzeniu obrazu do użycia dla odznaka, rozważ obserwuje:
Użyj szablonu 512×512 pikseli .
Proces wstawiania znaczka ścieżkauje i przycina obraz znaku na kółko, więc unikaj umieszczania ważnych szczegółów poza obwódami kруowymi.
Ukończ następujące pola:
- Imię — tytuł dla odznaka.
- Opis — Opis tego, co gracz może zrobić, aby zdobyć odznaka.
- Odznaka jest włączona — Czy oznaka zostanie włączona podczas tworzenia. Oznaki wyłączone nie są wyświetlane pod sekcją Odznaki na stronie głównej doświadczenia i nie można ich zarobić graczami.
Kliknij przycisk Utwórz Odznakę. Nowa odznaka zostanie wyświetlona w sekcji Zaangażowanie → Odznaki na stronie głównej 2>Kreatora Dashboard2>. Jeśli nowa odznaka jest włączona, zostanie również wyświetlona pod sekcją 5>Odznaki5> na stronie głównej doświad
Odznaki skryptowe
Zwykłe wzorce skryptów nagód включают nadawanie nagród , sprawdzenie, czy gracz wcześniej zdobył nagrodę w Twoim doświadczeniu, i uzyskać informacje o nagrodach .
Lokalizowanie znaczków ID
ID znaku jest jego unikalnym identyfikatorem. Będziesz go potrzebować, gdy wdrożysz workflows, takie jak udzielanie nagrody za badge graczowi.
Na Panelu twórcy, przejdź do sekcji Odznaki związanych z doświadczeniem pod zaangażowaniem.
Kliknij przycisk ⋯ dla odznaki i wybierz Kopiuj ID zasobu .
Przyznawanie Odznak
Możesz przyznawać znaki firmowym graczom w całej swojej doświadczenia, nazyając metodę BadgeService:AwardBadge() w serwerze Script . Class.BadgeService:GetBadgeInfo
Poniżej przedstawiono przykład bezpiecznej funkcji przyznawania nagród graczom.
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Odzyskaj informacje o odznakach
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Potwierdź, że można przyznać ten znak
if badgeInfo.IsEnabled then
-- odznakanagrody
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
Sprawdzanie zdobytych odznaczeń
Poniższy skrypt sprawdza, czy każdy gracz wejdzie do doświadczenia, a następnie używa metody Class.BadgeService:UserHasBadgeAsync() , aby zweryfikować, czy ten gracz posiada certyfikat z swoim ID ustawionym w zmiennej ADGE_ID. Możesz również sprawdzić wł
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Zmień to na swoje ID odznaki
local function onPlayerAdded(player)
-- Sprawdź, czy gracz ma odznaka
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Jeśli pojawi się błąd, ostrzeż i wyjdź z funkcji
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- Zarządzaj własnością odznak gracza, jeśli to konieczne
end
end
-- Połącz wydarzenia "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Otrzymywanie informacji o badżach
Aby uzyskać informacje o odznaka, takie jak opis lub ikona zasobu ID, wezwij metodę Class.BadgeService:GetBadgeInfoAsync() z identyfikatorem badżu . Na przykład:
local BadgeService = game:GetService("BadgeService")local BADGE_ID = 00000000 -- Zmień to na swoje ID odznaki-- Odzyskaj informacje o odznakachlocal success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- Wyślij informacjeif 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