This doesn't make sense. It's extremely unlikely that a flag will land exactly where it spawns, unless you will cause it to return there. In that case, just use a variable to keep track of whether the flag has been returned or whather it has been picked up (the default CTF flags already do this).
But if for some reason you need to do it this way, I would have the origin check function return a boolean (true/false), and call it from within the :allowed() function. And instead of checking for an exact coordinate, test for a max/min range of x, y, and z. Otherwise it would almost never return true.
|