Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

This Mouse is no longer active error when equipping and unequipping a tool?

Asked by 4 years ago

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)

Answer this question