敵の頭をでっかくして倒す武器を作る RobloxStudio
こんにちは!
けつべつです。
ずっと前から面白い道具を作ってみたいなーと思っていたので、
ユニークな武器を試しにひとつ作ってみました。
その名も……
「敵の頭をでっかくして倒す武器」
です!!
(ただしR6のアバターにしか効きません)
参考にしたサイト : https://roblox-jp.com/programming/e18/
https://developer.roblox.com/en-us/api-reference/class/Explosion
武器とその中身
さすまたの先に新しく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秒後に死ぬと書きました。
テストした様子です
さすまたで相手を突くと顔色が変わって……
倒せました。いえーい!!
でもなんだか攻撃が地味なので相手を四散させようと思います。
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秒後に胴体が爆発して死ぬように書いてみました!
体がはじけて結構遠いところまでふっ飛んで行きました。成功です!
BlastRadiusの数字を大きくしてDestroyJointRadiusPercentを1にすると、周りにいる人にもダメージを与えることができます。
本当はdebounce(クールタイム)をつけたかったのですが、つけるといい感じに体が吹っ飛ばなかったので書きませんでした。
みなさんも面白いアイデアがあればいろいろ作ってみてください!!
〜おしまい〜