The three most vital classes in RGSS3 are NilClass, TrueClass, and FalseClass.
NilClass is the class for the nil value. Any undefined variable is nil until specified. When every you get “undefined method for nil NilClass” it means the variable you are trying to modify is nil. Nil can only be used when testing conditions(returning false), determining when an item is nil (nil?), or (under rare cercumstances) converted to another class(Array, Float, Integer, or String). NilClass does absolutly nothing as is a source of most if not all undefined method errors.
FalseClass is used by the term false and is used only to test weather a condition is true and will always return false.
NilClass and FalseClass are the only two times a class alone will return false.
TrueClass is for the true condition and will always return true. All other objects will return true as well, but you will see alot of true being used in scripts, especially in script settings.
For more information please look at the help file provided with Ace.