Inside of a script for a skill, and animation is triggered, and it works until the player resets or dies. After they die, I get this message:
This is how it works normally.
Any ideas?
local Player = game.Players.LocalPlayer
local mouse = Player:GetMouse()
local lastUse = 0;
local char = Player.Character or Player.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local function onKeyDown(key)
local Key = key:lower()
if key == "z" and Player.Levelss.Level.Value >= 15 and tick()-lastUse > 10 and Player.Levelss.RangedPunch.Value < 1 then
lastUse = tick();
local x = Instance.new("Part")
x.BrickColor = BrickColor.new("White")
x.Material = "Neon"
x.CanCollide = false
x.Transparency = 0.6
x.Size = Vector3.new(10,10,10)
x.TopSurface = "Smooth"
x.BottomSurface = "Smooth"
x.Shape = "Ball"
x.Name = Player.Name
local fd = script.fireDamage:clone()
fd.Parent = x
local a = Instance.new("Sound")
a.SoundId = "http://www.roblox.com/asset/?id=260430117"
a.Parent = x
a.Volume = 2
a:play()
local animTrack = hum:LoadAnimation(script.Punch)
animTrack:Play()
wait(0.7)
animTrack:Stop()
Player.Levelss.XP.Value = Player.Levelss.XP.Value + 8
local y = Instance.new("BodyVelocity")
y.maxForce = Vector3.new(math.huge ,math.huge ,math.huge)
y.velocity = Player.Character.Torso.CFrame.lookVector*95
x.CFrame = Player.Character.Torso.CFrame*CFrame.new(0, 1 , -10)
x.Parent = Workspace
y.Parent = x
game.Debris:AddItem(x, 6)
end
end
mouse.KeyDown:connect(onKeyDown)

4 comments
I've answered you multiple times informing you not to use KeyDown. Why are you still using it? :/
If KeyDown is the reason that it is happening, I will change it. But if it is not the reason for it, I will keep KeyDown. I'd like to keep this game as simple as possible for me at the moment.
First up, let me say, you're developing a lit game
Try having it print the humanoid's path using :GetFullName() and debug from there.