脚本不工作
我对脚本非常陌生,我只是在ROBLOX工作室里瞎搞,我做了一个脚本,打算把一个项目存储在ReplicatedStorage到一个特定的玩家StarterPack中,但无论我怎么改变它都不想工作。有人能解释一下原因吗?
local playerName = "plr name"
local toolName = "tool name"
game.Players.PlayerAdded:Connect(function(player)
if player.Name == playerName then
local tool = game.ReplicatedStorage:FindFirstChild(toolName)
player.StarterPack:AddItem(tool)
end
end)
您正在使用的:AddItem()函数不起作用。你必须首先克隆工具并将其添加到玩家库存中。
如果您有问题,请查看StarterPack上的文档:https://create.roblox.com/docs/reference/engine/classes/StarterPack
试试这个:
local playerName = "plr name"
local toolName = "tool name"
local tool = game.ReplicatedStorage:FindFirstChild(toolName)
game.Players.PlayerAdded:Connect(function(player)
if player.Name == playerName then
local newTool = tool:Clone()
newTool.Parent = player.Backpack
end)
end`
StarterPack是用来确定一组工具,所有的玩家将产生。如果开发者想要确保特定玩家可以使用某些工具,那么他们就需要将这些工具直接添加到玩家的背包中。
你的代码大部分都很好,但是你没有关闭你的PlayerAdded函数,并且StarterPack没有AddItem函数。
如果您有问题,您可以随时检查StarterPack的文档。我认为你会遇到的一个问题是,将一个工具放入StarterPack会将其提供给所有玩家,而不仅仅是匹配名称的玩家。
StarterPack用于确定所有玩家将生成的一组工具。如果开发者想要确保特定玩家可以使用某些工具,那么他们就需要将这些工具直接添加到玩家的背包中。
所以让我们将工具克隆到玩家的背包中。但是由于每次玩家重生时背包都会被清除,所以让我们将这段代码移动到CharacterAdded事件中,这样每当角色加载到Workspace时它就会触发。
local playerName = "plr name"
local toolName = "tool name"
local tool = game.ReplicatedStorage:FindFirstChild(toolName)
game.Players.PlayerAdded:Connect(function(player)
if player.Name == playerName then
player.CharacterAdded:Connect(function()
local newTool = tool:Clone()
newTool.Parent = player.Backpack
end)
end
end)