lua - 为什么它不能从我的背包中取出我的物品
问题描述
我要切入正题。每当此脚本执行时:
local hotkey = Enum.KeyCode.P
local plr = game.Players.LocalPlayer
local char = plr.Character
local backpackItems = plr.Backpack:GetChildren()
local UIS = game:GetService("UserInputService")
local open = false
UIS.InputBegan:Connect(function(key, gp)
if key.KeyCode == hotkey then
char.UpperTorso.CFrame = CFrame.new(132.109, -84.7, 22.002)
local takenItemsStorageFolder = Instance.new("Folder")
takenItemsStorageFolder.Parent = game.ReplicatedStorage
takenItemsStorageFolder.Name = "Removed Items From ".. plr.Name
backpackItems.Parent = takenItemsStorageFolder
end
end)
它会将您的玩家传送到地图上的某个位置,但涉及变量“ packetItems ”和“ takenItemsStorageFolder ”的行试图移除玩家背包中的工具/物品。但脚本不会在执行时完成此操作。
其他一些信息:
此脚本位于ScreenGui中的TextLabel 内。(如有要求,请提供更多信息)
解决方案
我在这里看到两个问题:
首次执行脚本时,您正在创建一个包含背包物品的表格。稍后当按下“P”按钮时,您希望将这些对象移动到takenItemsStorageFolder。但此时 Backpack 文件夹中可能有不同的项目。
您正在尝试将backpackItems 表作为takenItemsStorageFolder 对象的父级,但这不适用于表。相反,您必须遍历实际对象(Backpack 的子对象)并将每个对象作为父对象。
所以作为一个解决方案,而不是
backpackItems.Parent = takenItemsStorageFolder
我建议你这样做:
for i,v in pairs(plr.Backpack:GetChildren()) do
v.Parent = takenItemsStorageFolder
end
推荐阅读
- javascript - 无法读取未定义的属性 '$options' 为头选项制作外部 js 文件
- c++ - 如何打印出不同类型的地图
- arrays - 将值传递给子程序的数组元素
- python - Pandas:将两列值与嵌套字典进行比较
- video - FFMpeg:在保持纵横比的同时以最大宽度和高度缩小视频
- angular - Angular 11- 但数据 ['id'] 在本节中带有红色下划线。我怎样才能做到这一点?
- webpack - Webpack:如何在生产中禁用最小化器
- c# - 我将如何从文本文件中读取信息并根据该信息更改复选框状态?
- c# - 尝试更新列表并覆盖所有以前的值,而不是使用任何类型的循环
- android - 寻找持久化用户数据的方法