RedHeavenHero3. Не используется функция, которая даёт имя города вместо имени героя, если тот в городе, что может привести GetObjectPosition к ошибке.
Никакой ошибки не будет:
Если герой в городе, то IsObjectExists("Olhar") ~= true , следовательно, GetObjectPosition("Olhar") не вызовется.
Добавлено через 1 минуту
RedHeavenHero1. local x, y, p = 0;
-- эквивалентно --
local x = 0
local y = nil
local p = nil
-- а не --
local x = 0
local y = 0
local p = 0
Буду знать, но в данном случае, это не важно.