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

Why is the TextLabel not showing the Ammo?

Asked by 2 years ago

I am scripting a SubMachineGun. First I have these values inside of Replicated Storage: SMGAmmoLeft, The ammo left in the SMG SMGEquipped, Whether the SMG is equipped. I also have a Remote Event called FiringSMGEvent. I have this Local Script inside of a gun tool in Starter Pack.

local gun = scriptt.Parent
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local remoteEvent = ReplicatedStorage:WaitForChild('FiringSniperEvent')
local shooting = false
local equipped = false
local EquipValue = ReplicatedStorage.EquippedSMG.Value
EquipValue=false
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local mouseConnection
gun.Equipped:Connect(function()
    equipped = true
    EquipValue=true
    mouse.Icon = 'rbxassetid://117431027'
    mouseConnection = mouse.Button1Down:Connect(function()
        shooting = true
        while shooting and equipped do
            remoteEvent:FireServer(gun.Handle.Position, gun.Handle.Orientation, mouse.Hit.p)
            gun.Ammo.Value-=1
            game.ReplicatedStorage.SMGAmmo.Value-=1
            if gun.Ammo.Value==0 then
                equipped=false
                game.ReplicatedStorage.SMGAmmo.Value=0
                wait(5)
                gun.Ammo.Value=50
                game.ReplicatedStorage.SMGAmmo.Value=50
                equipped=true
            end
            mouse.Button1Up:Connect(function()
                shooting = false
            end)
            wait(0.1)
        end
    end)
end)



gun.Unequipped:Connect(function()
    equipped = false
    mouseConnection:Disconnect()
end) 

I have this Local Script inside of a ScreenGui which is home to a TextLabel which is supposed to display the ammo left.

script.Parent.TextLabel.Visible=false
game.ReplicatedStorage.EquippedSMG.Changed:Connect(function()
    if game.ReplicatedStorage.EquippedSMG == true then
        script.Parent.TextLabel.Visible=true
        script.Parent.TextLabel.Text = game.ReplicatedStorage.SMGAmmo.Value
    elseif game.ReplicatedStorage.EquippedSMG == false then
        script.Parent.TextLabel.Visible=false
    end

end)

The TextLabel is not displaying the AmmoLeft. May you please help me?

1 answer

Log in to vote
0
Answered by 2 years ago

Thats because u dont fire the event so the textlabel never recibe that information

0
So I should create a BindableEvent that will fire whenever the gun is equipped? sidb0102 17 — 2y
Ad

Answer this question