Changed how the VM detects if the current script was called or is ticking.
Changed how the VM detects if the current script was called or is ticking.

Currently, this check exists to avoid pushing a return value on the stack
if we're returning from a ticking script. I'm pretty sure the code can be
improved a lot, but as Tera pointed out the previous implementation was
wrong because it compared the vm's currentScript against the current
coroutine's original script. If they were different it would deduce that
the script was called, otherwise the script is simply ticking. The problem
with this implementation is that it doesn't support a ticking script that
calls itself. While in practice this shouldn't be a frequent problem it's
an unnecessary limitation anyway. Especially because a correct and simpler
implementation is easy to write. If the script is ticking then before
returning the frame pointer should be zero, otherwise it should be greater
than zero. Very simple. Credits to Tera for pointing that out.

RichoM/Uzi,RichoM/Uzi,RichoM/Uzi,RichoM/Uzi,RichoM/Uzi