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

Ammo counter taking an extra bullet every time I equip the weapon?

Asked by 3 years ago

The counter works the first time I equip a weapon but every time I switch back to it, the print that shows after Parent.Equipped prints once for every time I have switched and re-equipped. Is there an alternative method that doesn't add an extra print every time I unequip and re-equip?

local MaxAmmo = 15
local Reloading = false
local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local TextLabel = playerGui:WaitForChild("AmmoDisplay"):FindFirstChild("AmmoText")
local Ammo = MaxAmmo

script.Parent.Equipped:Connect(function(Mouse)
    print(Ammo)
    local function Reload()
        Reloading = true
        wait(1)
        Ammo = MaxAmmo
        Reloading = false
    end


    script.Parent.Activated:Connect(function()
        print("fired "..Ammo)
        if Ammo > 0 and not Reloading then
            Ammo -= 1
            print(Ammo)
            script.Parent.GunShot:Play()
            --recoils--
            if Mouse.Target.Parent:FindFirstChild("Humanoid") then
                script.Parent.DealDamage:FireServer(Mouse.Target.Parent, 20)
            end

        elseif Reloading == false then
            Reload()
            script.Parent.GunShot:Stop()
        end

        while wait() do
            TextLabel.Text = Ammo.."/"..MaxAmmo
        end

    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)
1
Try putting the Activate function outside the Equipped function acediamondn123 147 — 3y
0
Also, try putting the InputBegan thing outside too, or else, it will connect everytime you equip it. RAFA1608 543 — 3y
0
I had taken a tutorial and made it my own by slowly adding changes as I see fit. Both of your ideas worked, all I had to do was break up the functions a little more. thanks guys! DaGlizzzzzzyyyy 34 — 3y

Answer this question