lua (Roblox) - 需要帮助将工具克隆到玩家背包中
lua (Roblox) - Help needed with cloning a tool into the players backpack
所以我正在用一家商店制作游戏,我遇到的问题是我在 ReplicatedStorage 中有一个工具,所以我可以在玩家购买该工具时将其克隆到玩家背包中。问题是无论我把工具放在哪里,它都会消失。我已经尝试过 ServerStorage、ReplicatedStorage、Workspace 和脚本内部,但每次我测试游戏时,它都会从我放置它的任何地方删除它。我将把我的脚本放在下面,但我不知道它是否已损坏,我无法对其进行测试,因为该工具已从我放置它的任何地方删除。这是我在 StarterGUI 的 TextButton 中的 LocalScript 中的代码。
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
local tool = script.Tool:Clone()
tool.Parent = player.Backpack
print("player recieved tool")
end)
并且由工作区中某个部分的脚本中的 Touched 事件触发。
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
print(hit.Parent)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
game.ReplicatedStorage.Shop:Fire(player)
end
end)
所以,这些可能有用,但我只需要实际工具消失方面的帮助。任何帮助表示赞赏! (如果你想要图片或视频我可以录下来发一个link)
看来问题可能出在服务器不知道您收到了物品,因为这一切都是在本地完成的。尝试使用 RemoteEvent 之类的东西。
本地:
local player = game.Players.LocalPlayer
local RemoteEvent = game.ReplicatedStorage.RemoteEvent
script.Parent.MouseButton1Click:Connect(function()
RemoteEvent:FireServer()
end)
您需要将 RemoteEvent 添加到 ReplicatedStorage。
服务器端:
local RemoteEvent = game.ReplicatedStorage.RemoteEvent
local ToolPrefab = --add the directory of the weapon here
RemoteEvent.OnServerEvent:Connect(function(plr)
local ToolClone = ToolPrefab:Clone()
ToolClone.Parent = plr.Back
end)
所以我正在用一家商店制作游戏,我遇到的问题是我在 ReplicatedStorage 中有一个工具,所以我可以在玩家购买该工具时将其克隆到玩家背包中。问题是无论我把工具放在哪里,它都会消失。我已经尝试过 ServerStorage、ReplicatedStorage、Workspace 和脚本内部,但每次我测试游戏时,它都会从我放置它的任何地方删除它。我将把我的脚本放在下面,但我不知道它是否已损坏,我无法对其进行测试,因为该工具已从我放置它的任何地方删除。这是我在 StarterGUI 的 TextButton 中的 LocalScript 中的代码。
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
local tool = script.Tool:Clone()
tool.Parent = player.Backpack
print("player recieved tool")
end)
并且由工作区中某个部分的脚本中的 Touched 事件触发。
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
print(hit.Parent)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
game.ReplicatedStorage.Shop:Fire(player)
end
end)
所以,这些可能有用,但我只需要实际工具消失方面的帮助。任何帮助表示赞赏! (如果你想要图片或视频我可以录下来发一个link)
看来问题可能出在服务器不知道您收到了物品,因为这一切都是在本地完成的。尝试使用 RemoteEvent 之类的东西。
本地:
local player = game.Players.LocalPlayer
local RemoteEvent = game.ReplicatedStorage.RemoteEvent
script.Parent.MouseButton1Click:Connect(function()
RemoteEvent:FireServer()
end)
您需要将 RemoteEvent 添加到 ReplicatedStorage。 服务器端:
local RemoteEvent = game.ReplicatedStorage.RemoteEvent
local ToolPrefab = --add the directory of the weapon here
RemoteEvent.OnServerEvent:Connect(function(plr)
local ToolClone = ToolPrefab:Clone()
ToolClone.Parent = plr.Back
end)