Equipped = false canHit = false Damage = nil MoveNum = 1 Moves = script.Parent.Moves canActivate = false Handle = script.Parent.Handle allLoaded = false PushBack = true AmmoCap = 6 ReloadTime = 2 Cooltime = 0.5 function Load() --ANIMATIONS-- script.Parent.Moves:WaitForChild("1") script.Parent.Moves:WaitForChild("2") script.Parent.Moves:WaitForChild("Reload") script.Parent.Moves:WaitForChild("Prepare") script.Parent.Moves:WaitForChild("Idle") script.Parent.Moves:WaitForChild("Equip") loadM1 = Moves[1] loadM2 = Moves[2] loadM3 = Moves.Reload loadM4 = Moves.Prepare loadIdle = Moves.Idle loadEquip = Moves.Equip M1 = Humanoid:LoadAnimation(loadM1) M2 = Humanoid:LoadAnimation(loadM2) Reload = Humanoid:LoadAnimation(loadM3) Prepare = Humanoid:LoadAnimation(loadM4) IdleAnim = Humanoid:LoadAnimation(loadIdle) EquipAnim = Humanoid:LoadAnimation(loadEquip) --SOUNDS-- Sounds = script.Parent.Sounds Sounds:WaitForChild("1") Sounds:WaitForChild("2") Sounds:WaitForChild("Reload") Sounds:WaitForChild("Prepare") Sounds:WaitForChild("Idle") Sounds:WaitForChild("Equip") --EFFECTS-- SmallExplosion = game.Lighting:WaitForChild("SmallExplosion") SBoom = SmallExplosion:Clone() S1 = Sounds["1"] S2 = Sounds["2"] Reload = Sounds.Reload Prepare = Sounds.Prepare IdleSound = Sounds.Idle EquipSound = Sounds.Equip --OTHER-- Torso = game.Players.LocalPlayer.Character:WaitForChild("Torso") local function Start() IdleSound:Play() IdleAnim:Play() end EquipAnim:Play() EquipSound:Play() EquipSound.Ended:connect(Start) allLoaded = true end -------------------- function Move1() Damage = 10 canHit = true canActivate = false print("Move1") M1:Play() S1:Play() wait(1) canActivate = true canHit = false IdleAnim:Play() end function Move2() Damage = 10 canHit = true canActivate = false print("Move2") M2:Play() S2:Play() wait(1) canActivate = true canHit = false IdleAnim:Play() end function Reload() print("reloading") end function Prepare() print("prepared") end -------------------- function onEquipped() Equipped = true canHit = true Humanoid = game.Players.LocalPlayer.Character:WaitForChild("Humanoid") print("Equipped") Load() canActivate = true end function unEquipped() if allLoaded == true then IdleAnim:Stop() IdleSound:Stop() EquipAnim:Stop() end end -------------------- function onTouched(Hit) if canHit == true then if Hit.Parent ~= script.Parent then if Hit.Parent ~= Humanoid.Parent then otherTorso = Hit.Parent:WaitForChild("Torso") local hitHumanoid = Hit.Parent:WaitForChild("Humanoid") if hitHumanoid then hitHumanoid:TakeDamage(Damage) canHit = false end if PushBack == true then local BodyVelocity = Instance.new("BodyVelocity") BodyVelocity.Name = "PushBack" BodyVelocity.P = 2000 BodyVelocity.maxForce = Vector3.new(BodyVelocity.P, BodyVelocity.P, BodyVelocity.P) BodyVelocity.velocity = (otherTorso.Position - Torso.Position).unit * 50 BodyVelocity.Parent = otherTorso local ChatService = game:GetService("Chat") local dmgIndi = Instance.new("Part", game.Workspace) dmgIndi.Anchored = true dmgIndi.Transparency = 1 dmgIndi.CanCollide = false dmgIndi.Position = Vector3.new(otherTorso.Position.X, otherTorso.Position.Y+3, otherTorso.Position.Z) ChatService:Chat(dmgIndi, tostring(Damage), "Red") wait(0.5) BodyVelocity:Destroy() wait(0.5) dmgIndi:Destroy() else local ChatService = game:GetService("Chat") local dmgIndi = Instance.new("Part", game.Workspace) dmgIndi.Anchored = true dmgIndi.Transparency = 1 dmgIndi.CanCollide = false dmgIndi.Position = Vector3.new(otherTorso.Position.X, otherTorso.Position.Y+3, otherTorso.Position.Z) ChatService:Chat(dmgIndi, tostring(Damage), "Red") wait(1) dmgIndi:Destroy() end end end end end function Activated() if canActivate == true then if MoveNum == 1 then MoveNum = MoveNum + 1 Move1() elseif MoveNum == 2 then MoveNum = 1 Move2() end end end function onKeyPress(inputObject, gameProcessedEvent) if inputObject.KeyCode == Enum.KeyCode.R then Reload() --I get an error here elseif inputObject.KeyCode == Enum.KeyCode.E then Prepare() --and here. end end script.Parent.Handle.Touched:connect(onTouched) script.Parent.Activated:connect(Activated) script.Parent.Equipped:connect(onEquipped) script.Parent.Unequipped:connect(unEquipped) game:GetService("UserInputService").InputBegan:connect(onKeyPress)
It doesn't run the function. Actually, the script is in a tool and I set it up when the user presses a certain button on the keyboard it runs the function. It works..but not when I have the tool equipped. Which is strange. Help?