もっけBaseへようこそ!Youtubeで紹介した武器・アイテムの作り方を教えるよ。詳細は動画で見てね!
武器・アイテムってなに?
ここで言う武器・アイテムは、プレイヤーの持ち物のことだよ。
持ち物を拾うことによって、プレイヤーが持つことができるんだ。

もっけ
武器・アイテムの作り方をここでは紹介していくよ!
ツールを使う
WorkspaceにToolを追加します。







もっけ
Toolはアイテムとして使えるよ
剣を作る
ToolにPartとScriptを追加しよう。
Partは、Handleに名前を変えています。Scriptは、swordScriptに名前を変えています。







もっけ
Partは、アイテムの形状(剣とか棒)になるよ
Scriptは、プレイヤーがアイテムに触れた時にダメージを与えるようにしてるよ
local tool = script.Parent
local function onTouch(partOther)
-- 武器に触れたのが人かどうかを確認する
local humanOther = partOther.Parent:FindFirstChild("Humanoid")
-- 人でない場合(NPCとか)は、returnで処理を終える
if not humanOther then return end
-- 武器を持った人にダメージを与えないため、returnで処理を終える
if humanOther.Parent == tool.Parent then return end
-- ダメージを与える
humanOther:TakeDamage(5)
end
-- 攻撃
local function slash()
local str = Instance.new("StringValue")
str.Name = "toolanim"
str.Value = "Slash"
str.Parent = tool
end
-- 武器を持っている状態で左クリックした場合は、slash関数を呼び出す
tool.Activated:Connect(slash)
-- 武器に当たった場合は、onTouch関数を呼び出す
tool.Handle.Touched:Connect(onTouch)
爆発系の武器を作る
ToolにPartとLocalScriptを追加しよう。
Partは、Handleに名前を変えています。Scriptは、explotionLocalScriptに名前を変えています。







もっけ
Partは、アイテムの形状になるよ
Scriptは、マウスでクリックした場所を爆発するようにしてるよ
local tool = script.Parent
-- プレイヤーの情報を取得する
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
-- マウスの情報を取得する
local mouse = localPlayer:GetMouse()
local function explode(point)
-- 爆発の効果
local e = Instance.new("Explosion")
-- 爆発で破壊しないようにする
e.DestroyJointRadiusPercent = 0
-- 引数で渡された位置を指定する
e.Position = point
e.Parent = workspace
end
local function onActivated()
-- マウスでクリックした位置を渡す
explode(mouse.Hit.p)
-- tool:Destroy()
end
-- 武器を持っている状態で左クリックした場合は、onActivated関数を呼び出す
tool.Activated:Connect(onActivated)


サラ
ここまで!おつー



コメント