03-04-2011, 04:41 AM
'self' is actually created and filled in on the C++ side when calling a plugin function, it allows you to call C++ functions on itself like SetName and GetName. Those functions are inaccessible from outside the plugin function call itself. You cannot do AreaPlugin:GetName() or AreaPlugin.GetName() or AreaPlugin.self:GetName(), they will all fail.