antonag07Насколько я помню, есть функция ChangeHeroStat - c ее помощью можно не только с опытом играться, но и с остальными характеристиками героя ( в т.ч. убирать\добавлять очки пунктов передвижения )
Как раз с опытом играться нельзя. Я изначально так пытался сделать
Добавлено через 4 минуты
void ChangeHeroStat( sHeroName, nStatID, nDelta )
Получение/изменение того или иного стата героя. Соотв. константы для nStatID прописаны в /scripts/advmap-startup.lua и бывают такими:
STAT_EXPERIENCE = 0
STAT_ATTACK = 1
STAT_DEFENCE = 2
STAT_SPELL_POWER = 3
STAT_KNOWLEDGE = 4
STAT_LUCK = 5
STAT_MORALE = 6
STAT_MOVE_POINTS = 7
STAT_MANA_POINTS = 8
Обращаю внимание, что функция ChangeHeroStat не устанавливает, а изменяет стат. Т.е. третьим параметром передается не новое значение стата, а разница со старым (которая может быть и отрицательной). В отличие от прочих, STAT_EXPERIENCE не может быть уменьшен. STAT_MOVE_POINTS и STAT_MANA_POINTS представляют собой текущие значения соответствующих параметров, выставить их выше максимальных – нельзя.