I use classes basically when i need to add properties or methods to an game object, for example in Iron Man IV i use classes to control all the enemies or allies behavior (flight, shoot, target locking, etc.), in Heli Combat i use classes to make the Nightvision effect, it's very useful. For example, let's say that we want get peds damaged by player and make them float for a while, each shoot will make them float for 1 second. We can create an simple class that holds the Ped , the time of float state, an trigger to start/increase the float state and the method that will make them float : Here we have: Public p as Ped = Nothing - this is the ped, i set = nothing to make sure that starts with nothing for the ped object, this is a Public property, it means that we can access it outside the class Private float_time As Double = 0 - this is how much time the ped will float, an counter, its Private because i don't need to access it outside the class Public Sub New(tPed As Ped) ...