배우기
엔진 클래스
Tool

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


코드 샘플
폭발 도구 예제
local tool = script.Parent
local function explode(point)
local e = Instance.new("Explosion")
e.DestroyJointRadiusPercent = 0 -- 폭발을 치명적이지 않게 설정
e.Position = point
e.Parent = workspace
end
local function onActivated()
-- 도구를 활성화한 Humanoid 가져오기
local human = tool.Parent.Humanoid
-- 현재 Humanoid가 목표로 하고 있는 지점에서 explode 호출
explode(human.TargetPoint)
end
tool.Activated:Connect(onActivated)
검 도구 예제
local tool = script.Parent
local function onTouch(partOther)
-- 먼저, 우리가 만진 파트가 인간의 일부인지 확인해 보세요
local humanOther = partOther.Parent:FindFirstChild("Humanoid")
-- 비인간의 터치는 무시합니다
if not humanOther then
return
end
-- 검을 쥐고 있는 인간의 터치는 무시합니다
if humanOther.Parent == tool.Parent then
return
end
humanOther:TakeDamage(5)
end
-- 베기 애니메이션을 트리거합니다
local function slash()
-- 기본 캐릭터 스크립트는 "toolanim" StringValue를 수신합니다
local value = Instance.new("StringValue")
value.Name = "toolanim"
value.Value = "베기" -- 시도해 보세요: 돌진
value.Parent = tool
end
tool.Activated:Connect(slash)
tool.Handle.Touched:Connect(onTouch)

API 참조
속성
CanBeDropped
병렬 읽기
기능: Input
Tool.CanBeDropped:boolean

Enabled
병렬 읽기
기능: Input
시뮬레이션 액세스
Tool.Enabled:boolean
코드 샘플
슈퍼점프 도구
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 = "슈퍼점프"
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
병렬 읽기
기능: Input
시뮬레이션 액세스
Tool.Grip:CFrame
코드 샘플
그립 스틱
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) -- 갈색
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)

GripForward
숨김
복제되지 않음
병렬 읽기
기능: Input
Tool.GripForward:Vector3
코드 샘플
그립 스틱
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) -- 갈색
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)

GripPos
숨김
복제되지 않음
병렬 읽기
기능: Input
Tool.GripPos:Vector3
코드 샘플
그립 스틱
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) -- 갈색
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)

GripRight
숨김
복제되지 않음
병렬 읽기
기능: Input
Tool.GripRight:Vector3
코드 샘플
그립 스틱
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) -- 갈색
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)

GripUp
숨김
복제되지 않음
병렬 읽기
기능: Input
Tool.GripUp:Vector3
코드 샘플
그립 스틱
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) -- 갈색
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)

ManualActivationOnly
병렬 읽기
기능: Input
Tool.ManualActivationOnly:boolean
코드 샘플
스프린트 도구
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
병렬 읽기
기능: Input
Tool.RequiresHandle:boolean

ToolTip
병렬 읽기
기능: Input
Tool.ToolTip:string

메서드
Activate
기능: Input
Tool:Activate():()
반환
()
코드 샘플
투명화 도구
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "투명화 도구"
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
기능: Input
Tool:Deactivate():()
반환
()
코드 샘플
투명화 도구
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "투명화 도구"
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
기능: Input
Tool.Activated():RBXScriptSignal

Deactivated
기능: Input
Tool.Deactivated():RBXScriptSignal

Equipped
기능: Input
Tool.Equipped(mouse:Mouse):RBXScriptSignal
매개 변수
mouse:Mouse
코드 샘플
플레이어가 도구를 장착할 때 출력
local Tool = script.Parent
local function onEquipped(_mouse)
print("도구가 장착되었습니다")
end
Tool.Equipped:Connect(onEquipped)

Unequipped
기능: Input
Tool.Unequipped():RBXScriptSignal

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.