Klasa silnika
BadgeService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Podsumowanie
Metody
AwardBadge(userId: User,badgeId: number):boolean |
AwardBadgeAsync(userId: User,badgeId: number):boolean |
CheckUserBadgesAsync(userId: User,badgeIds: {any}):{any} |
GetBadgeInfoAsync(badgeId: number):Dictionary |
IsDisabled(badgeId: number):boolean |
UserHasBadge(userId: User,badgeId: number):boolean |
UserHasBadgeAsync(userId: User,badgeId: number):boolean |
Materiały referencyjne dotyczące interfejsów API
Metody
AwardBadge
AwardBadgeAsync
Zwroty
Przykłady kodu
Przyznawanie odznaki
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
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
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
Zwroty
Przykłady kodu
Sprawdzanie zdobytych odznak w partiach
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Zmień to na listę swoich identyfikatorów odznak
local function onPlayerAdded(player)
-- Sprawdź, czy gracz ma jakieś odznaki
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- Jeśli wystąpił błąd, wydaj ostrzeżenie i zakończ funkcję
if not success then
warn("Błąd podczas sprawdzania, czy gracz", player.Name, "ma odznaki:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "nie ma żadnych odznak")
else
print(player.Name, "ma następujące odznaki:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
Parametry
Zwroty
Przykłady kodu
Odbieranie informacji o odznace
local BadgeService = game:GetService("BadgeService")
-- Pobierz informacje o odznace
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Zmień to na pożądane ID odznaki
end)
-- 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)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
Zwroty
Przykłady kodu
Sprawdzanie Zdobytych Odznak
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Zmień to na ID swojej odznaki
local function onPlayerAdded(player)
-- Sprawdź, czy gracz ma odznakę
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Jeśli wystąpił błąd, wystaw ostrzeżenie i wyjdź z funkcji
if not success then
warn("Błąd podczas sprawdzania, czy gracz ma odznakę!")
return
end
if hasBadge then
-- Obsłuż posiadanie odznaki przez gracza według potrzeb
print(player.Name, "ma odznakę", badgeId)
end
end
-- Połącz zdarzenia "PlayerAdded" z funkcją "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)