I've made a very simple gun script that when Mouse.Target.Parent has a humanoid inside of it, it fires a remoteevent that causes that humanoid to be damaged. If I were to equip the tool, the gun works completely fine. But when I unequip and reequip the gun whenever I fire I get an error that states "This Mouse is no longer active." If someone could help me that would be greatly appreciated! Thanks!
Local script inside of the tool:
local MaxAmmo = 5 local Ammo = MaxAmmo local Reloading = false local Player = game.Players.LocalPlayer script.Parent.Equipped:Connect(function(Mouse) Mouse.Icon = "rbxasset://textures/GunCursor.png" local function Reload() Reloading = true Mouse.Icon = "rbxasset://textures/GunWaitCursor.png" wait(2) Ammo = MaxAmmo Reloading = false Mouse.Icon = "rbxasset://textures/GunCursor.png" end script.Parent.Activated:Connect(function() if Ammo > 0 and not Reloading then Ammo = Ammo -1 if Mouse.Target.Parent:FindFirstChild("Humanoid") then game.ReplicatedStorage.TakeDamage:FireServer(Mouse.Target.Parent.Humanoid) elseif Mouse.Target == nil then print("Didn't shoot at a brick") end elseif Reloading == false then Reload() end print(Ammo) end) local Input = game:GetService("UserInputService") Input.InputBegan:Connect(function(Key) if Key.KeyCode == Enum.KeyCode.R and Reloading == false and Ammo ~= MaxAmmo then Reload() end end) end)
Server script:
game.ReplicatedStorage.TakeDamage.OnServerEvent:Connect(function(player, SpecHumanoid) SpecHumanoid:TakeDamage(20) end)