Are _G Values used anymore for data? Example
_G.Cash = Instance.new('IntValue') _G.Cash.Value = 100 -- instead of local cash = Instance.new('IntValue') cash.Value = 100
Here's some decent references for events
A remote event is useful for client-server/server-client communications http://wiki.roblox.com/index.php?title=Remote_Events_and_Functions
A bindable event is useful for server-server communications http://wiki.roblox.com/index.php?title=API:Class/BindableEvent&redirect=no
Scripting helpers even made their own guide(s) https://scriptinghelpers.org/guides/server-client-relationship-in-roblox https://scriptinghelpers.org/guides/how-to-use-remoteevents-properly