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.

2 comments
I thought "While true do" was needed for it to notice it being fired, Thank you, it works as expected!
The server will notice it being fired from the 'OnServerEvent:Connect' part. Glad I could be of help!