I have been working on this script for a sword, based on the Roblox U tutorials, and I have no idea why it is not working. I have gone through and fixed all of the errors that I could find, so the sword should be running animations when it is clicked. Please help!
Here is the SwordScript:
--Made by Legobrain9275
local tool = script.Parent
local handle = tool:WaitForChild("Handle")
local event = tool:WaitForChild("RemoteEvent")
local speedboost = 1.25
local damage = 26
local swingtime = 1
local lastclick = tick()
local combowindow = .5
local combo = 0
local SlashSound = game.StarterPack.Sword.Handle.SlashSound
local LungeSound = game.StarterPack.Sword.Handle.LungeSound
local OverheadSound = game.StarterPack.Sword.Handle.OverheadSound
handle.Touched:connect(function(hit)
if equipped and character and humanoid and humanoid.Health > 0 and hit and not hit:IsDescendantOf(character) then
local targethumanoid = hit.Parent:FindFirstChild("Humanoid")
if targethumanoid and targethumanoid.Health > 0 and not hithumanoids(targethumanoid) then
hithumanoids = true
targethumanoid:TakeDamage(damage * combo)
end
end
end)
tool.Activate:connect(function()
local clickdelta = tick() - lastclick
if clickdelta > swingtime then
lastclick = tick()
hithumanoids = false
if clickdelta < swingtime + combowindow then
combo = (combo + 1) % 3
else
combo = 0
end
if player then
if combo == 0 then
event:FireClient(player, "RunAnimation", "SlashAnim2")
SlashSound:Play()
elseif combo == 1 then
event:FireClient(player, "RunAnimation", "ThrustAnim2")
OverheadSound:Play()
elseif combo == 2 then
event:FireClient(player, "RunAnimation", "OverheadAnim2")
LungeSound:Play()
end
end
end
end)
tool.Equipped:connect(function()
equipped = true
combo = 0
lastclick = tick()
character = tool.Parent
local player = game.Players:GetPlayerFromCharacter(character)
humanoid = character:FindFirstChild("Humanoid")
if humanoid ~= nil then
humanoid.WalkSpeed = humanoid.WalkSpeed * speedboost
else
character = nil
end
end)
tool.Unequipped:connect(function()
equipped = false
if humanoid then
humanoid.WalkSpeed = humanoid.WalkSpeed / speedboost
end
character = nil
humanoid = nil
end)
Here is the SwordLocalScript:
--made by Legobrain9275
local tool = script.Parent
local event = tool:WaitForChild("RemoteEvent")
event.OnClientEvent:connect(function(...)
local tuple = {...}
if tuple[1] == "RunAnimation" then
local anim = tool:FindFirstChild(tuple[2])
if anim and humanoid then
local loadedanim = humanoid:LoadAnimation(anim)
if loadedanim then
loadedanim:Play()
if themouse then
themouse.Icon = "rbxasset//textures\\GunWaitCursor.png"
wait(1)
themouse.Icon = "rbxasset//textures\\GunCursor.png"
end
end
end
end
end)
tool.Equipped:connect(function(mouse)
humanoid = tool.Parent:FindFirstChild("Humanoid")
themouse = mouse
if humanoid then
local anim = tool:FindFirstChild("IdleAnim3")
if anim and humanoid then
if loadedidleanim then
loadedidleanim:Stop()
end
loadedidleanim = humanoid:LoadAnimation(anim)
if loadedidleanim then
loadedidleanim:Play()
end
local anim = tool:FindFirstChild("EquipAnim5")
if anim and humanoid then
local loadedanim = humanoid:LoadAnimation(anim)
if loadedanim then
loadedanim:Play()
end
end
end
end
if themouse then
themouse.Icon = "rbxasset//textures\\GunCursor.png"
end
end)
tool.Unequipped:connect(function()
if loadedidleanim then
loadedidleanim:Stop()
end
end)
`
Thank you very much to anyone who can help!

1 comment
Code block pls.