Существует ли в варкрафте возможность сохранить или записать получаемый опыт?
Ситуация такая. Герой достигает определенного уровня, после чего я выключаю у него получения опыта, пока он не купит соответсвующий предмет. Нужен своеобразный буфер, куда бы я записывал возможный получаемый опыт и после приобретения предмета добавлял очки опыта, полученые за время блокировки.
Второй вариант это просто запретить ему каким либо образом повышать уровень выше определенного, но опять же записывать очки получаемого опыта в переменную
Принятый ответ
Так что сложного. Есть событие герой повышает уровень, если уровень героя == такому то, блокируем опыт функцией
call SuspendHeroXP(Unit, true)
Далее есть два варианта
- Создаем второго героя который будет получать опыт и после покупки предмета переносим его опыт первому герою.
GetHeroXP(Hero)
2.Делаем кастомное получение опыта: Создаем целочисленную. При событии юнит умирает пикаем юнитов в радиусе и прибавляем к этой целочисленной опыт либо записываем в хэштаблицу на хэндл героя. Создаем триггер с событием получения предмета и выдаем опыт с сохраненной целочисленной или с ХТ.
перед выдачей опыта разблокируем получение.
перед выдачей опыта разблокируем получение.
call SuspendHeroXP(Unit, false)
call SetHeroXP( Unit, GetHeroXP(Unit) + Exp, true )
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. SoulRazor
перед выдачей опыта разблокируем получение.