Clase de motor
BadgeService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Métodos
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 |
Referencia API
Métodos
AwardBadge
AwardBadgeAsync
Devuelve
Muestras de código
Otorgando una Insignia
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
local function awardBadge(player, badgeId)
-- Obtener información de la medalla
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirmar que la medalla puede ser otorgada
if badgeInfo.IsEnabled then
-- Otorgar medalla
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Error al otorgar la medalla:", errorMessage)
end
end
else
warn("Error al obtener la información de la medalla: " .. badgeInfo)
end
end
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
Devuelve
Muestras de código
Comprobando insignias obtenidas en lotes
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- Cambia esto por una lista de tus ID de insignias
local function onPlayerAdded(player)
-- Verifica si el jugador tiene alguna de las insignias
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- Si hay un error, emite una advertencia y sale de la función
if not success then
warn("Error al verificar si el jugador", player.Name, "tiene insignias:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "no tiene ninguna de las insignias")
else
print(player.Name, "tiene las siguientes insignias:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
Parámetros
Devuelve
Muestras de código
Obtener información de insignias
local BadgeService = game:GetService("BadgeService")
-- Obtener información de la insignia
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- Cambia esto por el ID de la insignia deseada
end)
-- Salida de la información
if success then
print("Insignia:", result.Name)
print("Habilitado:", result.IsEnabled)
print("Descripción:", result.Description)
print("Icono:", "rbxassetid://" .. result.IconImageId)
else
warn("Error al obtener información de la insignia:", result)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
Devuelve
Muestras de código
Verificando Insignias Ganadas
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- Cambia esto a tu ID de insignia
local function onPlayerAdded(player)
-- Verifica si el jugador tiene la insignia
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- Si hay un error, emite una advertencia y sale de la función
if not success then
warn("¡Error al comprobar si el jugador tiene la insignia!")
return
end
if hasBadge then
-- Maneja la propiedad de la insignia del jugador según sea necesario
print(player.Name, "tiene la insignia", badgeId)
end
end
-- Conecta eventos de "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)