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

Help With Tools?

Asked by
Scootakip 299 Moderation Voter
8 years ago

I have guns that reload when you press "R". The only problem is that it reloads when you press "R" even if you don't have the gun equipped. Is there any way to fix this?

Player = game.Players.LocalPlayer
Gun = script.Parent
FireSound = Gun.ShootSound
LoadSound = Gun.ReloadSound
mouse = Player:GetMouse()
enabled = true
Gun.Ammo.Value = 5
MaxAmmo = 5

function Shoot()
    function Damage(Part)
        if Part.Parent:FindFirstChild("Humanoid") ~= nil and Part.Parent.Name ~= Player.Name then
            Part.Parent.Humanoid:TakeDamage(5)
        end 
    end
    if Gun.Ammo.Value > 0 and enabled == true then
        Gun.Ammo.Value = Gun.Ammo.Value - 1
        enabled = false
        Bullet = Instance.new("Part", game.Workspace)
        Gun.GripForward = Vector3.new(0,-.2,-1)
        game.Debris:AddItem(Bullet, 2)
        Bullet.Shape = "Ball"
        Bullet.Size = Vector3.new(0.2,0.2,0.2)
        Bullet.TopSurface = "Smooth"
        Bullet.BottomSurface = "Smooth"
        Bullet.Transparency = 1
        Bullet.BrickColor = BrickColor.new("Dark stone grey")
        Bullet.CanCollide = false
        Bullet.CFrame = Gun.Handle.CFrame
        Bullet.CFrame = CFrame.new(Bullet.Position,mouse.Hit.p)
        v = Instance.new("BodyVelocity", Bullet)
        v.velocity = Bullet.CFrame.lookVector *900
        v.maxForce = Vector3.new(math.huge, math.huge, math.huge)
        FireSound:Play()
        Shell = Instance.new("Part", game.Workspace)
            Shell.TopSurface = "Smooth"
            Shell.BottomSurface = "Smooth"
            Shell.Size = Vector3.new(.1,.1,.1)
            game.Debris:AddItem(Shell, 0.8)
            Shell.CFrame = Gun.Handle.CFrame *CFrame.new(0, -.5, -.3)
        Bullet.Touched:connect(Damage)
        Light = Instance.new("PointLight", Gun)
        wait(.1)
        Light:Destroy()
        Gun.GripForward = Vector3.new(0,0,-1)
        wait()
        enabled = true

    end
end

function Reload(key)
    key = key:lower()
    if key == 'r' then
        if enabled == true and Gun.Ammo.Value < MaxAmmo then
            LoadSound:Play()
            wait(LoadSound.TimeLength)
            Gun.Ammo.Value = MaxAmmo
        end
    end
end

mouse.KeyDown:connect(Reload)
Gun.Activated:connect(Shoot)
0
Can you show the script? We can't tell what we need to fix without it. yoshi8080 445 — 8y
0
Updated it with the script Scootakip 299 — 8y
0
Can you show also the whole script? Where it toggles the enabled variable Shawnyg 4330 — 8y
0
Updated once again Scootakip 299 — 8y

1 answer

Log in to vote
0
Answered by
wookey12 174
7 years ago
Gun.Equipped:connect(function()
--[[ THE REST OF
YOUR CODE
--]]
end)
Ad

Answer this question