【问题标题】:Pairs loop not running roblox配对循环不运行 roblox
【发布时间】:2023-02-24 22:53:26
【问题描述】:

所以,我试图在 roblox 中制作一个怪物。但是出了点问题,但后来我进行了一些调试,并意识到我为循环脚本中的每个播放器所做的配对没有运行。 这是我的代码:

local dummy = script.Parent
local hrp = dummy.PrimaryPart
local sight = 30
local run = game:GetService("RunService")
local playerss = game:GetService("Players")
local players = playerss:GetChildren()
print("run")

run.Heartbeat:Connect(function()
    print("in loop")
        for _,player in pairs(players) do
        local phrp = player.PrimaryPart
        local dist = (hrp.Position - phrp.Position).Magnitude
        print("on it")
        if dist < sight then
            print(phrp.Postion)
            dummy.Humanoid.WalkToPoint = phrp.Position
            dummy.Humanoid:MoveTo(phrp.Position)
        end
    end
end)

我尝试寻找论坛,但没有任何效果。

【问题讨论】:

    标签: lua roblox


    【解决方案1】:

    你有时间问题。当怪物首次加载到工作区时,脚本首先运行。所以,它获取所有服务,它获取列表当前的播放器,它连接到心跳信号。

    问题是,您永远不会获取更新的玩家列表。所以它循环遍历脚本首次运行时在场的玩家列表。而且很可能在场的玩家数量为零。

    因此,要解决您的问题,请在心跳连接内移动 local players = playerss:GetChildren() 行。

    【讨论】:

      猜你喜欢
      • 2019-03-17
      • 2019-03-05
      • 2021-09-28
      • 1970-01-01
      • 2016-10-30
      • 2016-10-21
      • 2012-12-07
      • 2020-12-18
      • 2020-08-01
      相关资源
      最近更新 更多