Код IT
← Каталог

Практикум — обби на Roblox — Значки `BadgeService`

Фрагмент из «Практикум — обби на Roblox»: Значки `BadgeService`.

lua spinoffencyclopedia9-04-razrabotka-igr-204 embed URL статья в энциклопедии
Lua main.lua
local BadgeService = game:GetService("BadgeService")

local function hookBadgePart(part: BasePart)
    local badgeIdVal = part:FindFirstChild("BadgeId") :: IntValue?
    if not badgeIdVal then return end
    local badgeId = badgeIdVal.Value
    part.Touched:Connect(function(hit)
        local player = playerFromHit(hit)
        if not player then return end
        local uid = player.UserId
        local ok, has = pcall(function()
            return BadgeService:UserHasBadgeAsync(uid, badgeId)
        end)
        if ok and not has then
            pcall(function()
                BadgeService:AwardBadge(uid, badgeId)
            end)
        end
    end)
end
local BadgeService = game:GetService("BadgeService")

local function hookBadgePart(part: BasePart)
    local badgeIdVal = part:FindFirstChild("BadgeId") :: IntValue?
    if not badgeIdVal then return end
    local badgeId = badgeIdVal.Value
    part.Touched:Connect(function(hit)
        local player = playerFromHit(hit)
        if not player then return end
        local uid = player.UserId
        local ok, has = pcall(function()
            return BadgeService:UserHasBadgeAsync(uid, badgeId)
        end)
        if ok and not has then
            pcall(function()
                BadgeService:AwardBadge(uid, badgeId)
            end)
        end
    end)
end