Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何修复这个roblox lua脚本中的多人游戏?_Lua_Scripting_Roblox - Fatal编程技术网

我如何修复这个roblox lua脚本中的多人游戏?

我如何修复这个roblox lua脚本中的多人游戏?,lua,scripting,roblox,Lua,Scripting,Roblox,我的剧本只传送工具给一个玩家。 即使我把I=1改成一个更高的数字,它也只会用那么多的人来启动小游戏,并做与I=1相同的事情。我在网上查过它,我问过我认识的其他开发者,他们无法修复它,所以我问你们。 请试着帮我 为true时执行 等等(5) 局部m=数学随机(1,6) 局部g=数学随机(1,4) 本地玩家=游戏。玩家:GetChildren() 对于i=1,#玩家可以 msg=Instance.new(“消息”) msg.Parent=nil --迷你游戏1 msg.Parent=game.Wor

我的剧本只传送工具给一个玩家。 即使我把
I=1
改成一个更高的数字,它也只会用那么多的人来启动小游戏,并做与
I=1
相同的事情。我在网上查过它,我问过我认识的其他开发者,他们无法修复它,所以我问你们。 请试着帮我

为true时执行
等等(5)
局部m=数学随机(1,6)
局部g=数学随机(1,4)
本地玩家=游戏。玩家:GetChildren()
对于i=1,#玩家可以
msg=Instance.new(“消息”)
msg.Parent=nil
--迷你游戏1
msg.Parent=game.Workspace
msg.Text=“选择地图。”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“选择地图。”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“选择地图。”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“选择地图…”
等待(0.5)
msg.Text=“地图编号…”m。。"!!!" 
等等(3)
msg.Text=game.Lighting.Minigames[“Minigame”.m].MapName.Value
等等(3)
msg.Text=game.Lighting.Minigames[“Minigame”.m].Description.Value
等等(3)
game.Lighting.Minigames[“Minigame”.m]:clone().Parent=game.Workspace
等等(3)
玩家[i]。角色:移动到(向量3.新(-24.19,1,-14.69))
msg.Text=“选择小游戏。”
等待(0.5)
msg.Text=“选择小游戏..”
等待(0.5)
msg.Text=“选择小游戏…”
等待(0.5)
msg.Text=“选择小游戏。”
等待(0.5)
msg.Text=“选择小游戏..”
等待(0.5)
msg.Text=“选择小游戏…”
等待(0.5)
msg.Text=“选择小游戏。”
等待(0.5)
msg.Text=“选择小游戏..”
等待(0.5)
msg.Text=“选择小游戏…”
等待(0.5)
msg.Text=game.Lighting.Minigames[“Minigame”.m][“Mode”.g]。值
等待(2)
msg.Text=game.Lighting.Minigames[“Minigame”.m][“ModeDescription”.g].值
等等(5)
msg:remove()
game.Lighting.Minigames[“Minigame”.m][“Tool”.g]:Clone().Parent=
玩家[i]。背包
等等(60)
msg.Parent=game.Workspace
msg.Text=“游戏结束”
等等(3)
玩家[i]。角色:移动到(矢量3.新(-168.742148.7,-26.169))
msg:remove()
game.Workspace[“迷你游戏”.m]:Destroy()
如果玩家[i]。背包:FindFirstChild(“工具1”)或
玩家[i]。背包:FindFirstChild(“工具2”)或
玩家[i]。背包:FindFirstChild(“工具3”)或
玩家[i]。背包:FindFirstChild(“工具4”),然后
玩家[i]。背包。工具1:移除()
玩家[i]。背包。工具2:移除()
玩家[i]。背包。工具3:移除()
玩家[i]。背包。工具4:移除()
结束
如果玩家[i]。角色:FindFirstChild(“工具”。.g),那么
玩家[i]。角色。工具1:销毁()
玩家[i]。角色。工具2:销毁()
玩家[i]。角色。工具3:销毁()
玩家[i]。角色。工具4:销毁()
结束
结束
结束

这个脚本有很多问题,但我只想关注那些能立即帮助您解决问题的问题-如果您想清理代码,请访问

localplayer=game.Players:GetChildren()
--代码在这里
对于i=1,#玩家可以
玩家[i]。角色:移动到(向量3.新(-24.19,1,-14.69))
game.Lighting.Minigames[“Minigame”.m][“Tool”.g]:Clone().Parent=
玩家[i]。背包
结束
--这里会有更多的代码
对于i=1,#玩家可以
玩家[i]。角色:移动到(矢量3.新(-168.742148.7,-26.169))
如果玩家[i]。背包:FindFirstChild(“工具1”)或
玩家[i]。背包:FindFirstChild(“工具2”)或
玩家[i]。背包:FindFirstChild(“工具3”)或
玩家[i]。背包:FindFirstChild(“工具4”),然后
玩家[i]。背包。工具1:移除()
玩家[i]。背包。工具2:移除()
玩家[i]。背包。工具3:移除()
玩家[i]。背包。工具4:移除()
结束
如果玩家[i]。角色:FindFirstChild(“工具”。.g),那么
玩家[i]。角色。工具1:销毁()
玩家[i]。角色。工具2:销毁()
玩家[i]。角色。工具3:销毁()
玩家[i]。角色。工具4:销毁()
结束
结束
这是循环的
中应该包含的唯一内容。其余的应该只运行一次,因此,不应该在for循环中-因此,我在代码的其余部分应该运行的地方添加了注释(为了节省空间),只留下应该循环的内容

您的问题是,您正在为每个玩家分别运行所有消息和
wait
命令。根据游戏中玩家的数量,您可能会有多个循环,但没有一个循环会同时运行,因此您需要检查玩家1、玩家2、玩家3的整个脚本。由于您的游戏似乎只有持续60秒的回合,这意味着玩家1获得一轮的工具,然后玩家2获得一轮的工具,然后玩家3获得一轮的工具,等等


如果你像我上面所说的那样将所有这些从循环中移出,只留下移动玩家并销毁他们工具的部分(但不添加它们?似乎缺少代码),代码应该可以正常工作。

那么当你的列表中有10个玩家,并且从I=5开始时,你仍然有10个玩家?“数量”是多少?我很困惑你等了整整一分半的时间循环才到达第二个玩家,我猜?是的,你仍然会有10个玩家,数量是游戏开始所需的玩家数量,是的,请更具体地说明a)应该发生什么,b)实际发生了什么:)我忍不住认为你只是把整个循环搞错了;你真的想一次为一个玩家从头到尾运行整个脚本吗?我很困惑,我没有太多的编码知识,我不明白你的意思,请尝试让我更容易理解…很抱歉,你现在正在循环这个