徽章给予者帮助(roblox)

问题描述 投票:0回答:2

所以,我正在开发一款 Roblox 游戏,我想制作一个秘密房间并奖励找到它的玩家徽章,但问题是徽章给予者不起作用,我的徽章给予者也被锁定,所以我不知道不要意外地将其放入地图中。它也位于密码门后面,周围都是上锁的部件。这是我的代码。

local badgeService = game:GetService("BadgeService")
local id = 2133435079

script.Parent.Touched:Connect(function(hit)
    
    if hit.Parent:FindFirstChild("Humanoid") then
        
        local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
        badgeService:AwardBadge(plr.UserId,id)
    end
end)

我尝试解锁徽章授予者,但没有成功。

我也尝试过常规测试,但也不起作用

lua roblox
2个回答
0
投票

根据错误,听起来您没有防止

plr
为零的情况。如果
hit.Parent
不是玩家的角色模型,就会发生这种情况。

local badgeService = game:GetService("BadgeService")
local players = game:GetService("Players")
local id = 2133435079

script.Parent.Touched:Connect(function(hit)
    local plr = players:GetPlayerFromCharacter(hit.Parent)
    if plr then
        badgeService:AwardBadge(plr.UserId, id)
    end
end)

0
投票

您也可以尝试切换到本地脚本并使用它 这可能行不通,因为我不太擅长烤卢奥

local badgeservice = game:GetService("BadgeService")
local player = game.Players.LocalPlayer
local id = 123456789

    script.Parent.Baseplate.Touched:Connect(function()
        if player then
            badgeservice:AwardBadge(player.UserId, id)
        elseif not player then
            warn("This is not a player")
        end
        
    end)
© www.soinside.com 2019 - 2024. All rights reserved.