通过脚本将工具添加到玩家背包中

我正在尝试制作一款农场游戏,并在游戏中制作一个商店。当我点击商店按钮时,会出现一个购买工具的窗口,但是当我点击工具时,它并不会移动到我的背包中。

这是我购买物品的代码:

game.ReplicatedStorage.ToolEvent.LampEvent.OnServerEvent:Connect(function(player)
    if player.leaderstats.cash.Value >= 100 then
        player.leaderstats.cash.Value = player.leaderstats.cash.Value - 100
        local clone = game.ServerStorage.Tools.Lamp:Clone()
        clone.parent = player.StarterGear
        end
end)

game.ReplicatedStorage.ToolEvent.PickaxeEvent.OnServerEvent:Connect(function(player)
    if player.leaderstats.cash.Value >= 150 then
        player.leaderstats.cash.Value = player.leaderstats.cash.Value - 150
        local clone = game.ServerStorage.Tools.Pickaxe:Clone()
        clone.parent = player.StarterGear
    end
end)
点赞
用户2858170
用户2858170

首先是 Instance.Parent 而不是 Instance.parent

我不是 Roblox 专家。 我猜测设置 Parent 属性将在父实例中创建一个引用,这样一旦本地的 clone 超出范围,就不会被垃圾回收。

因此,修复拼写错误可能会解决问题。

2021-04-20 13:27:17
用户15107943
用户15107943

clone.parent中,parent需要用大写字母:clone.Parent,推荐使用内置函数来获取服务:game:GetService('ReplicatedStorage')game:GetService('ServerStorage')

2021-04-20 13:39:11
用户15250066
用户15250066

你应该将克隆的物品移动到玩家的背包,而不是 StarterGear,因为背包是存放工具的地方供玩家与之交互。所以,不要使用 clone.parent = player.StarterGear,而是要使用 clone.Parent = player.Backpack

2021-04-20 22:48:05
用户20422121
用户20422121

在你的脚本的第5行,你将工具克隆到了 startergear 中。但应该是玩家的背包。试试这个。

clone.Parent = player.BackPack
2022-11-05 02:49:49