しつこいパーツを作ります。最も近くにいるプレーヤーに寄ってきます。パーツのタッチイベントでプレイヤーにダメージを与えることで簡易的なモンスターになります。
- パーツを1つ追加位します。
- パーツの中にScript を追加し、以下のプログラムを入力します。
local Players = game:GetService("Players")
local attractionPart = script.Parent
local attractionForce = 50 -- プレイヤーに近寄る速度
local updateInterval = 0.5 -- 近寄った後の待ち時間
-- 最も近くにいるプレイヤーを探す
local function findPlayer()
local closestPlayer = nil
local closestDistance = math.huge
local players = Players:GetPlayers()
for _, player in ipairs(players) do
local character = player.Character
if character then
local distance = (attractionPart.Position - character.PrimaryPart.Position).magnitude
if distance < closestDistance then
closestDistance = distance
closestPlayer = player
end
end
end
return closestPlayer
end
local function attackPlayer(player)
local character = player.Character
if character then
local direction = (character.PrimaryPart.Position - attractionPart.Position).unit
attractionPart.Velocity = direction * attractionForce
end
end
while true do
local player = findPlayer()
if player then
attackPlayer(player)
end
wait(updateInterval)
end
近くのプレイヤーから退いて行くパーツを作りたいです。どうしたらいいですか?
下記ページに投稿しましたので参考にしてください。
https://roblox-jp.com/technology/part-escape/