So about the 1st reason, I wanted this tutorial to be for begginers, to get a a general idea of oop, but making a seperate article on these terms that is kind of a sequel to this one is a good idea.
And about the variety of examples, I refrenced 3 different examples which i think is enough. And sure a Car example has been used a lot, which is something that I should take count of.
Also I didn't really understand what you meant in the last reason
But other than that ty for your feedback! cause I do have an idea of remaking this article due to many reasons and flaws
First off, don't post screenshots of the code. This makes it impossible to copy and paste it and make necessary changes. Your string colour is so dark I can't even read it.
Second off, your CheckAdmin function is going to immediately return false if a player joins but their UserId is not first in the list. Even if it's an admin.
Also, the IDs should already be a number, calling tonumber is just redundant.
function module.isAdmin(client) --// 'is' is better than 'check'
for _, id in ipairs(Admins) do
if (rawequal(client.UserId, id)) then
If the return false; statement is reached that is because the above was not fulfilled; the player is not an admin.
Also, you should not be handling admin commands client sided. An exploiter can manipulate the requirements this way.
Finally, you are not using len correctly. It is used string.len(s) or s:len(). Again, this is a number, you don't need to call tonumber. Either way, don't use it: we have the unary length operator #. Use #s.
So what did we learn today?
Module Scripts(require, etc.)
Your thread does not revolve around events, module scripts or tables. You listened for events, yes, but your thread isn't about events! Same for everything else.