Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why is my Remote Event firing more than once?

So i am making a Debug for my game so i can easily test things, I have a simple GUI with a button to add food, here is the script:

script.Parent.MouseButton1Click:connect(function()
    game.ReplicatedStorage.Debug_Events.AddFood:FireServer()
    print("Client - Debug: ", script.Parent.Parent.Name, " - Fired")
end)

When clicking the button it should fire the server so that my server script can pick it up and change a value, Here is the script that picks it up:

while true do wait()
    local Event = game.ReplicatedStorage.Debug_Events
    Event.AddFood.OnServerEvent:Connect(function()
	    workspace.Player_Cache.Food.Value = workspace.Player_Cache.Food.Value + 1
	    print("Client - Debug was used to add Food")
    end)
end

All i want is for it to fire once and add 1 food to the current amount of food, Instead it fires anywhere from 50 - 900 times, I added a Debounce on both and it still did the same, any help is much appreciated.

1 answer

✓ Accepted answer

The 'while true do' part is not needed. This will create a loop, causing it to add your food more than once. The client is not firing the event many times, rather the server is acting upon the event many times.

Try this:

local Event = game.ReplicatedStorage.Debug_Events
Event.AddFood.OnServerEvent:Connect(function()
    workspace.Player_Cache.Food.Value = workspace.Player_Cache.Food.Value + 1
    print("Client - Debug was used to add Food")
end)

2 comments

0

I thought "While true do" was needed for it to notice it being fired, Thank you, it works as expected!

1

The server will notice it being fired from the 'OnServerEvent:Connect' part. Glad I could be of help!

This discussion is preserved as it was. New answers, comments, and votes are closed.