🐈

【Roblox】配置したNPCがランダムにプレイヤーを選別して追従してくる実装

2024/08/21に公開

はじめに

今回は、配置した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が呼ばれるのを防ぐことができます。

実行

https://youtu.be/S9dnvBigNW8

Landelテックブログ

Discussion