This actually does exist: CEventNetworkPlayerEnteredVehicle
Check here for a list of game events: Game events - Cfx.re Docs
And this thread: Some Game Events and how to use them
Yes, bad practice. If you have some sort functionality that is not covered by events, it makes sense to have a single resource that checks multiple things in a loop and triggers an event when it actually happens (e.g. check out the baseevents resource). This way you only have one resource with a loop.
Not really, no. At least I do not know of any limit. You can definitely have hundreds of threads running. Of course they should be optimized but you get the point.
I have not yet dabbled in any sort of anticheat stuff, however the rule is relatively simple: “Never trust the client”. If you can then do everything on the server. Especially critical things like money/inventory etc.
Just don’t do stuff like that ![]()
In your case both resources would be running at the same time, so money would be +999 in the end (again, do stuff like that on server side).