BadgeService

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service

La classe BadgeService fournit des informations et des fonctionnalités liées aux Badges. Les badges sont utilisés sur la plate-forme pour reconnaître les réalisations et l'activité d'un joueur. Lors de l'attribution d'un badge à un joueur, il est ajouté à leur inventaire et affiché sur leur page de profil.

Échantillons de code

Awarding a Badge

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Fetch badge information
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirm that badge can be awarded
if badgeInfo.IsEnabled then
-- Award badge
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
if not awardSuccess then
-- the AwardBadge function threw an error
warn("Error while awarding badge:", result)
elseif not result then
-- the AwardBadge function did not award a badge
warn("Failed to award badge.")
end
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Checking Earned Badges

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Change this to your badge ID
local function onPlayerAdded(player)
-- Check if the player has the badge
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has badge!")
return
end
if hasBadge then
-- Handle player's badge ownership as needed
print(player.Name, "has badge", badgeId)
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
Players.PlayerAdded:Connect(onPlayerAdded)
Checking Earned Badges in Batches

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Change this to a list of your badge IDs
local function onPlayerAdded(player)
-- Check if the player has any of the badges
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player", player.Name, "has badges:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "does not have any of the badges")
else
print(player.Name, "has the following badges:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Getting Badge Info

local BadgeService = game:GetService("BadgeService")
-- Fetch badge information
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Change this to desired badge ID
end)
-- Output the information
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

Résumé

Méthodes

Propriétés

Méthodes

AwardBadge

Rendement

Accorde à un Player un badge avec le UserId et l'ID du badge. Limite de taux : 50 + 35 * [number of users] par minute . Pour attribuer un badge avec succès :

  • Le joueur doit être connecté en ce moment au jeu.
  • Le joueur ne doit pas déjà avoir le badge (remarquez qu'un joueur peut supprimer un badge attribué de leur profil et être attribué le badge à nouveau).
  • Le badge doit être attribué à partir d'un serveur-side Class.Script ou d'un Class.ModuleScript finalement requis par un Class.Script , et non pas à partir d'un Class.LocalScript .
  • Le badge doit être attribué dans un lieu qui fait partie du jeu associé au badge.
  • Le badge doit être activé ; vérifiez-le en utilisant la propriété IsEnabled du badge récupérée via BadgeService:GetBadgeInfoAsync().

Voir aussi :

Paramètres

userId: number

Le Player.UserId de l'utilisateur auquel le badge est attribué.

badgeId: number

L'identifiant du badge à attribuer.


Retours

Boolean de true si le badge a été attribué avec succès.

Échantillons de code

Awarding a Badge

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Fetch badge information
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirm that badge can be awarded
if badgeInfo.IsEnabled then
-- Award badge
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
if not awardSuccess then
-- the AwardBadge function threw an error
warn("Error while awarding badge:", result)
elseif not result then
-- the AwardBadge function did not award a badge
warn("Failed to award badge.")
end
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)

CheckUserBadgesAsync

Rendement

Vérifie une liste de mauvais ID de badge contre un UserId et renvoie une liste de mauvais ID de badge que le joueur possède.

Cette méthode prend en charge des lots de jusqu'à 10 badges. Utilisez BadgeService:UserHasBadgeAsync() pour les recherches de badges individuels.

Limite de taux : 10 + 5 * [nombre de joueurs] par minute dans chaque serveur.

Tout ensemble de badges pour n'importe quelle expérience peut être requis, peu importe qui a créé les badges ou pour quelles expériences ils sont destinés. Tout UserId peut être utilisé dans un Script, mais dans un LocalScript, seul le 2> Class.Player.UserId|userId2> du client local qui

Paramètres

userId: number

Le UserId du joueur pour vérifier la propriété des badges spécifiés.

badgeIds: Array

La liste des ID des badges pour vérifier leur propriété. Longueur maximale de 10.


Retours

La liste des ID de badge que l'utilisateur possède en vertu des ID de badge fournis. Vide si aucun des badges fournis n'est possédé par l'utilisateur donné. Ne garantit pas d'être dans le même ordre que la liste d'entrée.

Échantillons de code

Checking Earned Badges in Batches

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Change this to a list of your badge IDs
local function onPlayerAdded(player)
-- Check if the player has any of the badges
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player", player.Name, "has badges:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "does not have any of the badges")
else
print(player.Name, "has the following badges:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)

GetBadgeInfoAsync

Rendement

Cette fonctionnalité récupère des informations sur un badge donné son ID. Il prend un court instant pour charger les informations du site Web Roblox ; des appels répétés seront stockés pour une courte durée. Il retourne un dictionnaire avec les champs suivants :


<tbody>
<tr>
<td><b>Nommé</b></td>
<td>chaîne</td>
<td>Le nom du badge.</td>
</tr>
<tr>
<td><b>Description</b></td>
<td>chaîne</td>
<td>Description du badge.</td>
</tr>
<tr>
<td> image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'icône image d'</td>
<td>int64</td>
<td>L'ID de la ressource de l'image pour le badge.</td>
</tr>
<tr>
<td><b>Est activé</b></td>
<td>bulle</td>
<td>Indique si le badge est disponible pour être attribué.</td>
</tr>
</tbody>
CléTypeDescription

Voir aussi :

Paramètres

badgeId: number

L'ID de badge de la personne dont les informations devraient être récupérées.


Retours

Un dictionnaire d'informations sur le badge spécifié.

Échantillons de code

Getting Badge Info

local BadgeService = game:GetService("BadgeService")
-- Fetch badge information
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Change this to desired badge ID
end)
-- Output the information
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

UserHasBadgeAsync

Rendement

Vérifie et renvoie si un Player possède un badge donné son UserId et

Tout badge pour n'importe quel jeu peut être requis, peu importe qui a créé le badge ou à quelle expérience il sert.

Voir aussi :

Paramètres

userId: number

Le Player.UserId du joueur pour vérifier la propriété du badge spécifié.

badgeId: number

L'ID de badge de la personne qui possède le badge.


Retours

Indique si l'utilisateur spécifié a le badge spécifié.

Échantillons de code

Checking Earned Badges

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Change this to your badge ID
local function onPlayerAdded(player)
-- Check if the player has the badge
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has badge!")
return
end
if hasBadge then
-- Handle player's badge ownership as needed
print(player.Name, "has badge", badgeId)
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
Players.PlayerAdded:Connect(onPlayerAdded)

Évènements