🐈
【Roblox】配置したNPCがランダムにプレイヤーを選別して追従してくる実装
はじめに
今回は、配置したNPCがランダムにプレイヤーを選んで追従する実装について解説します。
実装
オブジェクトの配置
コード
local Players = game:GetService("Players")
local rig = script.Parent
local humanoid = rig.Humanoid
function Interval()
while humanoid.Health > 0 do
wait(1.0)
Behaviour()
end
end
function Behaviour()
local randomPlayer = Players:GetPlayers()[math.random(0, #Players:GetPlayers())]
if randomPlayer then
local target = randomPlayer.Character.HumanoidRootPart
humanoid:MoveTo(target.Position)
humanoid.MoveToFinished:Wait()
else
print("No players found.")
end
end
Interval()
コードの解説
Humanoidを取得してきてターゲットの位置までMoveTo
というメソッドを実行する感じになります。MoveToFinished
も実装することで指定した場所に行くまでその部分で処理が止まるので重複してMoveToが呼ばれるのを防ぐことができます。
実行
Discussion