I am trying to connect two parts with Motot6Ds for animation purposes and it doesnt work.
Here are my scripts:
-- Local script inside of the tool
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Connect6DRE = ReplicatedStorage:WaitForChild("Connect6D")
local Disconnect6DRE = ReplicatedStorage:WaitForChild("Disconnect6D")
local Tool = script.Parent
Tool.Equipped:Connect(function(Tool)
Connect6DRE:FireServer()
end)
Tool.Unequipped:Connect(function(Tool)
Disconnect6DRE:FireServer()
end)
-- Server script inside of ServerScriptService
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Connect6DRE = ReplicatedStorage:WaitForChild("Connect6D")
local Disconnect6DRE = ReplicatedStorage:WaitForChild("Disconnect6D")
local ToolName = "M1911A1"
game.Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local BodyAttach = Instance.new("Motor6D")
BodyAttach.Name = "BodyAttach"
BodyAttach.Parent = HumanoidRootPart
end)
end)
Connect6DRE.OnServerEvent:Connect(function(Player, Tool)
local Character = Player.Character or Player.CharacterAdded:Wait()
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local ToolHandle = Tool:WaitForChild("Handle") -- Saying the tool doesn't exist when it does
local BodyAttach = HumanoidRootPart:WaitForChild("BodyAttach")
BodyAttach.Part0 = HumanoidRootPart
BodyAttach.Part1 = ToolHandle
end)
Disconnect6DRE.OnServerEvent:Connect(function(Player, Tool)
local Character = Player.Character or Player.CharacterAdded:Wait()
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local ToolHandle = Tool:WaitForChild("Handle")
local BodyAttach = HumanoidRootPart:WaitForChild("BodyAttach")
BodyAttach.Part0 = HumanoidRootPart
BodyAttach.Part1 = nil
end)
Error: ServerScriptService.Motor6DServer:21: attempt to index nil with 'WaitForChild'