【发布时间】:2021-06-30 02:09:19
【问题描述】:
我正在尝试(我是新人)制作一款你必须用船互相攻击的游戏。每个岛上都有一个按钮,当你按下它时,应该会出现一艘船。 (到目前为止有效) 但是,一旦您想生成一艘新船,它就会删除每个人的船。我认为使用 player.id 是有意义的,但这仍然行不通。有谁知道解决办法吗?
您将在下面找到隐藏在某个部分中的代码。
谢谢!
代码:
local cd = script.Parent.ClickDetector
local boat = script.Parent.Parent.Firstboat
local button = script.Parent
local debounce = false
game.Players.PlayerAdded:Connect(function(player)
print(player.UserId)
local plruserid = player.UserId
print(player.Name)
boat.Parent = game.ServerStorage
cd.MouseHoverEnter:Connect(function()
button.Transparency = 0.5
end)
cd.MouseHoverLeave:Connect(function()
button.Transparency = 0
end)
cd.MouseClick:Connect(function()
local SetNameToBoat = plruserid
print (SetNameToBoat)
local oldboat = workspace:FindFirstChild(SetNameToBoat)
if not debounce then
if oldboat then
oldboat : destroy()
end
debounce = true
local NewBoat = boat:clone()
NewBoat.Name = (SetNameToBoat)
NewBoat.Parent = game.Workspace
wait(5)
debounce = false
end
end)
end)
【问题讨论】:
-
plruserid 是事件方法中的一个变量,它使得一个变量没有为整个脚本初始化。将
local plruserid = null放在脚本顶部,在那里你持有local boat,然后将当前局部变量(local plruserid = player.UserId)替换为plruserid = player.UserId -
感谢您的回复!当我在脚本顶部添加 (local plruserid = null) 时,它会在文本下方显示一条红线? (没有错误或只是一条红线)或者这无关紧要吗?看来他不知道null..
-
@micegan 这并不能解决问题
标签: roblox