-- инициализируем переменную каким-нибудь состояним по-умолчанию.
-- Не обязательно, но очень полезно, так как если мы случайно обратимся к ней раньше,
-- чем ее создадим, скрипт вылетит. Инициализация в начале файла
-- гарантирует что переменная точно всегда будет существовать.
hero_level = 1; -- задаем переменной значение?
-- когда появилась необходимость запомнить текущий уровень героя,
-- вызываем эту функцию, глобальная переменная запоминает его значение
-- до тех пор, пока не будет переприсвоена снова.
function foo()
hero_level = GetHeroLevel('hero'); -- в функции переменная равна уровню героя?
end
-- в любой последующий момент из любой другой функции мы можем использовать это значение.
-- скажем более осмысленный пример - дадим герою крестьян столько же, какой у него был уровень:
function bar()
AddHeroCreatures('hero_name', CREATURE_PEASANT, hero_level);
end