見出し画像

特定の服を着ている人だけを通す扉を作る RobloxStudio

こんにちは!けつべつです。
みなさんはゲーム内で会員制クラブを作りたいと思ったことはありませんか?
自分はありません!
ありませんが、特定の服を着ている人しか通さない会員クラブの扉を作ってみようと思います!

参考にした動画 : https://www.youtube.com/watch?v=akQIEZzqrgw



用意するもの

・定番のTシャツ
定番のシャツ・定番のズボンでも大丈夫ですが、ここでは定番のTシャツを使って書いたスクリプトにします。

・扉
硬そうなとびらにしよう



シャツのIDを見つける

まず、ブラウザかアプリで自分のアバターに登録したいtシャツを着せて、ロブロックススタジオでプレイボタンを押して、テストプレイの状態にします。
それからエクスプローラーの中にいる自分のアバターを探します。
そして自分の中にあるShirt Graphicを見つけ、プロパティーの中のGraphicに書いてあるIDをコピーします。



とびらの中のスクリプト

function ontouch(hit)

	local Player = hit.parent:findFirstChild("Humanoid") -- Humanoid(プレイヤー)に触ったことを感知する
	local texture = "http://www.roblox.com/asset/?id=7160388370" --登録するシャツのグラフィック
	
	if Player then
		local Shirt = Player.parent["Shirt Graphic"].Graphic --Graphicは定番のシャツならShirtTemplate、定番のズボンならPantsTemplateになります
		
	if Shirt and Shirt == texture then --扉にぶつかった人が着ているシャツのグラフィックが登録しているものと一緒の場合
		script.Parent.Transparency = 0.4 --扉が半透明になって
		script.Parent.CanCollide = false --通り抜けられるようになって
		script.Parent.CanTouch = false --扉に触ることができなくなる
		wait(1)
		script.Parent.Transparency = 0
		script.Parent.CanCollide = true
		script.Parent.CanTouch = true --とびらを元の状態に戻す
		wait(1)

	else --違う場合
		script.Parent.CanTouch = false --扉はそのままで一瞬だけ触れなくなる
		wait(1)
		script.Parent.CanTouch = true --元に戻す
		wait(1)
		end
		end

end
script.Parent.Touched:Connect(ontouch)

textureの数字の部分を登録したい服のIDにかきかえます。
一瞬扉のCanTouchをオフにすることで、スクリプトが連続して動かないようになります。
local Shirtの"Shirt Graphic"のところは登録したいアイテムに合わせて変えてください。
ちなみに定番のシャツならShirtTemplate、定番のズボンPantsTemplateになります。


テスト

登録したTシャツを着ずに扉にぶつかると…

通れませんが
登録したTシャツを着てぶつかると服がカギになって…


通り抜けられるようになりました!やった〜〜〜

スクリプトを書き換えれば逆に登録した服を着た人を通れなくしたり、特定のアクセサリや他のアイテムを身につけた人のみを入れたりすることができるはずです。

事前にTシャツを販売してファンミーティングの会場の入り口にこの扉を使えば、ファンとそうでない人を簡単に仕分けられて便利かも?

(ここに書かれたスクリプトをそのまま実行すると、鍵になるTシャツを着ている人が扉に触れ続けている間に扉が開き続け、Tシャツを着ていない人が通れることがあります。注意してください!!)

よければ作ってみてください。

〜おしまい〜



(2023年12月5日:書かれていたスクリプトを実行するとエラーが出まくっていたので修正しました!)