Klasa silnika
Tool
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Podsumowanie
Właściwości
Metody
Activate():() |
Deactivate():() |
Zdarzenia
Equipped(mouse: Mouse):RBXScriptSignal |
Członkowie odziedziczeni
2 odziedziczonych od: BackpackItem
26 odziedziczonych od: Model
4 odziedziczonych od: PVInstance
57 odziedziczonych od: Instance
6 odziedziczonych od: Object
Odziedziczone przez:
Przykłady kodu
Przykład Narzędzia Eksplozji
local tool = script.Parent
local function explode(point)
local e = Instance.new("Explosion")
e.DestroyJointRadiusPercent = 0 -- Uczyń eksplozję niegroźną
e.Position = point
e.Parent = workspace
end
local function onActivated()
-- Pobierz Humanoida, który aktywował narzędzie
local human = tool.Parent.Humanoid
-- Wywołaj explode z bieżącym punktem, który Humanoid celuje
explode(human.TargetPoint)
end
tool.Activated:Connect(onActivated)Przykład narzędzia miecza
local tool = script.Parent
local function onTouch(partOther)
-- Najpierw spróbuj zobaczyć, czy część, którą dotknęliśmy, była częścią Humanoida
local humanOther = partOther.Parent:FindFirstChild("Humanoid")
-- Ignoruj dotknięcia przez nie-humanoidy
if not humanOther then
return
end
-- Ignoruj dotknięcia przez Humanoida noszącego miecz
if humanOther.Parent == tool.Parent then
return
end
humanOther:TakeDamage(5)
end
-- Uruchom animację slasha
local function slash()
-- Domyślne skrypty postaci będą nasłuchiwać na "toolanim" StringValue
local value = Instance.new("StringValue")
value.Name = "toolanim"
value.Value = "Slash" -- spróbuj też: Lunge
value.Parent = tool
end
tool.Activated:Connect(slash)
tool.Handle.Touched:Connect(onTouch)Materiały referencyjne dotyczące interfejsów API
Właściwości
Enabled
Przykłady kodu
Narzędzie Superjump
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
Przykłady kodu
Dźwignia
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Dźwignia"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Uchwyt"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brązowy
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripForward
Przykłady kodu
Dźwignia
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Dźwignia"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Uchwyt"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brązowy
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripPos
Przykłady kodu
Dźwignia
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Dźwignia"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Uchwyt"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brązowy
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripRight
Przykłady kodu
Dźwignia
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Dźwignia"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Uchwyt"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brązowy
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)GripUp
Przykłady kodu
Dźwignia
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local tool = Instance.new("Tool")
tool.Name = "Dźwignia"
tool.Parent = player.Backpack
local handle = Instance.new("Part")
handle.Name = "Uchwyt"
handle.Parent = tool
handle.Size = Vector3.new(0.1, 3, 0.1)
handle.Color = Color3.fromRGB(108, 88, 75) -- Brązowy
tool.Activated:Connect(function()
print(tool.Grip)
print(tool.GripUp)
print(tool.GripRight)
print(tool.GripForward)
print(tool.GripPos)
end)ManualActivationOnly
Przykłady kodu
Narzędzie Sprintu
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)Metody
Activate
Tool:Activate():()
Zwroty
()
Przykłady kodu
Narzędzie Niewidzialności
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Narzędzie Niewidzialności"
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():()
Zwroty
()
Przykłady kodu
Narzędzie Niewidzialności
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character
local tool = Instance.new("Tool")
tool.Name = "Narzędzie Niewidzialności"
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)Zdarzenia
Equipped
Parametry
Przykłady kodu
Drukuj, gdy Gracz Wyposażą Narzędzie
local Tool = script.Parent
local function onEquipped(_mouse)
print("Narzędzie zostało wyposażone")
end
Tool.Equipped:Connect(onEquipped)