Tool
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
เครื่องมือเป็นวัตถุที่ Humanoid วั
เดสก์ท็อป, การกดตัวอักษรเลข (เช่น 1, 2, 3...) จ
อุปกรณ์เสริมไม่ใช่วิธีเดียวในการจับการป้อนข้อมูลของผู้ใช้ คุณยังสาม
ตัวอย่างโค้ด
This code is meant to be placed in a Script within a Tool. It allows a player to spawn explosions by equipping the tool and clicking on the ground. It does so by defining a function, explode, which creates a non-deadly explosion at a given point. Then, it defines a function, onActivated, that runs when the tool is activated. Finally, it connects the Activated event of the tool to the onActivated function.
To test this code out, try creating a Tool and put a Part inside it. Name the Part "Handle". Put a Script inside the Tool next, and paste the code into it. Finally, put the Tool in the StarterPack.
local tool = script.Parent
local function explode(point)
local e = Instance.new("Explosion")
e.DestroyJointRadiusPercent = 0 -- Make the explosion non-deadly
e.Position = point
e.Parent = workspace
end
local function onActivated()
-- Get the Humanoid that Activated the tool
local human = tool.Parent.Humanoid
-- Call explode with the current point the Humanoid is targetting
explode(human.TargetPoint)
end
tool.Activated:Connect(onActivated)
This code sample is for a Tool object with a Part named Handle. It detects when Humanoids other than the current holder hit the handle, and deals some damage to them. In addition, when the Tool is activated, it triggers a slash animation in the default character animation scripts. Try out this script by creating a Tool object in the StarterPack. Put a Part inside it, and name it Handle. Paste this code into a Script inside the Tool, then try slashing at another Humanoid!
local tool = script.Parent
local function onTouch(partOther)
-- First, try to see if the part we touched was part of a Humanoid
local humanOther = partOther.Parent:FindFirstChild("Humanoid")
-- Ignore touches by non-humanoids
if not humanOther then
return
end
-- Ignore touches by the Humanoid carrying the sword
if humanOther.Parent == tool.Parent then
return
end
humanOther:TakeDamage(5)
end
-- Trigger a slash animation
local function slash()
-- Default character scripts will listen for a "toolanim" StringValue
local value = Instance.new("StringValue")
value.Name = "toolanim"
value.Value = "Slash" -- try also: Lunge
value.Parent = tool
end
tool.Activated:Connect(slash)
tool.Handle.Touched:Connect(onTouch)
สรุป
คุณสมบัติ
ควบคุมว่าผู้เล่นสามารถทิ้งเครื่องมือได้หรือไม่
เกี่ยวกับว่าเครื่องมือนี้สามารถใช้หรือไม่
เก็บรวบรวมคุณสมบัติ "grip" ของเครื่องมือเป็นหนึ่ง CFrame
ระบุค่า R02 ، R12 และ R22 ของค่าด้ามจับ 1> Datatype.CFrame1> ระบบหมุน
ค่าเครื่องมือที่ติดตั้ง
ระบุค่า R00 ، R10 และ R20 ของค่าด้ามจับ 1> Datatype.CFrame1> ระบบหมุน
ระบุค่า R01 ، R11 และ R21 ของค่าด้ามจับ 1> Datatype.CFrame1> ระบบหมุน
คุณสมบัติ ManualActivationOnly ควบคุมว่า Tool สามารถเปิดใช้งานได้โดยไม่ต้องเรียกใช้ Tool:Activate()
กำหนดว่า Tool ฟังก์ชันโดยไม่ต้องมีมือจับ
ควบคุมข้อความที่ปรากฏเมื่อเมาส์ของผู้เล่นวางบนเครื่องมือในกระเป๋าของพวกเขา
ไอคอนเนื้อหาที่ปรากฏสำหรับเครื่องมือในกระเป๋าของผู้เล่น
ตั้งค่าระดับรายละเอียดในแบบจำลองสำหรับประสบการณ์ที่มีการเปิดใช้งานการสตรีมมิ่งด้วยตัวอย่าง
ควบคุมพฤติกรรมการสตรีมโมเดลบน Models เมื่อการสตรีมเครื่องมือเปิดใช้งาน
ส่วนหลักของ Model หรือ nil ถ้าไม่ได้ตั้งค่าไว้อย่างชัดเจน
สมบัติสินค้าเฉพาะที่ใช้เพื่อปรับแต่งรุ่นรอบ ๆ แกนของมัน การตั้งค่าคุณสมบัตินี้จะย้ายความเคลื่อนไหวของเครื่องชั่งเมื่อ Model/ScaleTo ถูกเรียกบนมัน
กำหนดตำแหน่งที่โค้งของ Model ซึ่ง ไม่ มีชุด Model.PrimaryPart ตั้งอยู่
วิธีการ
วิธีการรับทอดมาจากModelตั้งค่ารุ่นนี้ให้เป็นรุ่นที่แข็งแกร่งสำหรับผู้เล่นที่กำหนด Model.ModelStreamingMode ต้องถูกตั้งไว้ให้เป็น PersistentPerPlayer เพื่อให้การเปลี่ยนแปลงพฤติกรรมเป็นผลมาจากการเพิ่ม
รวมถึงคำอธิบายของระดับที่มีทุกส่วนของแบบ
กลับขนาดของกล่องชุดที่เล็กที่สุดที่มี BaseParts ใน Model ที่ตรงกับ Model.PrimaryPart ตั้งค่า
กลับสิ่งที่เป็น Player วัตถุทั้งหมดที่วัตถุนี้มีความยืนยันสำหรับ การเรียกคืนของวิธีนี้จาก Script หรือ LocalScript ต่างกันไปตามว่าวิธีนี้เรียกได้จาก
กลับขนาดเครื่องชี้วัดที่กำหนดไว้ของแบบจำลองซึ่งเริ่มต้นด้วย 1 สำหรับแบบจำลองที่สร้างขึ้นใหม่และจะเปลี่ยนแปลงเมื่อมันถูกเคลื่อนผ่านโดย Model/ScaleTo
ย้าย PrimaryPart ไปยังตำแหน่งที่กำหนด หากไม่มีส่วนหลักได้ระบุไว้ จะใช้ส่วนหลักของแบบจำลอง
ทำให้รุ่นนี้ไม่มีอยู่ต่อไปสำหรับผู้เล่นที่กำหนด Model.ModelStreamingMode ต้องการตั้งค่าให้เป็น PersistentPerPlayer เพื่อให้พฤติกรรมเปลี่ยนแปลงเป็นผลมาจากการลบ
ตั้งค่าตัวปรับขนาดของแบบจำลองโดยปรับขนาดและตำแหน่งของบรรพบุรุษทั้งหมดให้มีตัวปรับขนาดของแบบจำลองที่สมเหตุสมผลเมื่อตัวปรับขนาดอยู่ที่ 1
เปลี่ยน Model โดยใช้การเคลื่อนที่ Vector3 ที่กำหนดไว้ เพื่อเก็บความตรงของโมเดล หาก BasePart หรือ 1> Class.Terrain1> ม
รับ pivot ของ Class.PVInstance
แปลง PVInstance พร้อมกับบรรพบุรุษทั้งหมดของมัน PVInstances เพื่อให้ pivot ตอนนี้อยู่ที่ CFrame ที่กำหนด
อีเวนต์
เกิดขึ้นเมื่อผู้เล่นคลิกขณะที่เครื่องมือติดตั้งอยู่
เกิดขึ้นเมื่อผู้เล่นปล่อยคลิกขณะที่เครื่องมือติดตั้งและเปิดใช้งาน
เปิดใช้งานเมื่อมีเครื่องมือ
เกิดขึ้นเมื่อเครื่องมือถูกถอดออก
คุณสมบัติ
CanBeDropped
สมบัติลักษณะ CanBeDropped ควบคุมว่าผู้เล่นสามารถดรอป Tool หรือไม่
ถ้าใช่เมื่อกดปุ่ม Backspace จะเป็นลูกโดยตรงของเครื่องมือไปยัง Workspace และจะถูกลบออกจากผู้เล่น Backpack หากเป็นเช่นนั้นจะไม่มีอะไรเกิดขึ้นเมื่อกดปุ่ม Backspace และเครื่อง
Enabled
สมบัติ เปิดใช้งาน ระบุว่า Tool สามารถใช้งานได้หรือไม่ สิ่งนี้มีประโยชน์หากคุณต้องการป้องกันผู้เล่นจากการใช้เครื่องมือ แต่ไม่ต้องการลบออกจาก
เมื่อตั้งค่าไว้ที่ true ผู้เล่นสามารถใช้เครื่องมือได้ เมื่อตั้งค่าไว้ที่ false เครื่
ตัวอย่างโค้ด
The code sample below creates Tool in the local player's Backpack that increases their JumpPower from 50 to 150 for 5 seconds.
This example uses the tool's Tool.Enabled property as a debounce by setting the property to true when the player jumps and back to false after the 5 second duration.
Unequipping the tool also stops the player from super jumping by changing the JumpPower back to 50.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local tool = Instance.new("Tool")
tool.Name = "SuperJump"
tool.RequiresHandle = false
tool.Parent = player.Backpack
function toolActivated()
humanoid.JumpPower = 150
tool.Enabled = false
task.wait(5)
tool.Enabled = true
humanoid.JumpPower = 50
end
tool.Activated:Connect(toolActivated)
tool.Unequipped:Connect(function()
humanoid.JumpPower = 50
end)
Grip
สมบัติข้อมูล Grip ระบุสมบัติของเครื่องมือ "grip" เป็นเครื่องมือเดียว CFrame สถานท
ตัวอย่างโค้ด
The code below insert's a Tool named Stick into the local player's Class.BackPack. When the player activates the tool, the code prints the values of the tool's grip properties.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Stick"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brown
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)
GripForward
หนึ่งในสมบัติของโครงสร้างที่ระบุตำแหน่งของเครื่องมือในมือของตัวละคร นี่คือค่า R02 ของการหมุนมังก์ R12 และ R22 ของมังก์การหมุนม
คุณสมบัติอื่น ๆ ที่ควบคุมวิธีการที่ตัวละครกรรมสิทธิ์เครื่องมือในขณะที่ใช้งานรวมถึง Tool.GripUp , Tool.GripRight และ
ตัวอย่างโค้ด
The code below insert's a Tool named Stick into the local player's Class.BackPack. When the player activates the tool, the code prints the values of the tool's grip properties.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Stick"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brown
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)
GripPos
สมบัตินี้ควบคุมความเคลื่อนไหวของแม่พิมพ์เชิงวิศวกรรมของเครื่องมือ มันเป็นหนึ่งในสามสมบัติที่ใช้ในการตำแหน่งเครื่องมือ
คุณสมบัติอื่นที่ควบคุมวิธีการที่ตัวละครกรรมครอบเครื่องมือรวมถึง Tool.GripUp , Tool.GripRight และ Tool.GripForward ทั้งหม
ตัวอย่างโค้ด
The code below insert's a Tool named Stick into the local player's Class.BackPack. When the player activates the tool, the code prints the values of the tool's grip properties.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Stick"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brown
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)
GripRight
หนึ่งในสมบัติของโครงสร้างที่ระบุตำแหน่งของเครื่องมือในมือของตัวละคร นี่คือค่า R00 ของการหมุนมังก์ R10 และ R20 ของมังก์การหมุ
คุณสมบัติอื่น ๆ ที่ควบคุมวิธีการที่ตัวละครกรรมสิทธิ์เครื่องมือในขณะนี้มี Tool.GripUp , Tool.GripForward และ Class.Tool.Grip
ตัวอย่างโค้ด
The code below insert's a Tool named Stick into the local player's Class.BackPack. When the player activates the tool, the code prints the values of the tool's grip properties.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Stick"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brown
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)
GripUp
หนึ่งในสมบัติของโครงสร้างที่ระบุตำแหน่งของเครื่องมือในมือของตัวละคร นี่คือค่า R01 ของการหมุนมังก์ R11 และ R21 ของมังก์การหมุนม
คุณสมบัติอื่น ๆ ที่ควบคุมวิธีการที่ตัวละครกรรมสิทธิ์เครื่องมือในขณะที่ใช้งานรวมถึง Tool.GripRight , Tool.GripForward และ
ตัวอย่างโค้ด
The code below insert's a Tool named Stick into the local player's Class.BackPack. When the player activates the tool, the code prints the values of the tool's grip properties.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Stick"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brown
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)
ManualActivationOnly
คุณสมบัติ ManualActivationOnly ควบคุมว่า Tool สามารถเปิดใช้งานได้โดยไม่ต้องดำเนินการโดยตรง Tool:Activate() ในสคริปต์
เมื่อตั้งค่าเป็น true เครื่องมือจะเพิ่งเปิดใช้งาน Tool.Activated เมื่อ Tool:Activate() ถูกเรียก นี่ยังเป็นการปิดการใช้งานฟังก์ชัน ContextActionService:BindActivate() ด้วย
เมื่อตั้งค่าเป็น false การคลิกเมาส์ (เมื่อเครื่องมือถูกติดตั้ง) จะยิง Tool.Activated ด้วย
ตัวอย่างโค้ด
The code sample below creates Tool in the local player's Backpack that increases their WalkSpeed from 16 to 30 for 5 seconds.
This example uses the tool's Tool.ManualActivationOnly property as a debounce by setting the property to true when the player begins sprinting and to false when the player stops sprinting. As a result, when the player is sprinting, the tool cannot be re-activated.
Unequipping the tool also stops the player from sprinting by changing the WalkSpeed to 16.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local tool = Instance.new("Tool")
tool.Name = "Sprint"
tool.RequiresHandle = false
tool.Parent = player:WaitForChild("Backpack")
function toolActivated()
humanoid.WalkSpeed = 30
tool.ManualActivationOnly = true
task.wait(5)
tool.ManualActivationOnly = false
humanoid.WalkSpeed = 16
end
tool.Activated:Connect(toolActivated)
tool.Unequipped:Connect(function()
humanoid.WalkSpeed = 16
end)
RequiresHandle
สมบัตินี้กำหนดว่า Tool ฟังก์ชันโดยไม่มีจุดหมุน
เครื่องมือมีจุดมุ่งหมายเมื่อมันมีส่วนลูกชิ้นที่มีชื่อว่า จับเอาด้วย เครื่องมือที่มีจุดมุ่งหมายต้องการให้ผู้เล่นใส่ให้พร้อมกับวัตถุเพื่อให้พวกเขาใช้งาน
เมื่อตั้งค่าไว้ที่ true เครื่องมือจะทำงานได้เฉพาะกับจุดมุ่งหมาย เมื่อตั้งค่าไว้ที่ false เครื่องมือจะทำงานได้แม้ไม่มีจุดมุ่งหมาย
ToolTip
สมบัติความรู้นี้ควบคุมข้อความที่จะปรากฏเมื่อผู้เล่นวางเมาส์ไว้บน Mouse ใน Tool ของพวกเขา
โดยทั่วไป, ค่านี้ควรอธิบายว่าเครื่องมือนี้คืออะไรหรือการใช้งานของมัน เช่น, สำหรับเครื่องมือช้อน, คุณอาจเลือกที่จุดมุ่งหมายเป็น:
tool.ToolTip = "Shovel"
หรือ
tool.ToolTip = "Use to dig"
หรือ
tool.ToolTip = "Shovel - Use to dig"
วิธีการ
Activate
ฟังก์ชันนี้จะจำลองการเปิดใช้งานของ Tool ต้องมีอุปกรณ์ติดตั้งสำหรับฟังก์ชันนี้จึงจะทำงานได้
ส่งค่ากลับ
ตัวอย่างโค้ด
The code below creates a Tool in the local player's Backpack that turns the player invisible when activated and visible when deactivated.
When equipped, the script simulates the tool being activated and turns the player invisible for 3 seconds and then simulates the tool being deactivated. Holding the left mouse button down turns the player invisible for up to 3 seconds, with a cooldown period of 1 second, or until the player releases their left mouse button.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Invisibility Tool"
tool.RequiresHandle = false
tool.Parent = player.Backpack
local invisible = false
local function toolActivated()
if invisible then
return
end
invisible = true
for _, bodypart in pairs(character:GetChildren()) do
if bodypart:IsA("MeshPart") or bodypart:IsA("Part") then
bodypart.Transparency = 1
end
end
task.wait(3)
tool:Deactivate()
task.wait(1)
invisible = false
end
local function toolDeactivated()
if not invisible then
return
end
for _, bodypart in pairs(character:GetChildren()) do
if bodypart.Name ~= "HumanoidRootPart" then
if bodypart:IsA("MeshPart") or bodypart:IsA("Part") then
bodypart.Transparency = 0
end
end
end
end
local function toolEquipped()
tool:Activate()
end
tool.Equipped:Connect(toolEquipped)
tool.Activated:Connect(toolActivated)
tool.Deactivated:Connect(toolDeactivated)
tool.Unequipped:Connect(toolDeactivated)
Deactivate
ฟังก์ชันนี้จะจำลองการปิดใช้งานของ Tool ต้องมีอุปกรณ์เพื่อให้ฟังก์ชันนี้ทำงานได้
ส่งค่ากลับ
ตัวอย่างโค้ด
The code below creates a Tool in the local player's Backpack that turns the player invisible when activated and visible when deactivated.
When equipped, the script simulates the tool being activated and turns the player invisible for 3 seconds and then simulates the tool being deactivated. Holding the left mouse button down turns the player invisible for up to 3 seconds, with a cooldown period of 1 second, or until the player releases their left mouse button.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Invisibility Tool"
tool.RequiresHandle = false
tool.Parent = player.Backpack
local invisible = false
local function toolActivated()
if invisible then
return
end
invisible = true
for _, bodypart in pairs(character:GetChildren()) do
if bodypart:IsA("MeshPart") or bodypart:IsA("Part") then
bodypart.Transparency = 1
end
end
task.wait(3)
tool:Deactivate()
task.wait(1)
invisible = false
end
local function toolDeactivated()
if not invisible then
return
end
for _, bodypart in pairs(character:GetChildren()) do
if bodypart.Name ~= "HumanoidRootPart" then
if bodypart:IsA("MeshPart") or bodypart:IsA("Part") then
bodypart.Transparency = 0
end
end
end
end
local function toolEquipped()
tool:Activate()
end
tool.Equipped:Connect(toolEquipped)
tool.Activated:Connect(toolActivated)
tool.Deactivated:Connect(toolDeactivated)
tool.Unequipped:Connect(toolDeactivated)
อีเวนต์
Activated
เหตุการณ์นี้จะเกิดขึ้นเมื่อผู้เล่นคลิกขณะที่ Tool ติดตั้งอยู่ มันไม่ ไม่ ได้เกิดขึ้นหากปุ่ม Ctrl ถูกกดระหว่างการคลิก
เหตุการณ์นี้มักใช้เพื่อประกอบการที่ผู้เล่นใช้เครื่องมือนี้เช่นเปิดจรวดจากเครื่องมือปืนจรวด
รหัสด้านล่าง, เมื่อวางใน LocalScript สร้างเครื่องมือใน Backpack ของผู้เล่นและพิมพ์ "Tool activated" เมื่อผู้เล่นคลิกในขณะที่เครื่องมือที่สร้างขึ้นกำลังติดตั้งอยู่
local tool = Instance.new("Tool")
tool.RequiresHandle = false
tool.Parent = game.Players.LocalPlayer.Backpack
function onActivation()
print("Tool activated")
end
tool.Activated:Connect(onActivation)
Deactivated
เหตุการณ์นี้จะเกิดขึ้นเมื่อผู้เล่นปล่อยคลิกขณะที่ Tool ติดตั้งและเปิดใช้งาน มันมักจะใช้เพื่อประสานการกระทำเมื่อผู้เล่นหยุดใช้เครื่องมือ
รหัสด้านล่าง, เมื่อวางใน LocalScript สร้างเครื่องมือใน Backpack ของผู้เล่นและพิมพ์ "Tool deactivated" เมื่อผู้เล่นปล่อยการคลิกขณะที่เครื่องมือติดตั้งและเปิดใช้งาน
local tool = Instance.new("Tool")
tool.RequiresHandle = false
tool.Parent = game.Players.LocalPlayer.Backpack
function toolDeactivated()
print("Tool deactivated")
end
tool.Deactivated:Connect(toolDeactivated)
Equipped
เหตุการณ์นี้จะเกิดขึ้นเมื่อผู้เล่นใส่ Tool (เอาออกจาก Class.Backpack ของพวกเขา)
สิ่งที่ตรงกันข้ามกับเหตุการณ์นี้, Tool.Unequipped สามารถใช้เพื่อระบุเมื่อผู้เล่นถอดอุปกรณ์ออกจากกระเป๋าของพวกเขา
หมายเหตุว่าเหตุการณ์นี้ไม่ได้เกิดขึ้นเมื่อ Class.Tool.RequiresHandle เปิดใช้งานและไม่มีมือจับ
พารามิเตอร์
เมาส์ของผู้เล่น
ตัวอย่างโค้ด
The example shown below will print "A tool was equipped" each time the tool is equipped by the player. Please note that the below example assumes that you've already defined what "Tool" is.
local Tool = script.Parent
local function onEquipped(_mouse)
print("The tool was equipped")
end
Tool.Equipped:Connect(onEquipped)
Unequipped
เหตุการณ์นี้จะเกิดขึ้นเมื่อผู้เล่นถอด Tool (ใส่มันใน Backpack ของพวกเขา)
สิ่งที่ตรงกันข้ามกับเหตุการณ์นี้, Tool.Equipped สามารถใช้เพื่อระบุเมื่อผู้เล่นใส่เครื่องมือนี้ออกจากกระเป๋าของพวกเขา
หมายเหตุว่าเหตุการณ์นี้ไม่ได้เกิดขึ้นเมื่อ Class.Tool.RequiresHandle เปิดใช้งานและไม่มีมือจับ