見出し画像

敵の頭をでっかくして倒す武器を作る RobloxStudio

こんにちは!

スクリーンショット 2022-03-16 10.09.55

けつべつです。

ずっと前から面白い道具を作ってみたいなーと思っていたので、

ユニークな武器を試しにひとつ作ってみました。

その名も……

「敵の頭をでっかくして倒す武器」

です!!

(ただしR6のアバターにしか効きません)

参考にしたサイト : https://roblox-jp.com/programming/e18/

https://developer.roblox.com/en-us/api-reference/class/Explosion



武器とその中身

スクリーンショット 2022-03-18 18.57.12

さすまたの先に新しくPartをつけて、透明でぶつからない(CanCollideをオフ)設定にします。

このままだと地面をすり抜けて落っこちてしまうのでWeldでPartとさすまたをくっつけよう。

このPartにスクリプトを入れて、HumanoidがPartに触れたらスクリプトが起動するようにします。つまり当たり判定です。


local function onTouch(hit)
	local Character = hit.Parent
	local Humanoid = Character:FindFirstChild("Humanoid")
	if Humanoid then --もし人に触れたら

		Humanoid.parent["Body Colors"].HeadColor = BrickColor.new("Pastel Blue") --相手の顔色が変わる
		Humanoid.parent.Head.Mesh.Scale = Vector3.new(5, 5, 5) --相手の顔の大きさが変わる
		wait(2)
		Humanoid.Health = 0 --相手は死ぬ
	end
end
script.Parent.Touched:Connect(onTouch)​

相手を突くと、顔の大きさと色が変わって2秒後に死ぬと書きました。


テストした様子です

スクリーンショット 2022-03-18 19.00.28

さすまたで相手を突くと顔色が変わって……


スクリーンショット 2022-03-18 19.00.14

倒せました。いえーい!!

でもなんだか攻撃が地味なので相手を四散させようと思います。


local function onTouch(hit)
	local Character = hit.Parent
	local Humanoid = Character:FindFirstChild("Humanoid")
	local exp = Instance.new("Explosion")
	if Humanoid then

		Humanoid.parent["Body Colors"].HeadColor = BrickColor.new("Pastel Blue")
		Humanoid.parent.Head.Mesh.Scale = Vector3.new(5, 5, 5)
		wait(2)
		Humanoid.Health = 0
		exp.Position = Humanoid.parent.Torso.Position --爆発する場所は相手の胴体
		exp.Parent = game.Workspace
		exp.ExplosionType = Enum.ExplosionType.NoCraters --周りの地形を壊さない
		exp.Visible = false --爆発は見えない
		exp.DestroyJointRadiusPercent = 0 --爆発に巻き込まれても死なない
		exp.BlastRadius = 0.8 --爆発の威力
	end
end

script.Parent.Touched:Connect(onTouch)

相手を突いた2秒後に胴体が爆発して死ぬように書いてみました!


スクリーンショット 2022-03-18 20.19.17

体がはじけて結構遠いところまでふっ飛んで行きました。成功です!

BlastRadiusの数字を大きくしてDestroyJointRadiusPercentを1にすると、周りにいる人にもダメージを与えることができます。

本当はdebounce(クールタイム)をつけたかったのですが、つけるといい感じに体が吹っ飛ばなかったので書きませんでした。



みなさんも面白いアイデアがあればいろいろ作ってみてください!!

〜おしまい〜

この記事が参加している募集