module.tiger is an example of the difficulties I have been facing with. I am not able to call, module:tiger, while i am able to call module.tiger.
also, I was expecting the client to return the player, in which the server prints the player’s name (i took it out but that was my original expectation.
In addition to the above answer, (should it be actual code of course) would module.tiger() be supposed to return a function? If not, you’d assign OnServerInvoke as just module.tiger, without any parenthesis.
Oh, yeah. I forgot about that. module:tiger without any parenthesis will not work. However, module.tiger will work without parenthesis. But yes, you are right.
Just as a heads up, you probably shouldn’t use : to call custom functions from module scripts, and you shouldn’t define them as such, unless you know what you’re doing. It silently adds an extra argument (as stated above lol) and while it may look better, it’s more trouble than it’s worth.
When calling a method, object:method() is just another way of writing object.method(object). It has no special behavior other than that and cannot be used to index members. When trying to index a member, you should always use object.name or object["name"].