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

TeamOnlyClick
目次

完成動画

スポーンした時には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に属していないとクリックできないドアができる。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次