В общем столкнулся с проблемой с добавлением и уменьшением брони! суть в том, что каким то чудом дополнительная броня(зеленая) всегда автоматически уменьшает на свое количество установленную белую броню. То есть если зеленой брони 30 и я устанавливаю 60 через функцию, то брони становиться ровно 60 - 30 белой и 30 зеленой. если ставлю 10 брони, то становится -20+30 брони. Установка через взятие текущей брони и добавить к ней всегда вызывает неверное количество, потому что берется уже белая + зеленая. Кто сталкивался с такой проблемой ? Вроди бы с одной стороны как бы верно считает, а с другой вообще ошибка. И интересно много ли таких неверных расчетных функций еще есть ?
И вот интересно где можно нарыть неработающие whichField юнитов, способностей и прочего? Потому, что хочется сделать все норм, а из-за этих глюков багов все равно приходится пользоваться костылями....Так как из-за глюка с броней решил тупо пользоваться зеленой броней через способность вещи добавить броню(ABILITY_ILF_DEFENSE_BONUS_IDEF). И тут она тоже не работает, попытался так же сделать со способностью добавить максимальное здоровье (ABILITY_ILF_MAX_LIFE_GAINED) и тут не пашет...без понятия че делать все стопорнулось....

Принятый ответ

Ну так оно и ставит с учётом зелёной брони
Общая броня = белая + зелёная
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
3
4 года назад
0
через что ты зеленую броню прибавляешь и отнимаешь, покажи что там наделал
0
8
4 года назад
Отредактирован Castiel
0
lizzardfyll:
через что ты зеленую броню прибавляешь и отнимаешь, покажи что там наделал
Какая еще зеленая броня ? Я говорю, что математика глючная!
допустим у юнита есть 10+10 брони. Попробую показать в 2 примерах. Надо добавить юниту 60 брони.
BlzSetUnitArmor(unit,60) - устанавливает юниту броню 50+10=60
BlzSetUnitArmor(unit,BlzGetUnitArmor(unit)+60) - устанавливает юниту броню 80+10=90
Понимаешь ? то есть вычесления от близов не верны....
Если я установлю броню 10, то будет 0+10
если добавлю к текущей 10, то будет 30+10... Смекаешь ?
То есть он слаживает еще и дополнительную броню и вычитает , если такие добавлять и вычитать броню каждый раз по нужде, то количество будет либо расти либо уменьшатся в геометрической прогрессии, но никогда не будет верным...
0
17
4 года назад
0
Ну так оно и ставит с учётом зелёной брони
Общая броня = белая + зелёная
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.