local event = game.ReplicatedStorage:WaitForChild("DeductCoins")
local CoinsStore = game.Players.LocalPlayer.coinsstore.Coins.Value
script.Parent.MouseButton1Click:Connect(function()
script.Parent.Sound:Play()
game.Players.LocalPlayer.coinsstore.Coins.Value = game.Players.LocalPlayer.coinsstore.Coins.Value -100
event:FireServer(game.Players.LocalPlayer.coinsstore.Coins.Value)
end)
this script has been messing with my mind i genuinely have no idea how to get the event to fire im desperate any help on how to correctly use events and such will be greatful
This code is not only extremely inefficient, but easily open to exploits. The main usage for a remote event would be to perform actions that you wouldn’t want the client to do themselves. (such as changing how much money a player has). I don’t want to explain something thats been explained a thousand times before, but I’ll give you a list of what you’re doing wrong:
Using an IntValue under the player on the client
Instead of game.Players.LocalPlayer.coinsstore.Coins.Value = game.Players.LocalPlayer.coinsstore.Coins.Value -100
do CoinStore += 100
Possible troubleshooting:
You’re referencing an object under the player. (CoinStore). Make sure you manually created in a script, otherwise theres no way it would actually exist
Do you have a server script listening to the event (using .OnServerEvent) that also accepts the player as the first parameter?
If you’re feeling stressed, you really ought to take a break, come back and do more research. The link explains all of my notes in a more beginner-friendly manner.