Yes, you are right on that. Now I see why it does that.
Because I use:
It always assume I have self when calling it. If I use
then it is actually expecting to get two variables, where the first one will work as "self".
Now that I am sending only string, it thinks this string is self, and there is no string, string hence being NIL.
It makes sense now. Didnt realise it works this way. I thought if calling with table.function, it would then do the same, but just without possibility to call self, didnt realise it then assumes the first one is self if I originally declared the function with ":".
Good to know that now. Never realised that before. Thanks p-OS!