Lớp công cụ
Tool
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Tóm Tắt
Thuộc Tính
Phương Pháp
Activate():() |
Deactivate():() |
Sự Kiện
Equipped(mouse: Mouse):RBXScriptSignal |
Thành viên kế thừa
2 thành viên kế thừa từ BackpackItem
26 thành viên kế thừa từ Model
4 thành viên kế thừa từ PVInstance
57 thành viên kế thừa từ Instance
6 thành viên kế thừa từ Object
Được kế thừa bởi
Mẫu mã
Ví dụ Công Cụ Nổ
local tool = script.Parent
local function explode(point)
local e = Instance.new("Explosion")
e.DestroyJointRadiusPercent = 0 -- Tạo vụ nổ không chết người
e.Position = point
e.Parent = workspace
end
local function onActivated()
-- Lấy Humanoid đã Kích Hoạt công cụ
local human = tool.Parent.Humanoid
-- Gọi explode với điểm hiện tại mà Humanoid đang nhắm tới
explode(human.TargetPoint)
end
tool.Activated:Connect(onActivated)Ví dụ về Công Cụ Kiếm
local tool = script.Parent
local function onTouch(partOther)
-- Đầu tiên, hãy thử xem liệu phần mà chúng ta chạm phải có phải là một phần của một Humanoid hay không
local humanOther = partOther.Parent:FindFirstChild("Humanoid")
-- Bỏ qua các va chạm từ những người không phải Humanoid
if not humanOther then
return
end
-- Bỏ qua các va chạm từ Humanoid đang mang kiếm
if humanOther.Parent == tool.Parent then
return
end
humanOther:TakeDamage(5)
end
-- Kích hoạt một hoạt ảnh cắt
local function slash()
-- Các kịch bản nhân vật mặc định sẽ lắng nghe cho một "toolanim" StringValue
local value = Instance.new("StringValue")
value.Name = "toolanim"
value.Value = "Cắt" -- thử thêm: Đâm
value.Parent = tool
end
tool.Activated:Connect(slash)
tool.Handle.Touched:Connect(onTouch)Tài Liệu Tham Khảo API
Thuộc Tính
Enabled
Mẫu mã
Công Cụ Nhảy Siêu
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 = "Công Cụ Nhảy Siêu"
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
Mẫu mã
Gậy Nắm
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Gậy"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Cán"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Nâu
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripForward
Mẫu mã
Gậy Nắm
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Gậy"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Cán"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Nâu
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripPos
Mẫu mã
Gậy Nắm
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Gậy"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Cán"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Nâu
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripRight
Mẫu mã
Gậy Nắm
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Gậy"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Cán"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Nâu
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripUp
Mẫu mã
Gậy Nắm
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Gậy"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Cán"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Nâu
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)ManualActivationOnly
Mẫu mã
Công cụ Chạy Nước
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 = "Chạy Nước"
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)Phương Pháp
Activate
Tool:Activate():()
Lợi Nhuận
()
Mẫu mã
Công Cụ Vô Hình
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Công Cụ Vô Hình"
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:Deactivate():()
Lợi Nhuận
()
Mẫu mã
Công Cụ Vô Hình
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Công Cụ Vô Hình"
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)Sự Kiện
Equipped
Tham Số
Mẫu mã
In ấn khi Người Chơi Trang Bị một Công Cụ
local Tool = script.Parent
local function onEquipped(_mouse)
print("Công cụ đã được trang bị")
end
Tool.Equipped:Connect(onEquipped)