Hey. The problem with my script is that the sword is not going up into idle mode after I use it to slash. I'll save you the time reading the whole thing. The only real relative lines are 4-8, 10-14 and 137-141. Please take a few minutes to comb through that and see what I did wrong if you think you could be of any assistance.
Sword = script.Parent:GetChildren() Tool = script.Parent function SwordSlash() Tool.GripForward = Vector3.new(0,0,1) Tool.GripRight = Vector3.new(0,-1,0) Tool.GripUp = Vector3.new(-1,0,0) end function SwordIdle() Tool.GripForward = Vector3.new(0, 0, -1) Tool.GripRight = Vector3.new(1, 0, 0) Tool.GripUp = Vector3.new(0, 1, 0) end Tool.BladePart.Touched:connect(function (hit) if not hit.Parent:FindFirstChild("Humanoid") then return end if hit.Parent.Name == script.Parent.Name then return end if not Tool.Active.Value == true then return end hit.Parent.Humanoid:TakeDamage(10) end) Tool.BladePart2.Touched:connect(function (hit) if not hit.Parent:FindFirstChild("Humanoid") then return end if hit.Parent.Name == script.Parent.Name then return end if not Tool.Active.Value == true then return end hit.Parent.Humanoid:TakeDamage(10) end) function FadeIn() for i = 1, #Sword do if Sword[i]:IsA("Part") then Sword[i].Transparency = 0.9 wait(.05) Sword[i].Transparency = 0.8 wait(.05) Sword[i].Transparency = 0.8 wait(.05) Sword[i].Transparency = 0.7 wait(.05) Sword[i].Transparency = 0.6 wait(.05) Sword[i].Transparency = 0.5 wait(.05) Sword[i].Transparency = 0.4 wait(.05) Sword[i].Transparency = 0.3 wait(.05) Sword[i].Transparency = 0.2 wait(.05) Sword[i].Transparency = 0.1 wait(.05) Sword[i].Transparency = 0 Sword[i].CanCollide = true elseif Sword[i]:IsA("WedgePart") then Sword[i].Transparency = 0.9 wait(.05) Sword[i].Transparency = 0.8 wait(.05) Sword[i].Transparency = 0.7 wait(.05) Sword[i].Transparency = 0.6 wait(.05) Sword[i].Transparency = 0.5 wait(.05) Sword[i].Transparency = 0.4 wait(.05) Sword[i].Transparency = 0.3 wait(.05) Sword[i].Transparency = 0.2 wait(.05) Sword[i].Transparency = 0.1 wait(.05) Sword[i].Transparency = 0 wait(.05) Sword[i].CanCollide = true end end end function FadeOut() for i = 1, #Sword do if Sword[i]:IsA("Part") then Sword[i].Transparency = 0.1 wait(.05) Sword[i].Transparency = 0.2 wait(.05) Sword[i].Transparency = 0.3 wait(.05) Sword[i].Transparency = 0.4 wait(.05) Sword[i].Transparency = 0.5 wait(.05) Sword[i].Transparency = 0.6 wait(.05) Sword[i].Transparency = 0.7 wait(.05) Sword[i].Transparency = 0.8 wait(.05) Sword[i].Transparency = 0.9 wait(.05) Sword[i].Transparency = 1 Sword[i].CanCollide = false elseif Sword[i]:IsA("WedgePart") then Sword[i].Transparency = 0.1 wait(.05) Sword[i].Transparency = 0.2 wait(.05) Sword[i].Transparency = 0.3 wait(.05) Sword[i].Transparency = 0.4 wait(.05) Sword[i].Transparency = 0.5 wait(.05) Sword[i].Transparency = 0.6 wait(.05) Sword[i].Transparency = 0.7 wait(.05) Sword[i].Transparency = 0.8 wait(.05) Sword[i].Transparency = 0.9 wait(.05) Sword[i].Transparency = 1 Sword[i].CanCollide = true end end end script.Parent.Equipped:connect(function (m) m.KeyDown:connect(function (key) if key == "q" then if script.Parent.Active.Value == false then script.Parent.Active.Value = true FadeIn() m.KeyDown:connect(function (key) if key == "e" then SwordSlash() wait(1) SwordIdle() end end) elseif script.Parent.Active.Value == true then script.Parent.Active.Value = false FadeOut() end end end) end)
Thanks in advance.