GetPlayerFromCharacter() returns nil

Hmm… give me every other code that changes the humanoids speed

The only other portion of code that changes walkspeed is the limbhandler but it only changes it if you lose a leg, so it shouldn’t affect it at all.

Then add a print() function at the place that changes walkspeed in the limbhandler to prove that it doesn’t run. Then, use this script and tell me what appears in the output.

slashCaster.HumanoidCollided:Connect(function(result, hithumanoid)
	if script.Parent.Equipped then
		if Debounce[hithumanoid] then
			return
		end
		Debounce[hithumanoid] = true
		print("Hit:" .. result.Instance.name)
		game.ReplicatedStorage.Events.GoreEvent:FireAllClients(math.random(config.MinBlood.Value, config.MaxBlood.Value), result.Instance.Position)
		hithumanoid:TakeDamage(config.Damage.Value)
		script.Parent.Handle.Hit:Play()
		local hal = Instance.new("Animation")
		hal.AnimationId = "http://www.roblox.com/asset/?id=7747707560"
		local har = Instance.new("Animation")
		har.AnimationId = "http://www.roblox.com/asset/?id=7747710892"
		local hurtAnimLeft = hithumanoid:LoadAnimation(hal)
		local hurtAnimRight = hithumanoid:LoadAnimation(har)
		local ranMath = math.random(1, 2)
		if ranMath == 1 then
			hurtAnimLeft:Play()
		elseif ranMath == 2 then
			hurtAnimRight:Play()
		end
		if config.CanSeverLimbs.Value == true then
			if result.Instance.name == "Left Arm" or result.Instance.name == "LArmGore"  then
				LimbHandler.DamageLimb(hithumanoid.Parent, "Left Arm", LimbDamage * config.LArmMulti.Value)
			elseif result.Instance.name == "Right Arm" or result.Instance.name == "RArmGore" then
				LimbHandler.DamageLimb(hithumanoid.Parent, "Right Arm", LimbDamage * config.RArmMulti.Value)
			elseif result.Instance.name == "Left Leg" or result.Instance.name == "LLegGore" then
				LimbHandler.DamageLimb(hithumanoid.Parent, "Left Leg", LimbDamage * config.LLegMulti.Value)
			elseif result.Instance.name == "Right Leg" or result.Instance.name == "RLegGore" then
				LimbHandler.DamageLimb(hithumanoid.Parent, "Right Leg", LimbDamage * config.RLegMulti.Value)
			elseif result.Instance.name == "Head" or result.Instance.name == "HeadGore" then	
				LimbHandler.DamageLimb(hithumanoid.Parent, "Head", LimbDamage * config.HeadMulti.Value)
			end
		end
		wait(.5)
		Debounce[hithumanoid] = false
		local OldWalkSpeed = hithumanoid.WalkSpeed
        print("OLD WALK SPEED: "..tostring(OldWalkSpeed))
        print("CONFIG.STAGGERAMOUNT: "..tostring(config.StaggerAmount))
		hithumanoid.WalkSpeed = config.StaggerAmount
        print("NEW WALK SPEED:"..tostring(hithumanoid.WalkSpeed)
		wait(config.StaggerTime)
		hithumanoid.WalkSpeed = OldWalkSpeed
        print("RETURN TO NORMAL WALK SPEED :"..tostring(hithumanoid.WalkSpeed))
	end
end)