sergejez, триггер нового дня может быть только один, поэтому скрипт не работает. Если отбросить выдачу опыта в несколько шагов, а оставить только логику "каждый день Зехир получает опыт, пропорциональный своему уровню", то можно написать так:
-- таблица уровней и величины опыта
zehir_lvl_and_exp = {от большего уровня к меньшему, {3,600}, {1,320}};
function NewDay()
if IsHeroAlive("Zehir") == not nil then
local zehir_level = GetHeroLevel("Zehir");
for lvl_and_exp in zehir_lvl_and_exp do
if zehir_level >= lvl_and_exp[1] then
ChangeHeroStat("Zehir", STAT_EXPERIENCE, lvl_and_exp[2]);
break
end
end
end
end
Trigger(NEW_DAY_TRIGGER, "NewDay" );