我正在尝试做一个游戏,让你得到徽章,而不必为他们工作。但这正在发生:它给了我一个错误。该错误与条件位于同一行。下面是文件的链接(请不要上传到roblox):https://www.mediafire.com/file/yyw8xui9yb4bft0/Place+for+badges.rbxl/file
我希望一切顺利,因为LocalScript。我不知道发生了什么我检查了我的代码,它似乎完美无瑕。有问题的对象是game.StarterGui.ScreenGui.Frame.TextButton.Script
现在,我将展示这些东西:在文本按钮中,有3个相关对象:一个脚本、一个本地脚本和一个数字值。本地脚本的代码为:
local plr = game.Players.LocalPlayer.UserId
script.Parent.Value.Value = plr
现在,脚本:
local player = script.Parent.Value.Value
local badgeservice = game:GetService("BadgeService")
local warning = false
script.Parent.MouseButton1Click:Connect(function()
if not warning then
warning = true
if badgeservice:UserHasBadgeAsync(player, script.Parent.Parent.TextBox.Text) then
badgeservice:AwardBadge(player, script.Parent.Parent.TextBox.Text)
else
script.Parent.Parent.TextLabel.Text = "You already have that badge!"
wait(3)
script.Parent.Parent.TextLabel.Text = "Enter badge ID and then press GIVE to get the badge with the corresponding ID"
end
warning = false
end
end)
我一直得到一个错误:Unable to cast string to int64
1条答案
按热度按时间xjreopfe1#
如果我理解你的目标正确,你试图获得游戏徽章,即使你不拥有的游戏。不幸的是,这是不可能的。根据BadgeService:AwardBadge的文档:
AwardBadge根据玩家的UserId和徽章ID赠款玩家徽章。要成功授予徽章,必须满足以下条件:
由于您不是目标徽章的所有者,并且此游戏与它们没有关联,因此您不能授予它们。