Hello, I've been following stickmasterlukes tutorial for the mad bloxxer and everything has worked perfectly except for the sword. It won't swing, the arm doesn't animate however it still causes damage and can kill other players.

There are 2 scripts in which I could have missed something but I have gone over this for almost 2 months now and can't see what I have done wrong. Any help would be greatly appreciated.


~~~~~~~~~~~~~~~~~--Made by Stickmasterluke sword script


local tool = script.Parent


local speedboost = 1.25
local damage = 26
local swingtime = .8
local combowindow = .5


local debris = game:GetService("Debris")
local handle = tool:WaitForChild("Handle")
local event = tool:WaitForChild("RemoteEvent")
local slashsound = handle:WaitForChild("SlashSound")
local overheadsound = handle:WaitForChild("OverheadSound")
local lungesound = handle:WaitForChild("LungeSound")
local hitsound = handle:WaitForChild("HitSound")
local emeraldsword = tool:WaitForChild("EmeraldSword")

local lastclick = tick()
local combo = 0
local hithumanoids = {}

local NormalTexture = "http://www.roblox.com/asset/?id=94746105"
local CrystalTexture = "http://www.roblox.com/asset/?id=97912267"
local NormalIcon = "http://www.roblox.com/asset/?id=94746192"
local CrystalIcon = "http://www.roblox.com/asset/?id=97913524"



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[targethumanoid] = true
			
			for _, v in pairs(targethumanoid:GetChildren()) do
				if v and v.Name == "creator" then
					v:remove()
				end
			end
			local tag = Instance.new("ObjectValue")
			tag.Name = "creator"
			tag.Value = player
			debris:AddItem(tag, 3)
			tag.Parent = targethumanoid

			local damagemultiplier = 1
			if emeraldsword.Value then
				damagemultiplier = 2
				hitsound:Play()
			end

			targethumanoid:TakeDamage(damage * (combo + 1) * damagemultiplier)
		end
	end
end)

tool.Activated:connect(function()
	local clickdelta = tick() - lastclick
	if clickdelta > swingtime then
		lastclick = tick()
		hithumanoids = {}
		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
	lastclick = tick()
	combo = 0
	character = tool.Parent
	player = game.Players:GetPlayerFromCharacter(character)
	humanoid = character:FindFirstChild("Humanoid")
	if humanoid then
		humanoid.WalkSpeed = 16 * speedboost
	else
		character = nil
	end
end)

tool.Unequipped:connect(function()
	equipped = false
	if humanoid then
		humanoid.WalkSpeed = 16
	end
	character = nil
	humanoid = nil
end)


function updateswordtype()
	if emeraldsword.Value then
		tool.ToolTip = "Emerald Sword"
		handle:WaitForChild("Mesh").TextureId = CrystalTexture
		tool.TextureId = CrystalIcon
	else
		tool.ToolTip = "Sword"
		handle:WaitForChild("Mesh").TextureId = NormalTexture
		tool.TextureId = NormalIcon
	end
end

emeraldsword.Changed:connect(updateswordtype)
updateswordtype()~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~--Made by Stickmasterluke sword local script


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 = "rbxasser://textures\\GunWaitCursor.png"
					wait(1)
					themouse.Icon = "rbxasser://textures\\GunCursor.png"
				end
			end
		end
	end
end)


tool.Equipped:connect(function(mouse)
	themouse = mouse
	humanoid = tool.Parent:FindFirstChild("Humanoid")
	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
		end
		local anim = tool:FindFirstChild("EquipAnim")
		if anim and humanoid then
			local loadedanim = humanoid:LoadAnimation(anim)
			if loadedanim then
				loadedanim:Play()
			end
		end
	end
	if themouse then
		themouse.Icon = "rbxasser://textures\\GunCursor.png"
	end
end)

tool.Unequipped:connect(function()
	if loadedidleanim then
		loadedidleanim:Stop()
	end
end)


4 comments

1

What model does your character use? (R6 / R15) Also, what model was the animations made for?

0

Ah mine is R15 and I suppose this script is for R6? This wasn't mentioned in the tutorial, is it something simple to edit?

1

If the script was made for R6 the animations wont work for R15 as R15 uses completely different joints to R6, you'll have to make new animation to fit R15 and R6 animations can't be edited to fit R15. The alternative is you could set your game to R6 only in the games options if you wanted to do that instead.

0

Thank you so much