Teamメンバーしかクリックできないパーツの作り方

目次
完成動画
スポーンした時にはRedTeam、BlueTeamどちらのチームでもないので、赤・青の扉のどちらもクリックしても何も起きない。
赤いスポーンロケーションに触れてRedTeamになった場合、赤の扉をクリックしたら開く。青の扉はクリックしても何も起きない。
次に青いスポーンロケーションに触れてBlueTeamになった場合、青の扉をクリックしたら開く。赤の扉はクリックしても何も起きない。
このように、Teamに属していないとクリック動作を受け付けない方法を教えます。
作成方法
Team設定の方法は、下記の以前の記事を参考にしてください。

ここでは「ツールボックス」から「VIP-Room」をインポートして、元々あったScriptを削除した。
そして、Doorの色を赤に変えて、子要素にClockDetectorとParticleEmitter、Scriptを追加。
Scriptには以下のコードを入力する。
local part = script.Parent
local clickDetector = part:FindFirstChild("ClickDetector")
local particle = part:FindFirstChild("ParticleEmitter")
local allowedTeamName = "Red Team" -- このパーツはRedチーム専用
clickDetector.MouseClick:Connect(function(player)
if player.Team and player.Team.Name == allowedTeamName then
particle.Enabled = true --パーティクルを有効にする
script.Parent.CanCollide = false --当たり判定を無効にする
script.Parent.Transparency = 1 --透明度100%にする
task.delay(5, function()
particle.Enabled = false --パーティクルを無効にする
script.Parent.CanCollide = true --当たり判定を有効にする
script.Parent.Transparency = 0 --透明度0%にする
end)
end
end)
同様にBlueTeam用のVIP-Roomも作成し、Scriptは以下のコードを入力する。
local part = script.Parent
local clickDetector = part:FindFirstChild("ClickDetector")
local particle = part:FindFirstChild("ParticleEmitter")
local allowedTeamName = "Blue Team" -- このパーツはBlueチーム専用
clickDetector.MouseClick:Connect(function(player)
if player.Team and player.Team.Name == allowedTeamName then
particle.Enabled = true --パーティクルを有効にする
script.Parent.CanCollide = false --当たり判定を無効にする
script.Parent.Transparency = 1 --透明度100%にする
task.delay(5, function()
particle.Enabled = false --パーティクルを無効にする
script.Parent.CanCollide = true --当たり判定を有効にする
script.Parent.Transparency = 0 --透明度0%にする
end)
end
end)
これでゲームを開始すれば、動画のように、Teamに属していないとクリックできないドアができる。
コメント