Нестандартная система рассчета расходов на содержание армии

Добавлен
Я сделал систему на jass, которая изменяет величину расходов на содержание армии и максимальное ограничение пищи в зависимости от кое-каких действий игроков. Сама по себе она работает, но игровые константы, которые отвечают за расход и максимум пищи, постоянно изменяют установленные моей системой значения.
Вопрос таков: как отключить стандартную систему начисления расходов?
Как работает моя система
Дело в том, что в моей карте игрок может во время игры увеличить или уменьшить максимальное значение пищи. Т. е. не ограничение, которое может быть изменено постройкой\уничтожением ферм, а максимально возможное. Максимальное количество пищи может быть равно 100, 125, 150, 175 или 200. Путём нехитрых вычислений получается, что:
Максимум пищи"Желтый" лимит"Красный" лимит
100 50 80
125 63 100
150 75 120
175 88 140
200 100 160
Если потребление пищи игрока станет равным или превысит "желтый" лимит, то расходы будут, по задумке, 0.30, а если красный — 0.60 (как в мили). Становится очевидно, что мне нужно динамично изменять лимиты, а следовательно и расходы, индивидуально для каждого игрока. И у меня это получилось, но проблема изложенная выше мешает мне жить.
Если кто не знает, поясняю как работает стандартная система и как она мне мешает.
Константы:
UpKeepUsage: 50, 80, 10000, <...>
UpKeepGoldTax: 0.00, 0.30, 0.60, <...>
Первое значение в константе "UpKeepGoldTax" отвечает за объем расходов, которые будут у игрока, если не будет превышен ни один из лимитов. Если потребление пищи у игрока превысит значение в константе "UpKeepUsage", то включатся расходы. Если будет превышено первое значение (50), то расходы станут как во втором значении "UpKeepGoldTax" (0.30) и т. д.
Я могу установить недостижимые значения в UpKeepUsage, но тогда расходы будут всегда как в первом значении UpKeepGoldTax. Если через ковыряния в MPQ установить любое значение, которое не поддается расшифровке WC3, то значение будет == 0, что никак не помогает. Т. е. тоже не вариант.
Единственное решение которое я нашел — отлавливать изменения в расходах и проверять равны ли они предусмотренному мной значению и если нет, то изменять. Такое решение не годится, потому что:
Во-первых, это лишняя нагрузка.
Во-вторых, игра всегда сообщает о изменениях в расходах игрока текстовым сообщением и звуковым сигналом (кто любит играть в мили знает о чём я), и в свете вышесказанного получается, что этот "будильник" постоянно звенит.

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

в моей карте лимит пищи 300, но всегда стоит "нет расходов"
я не совсем понимаю что тебе нужно
0
14
11 лет назад
0
в моей карте лимит пищи 300, но всегда стоит "нет расходов"
я не совсем понимаю что тебе нужно
Принятый ответ
0
22
11 лет назад
0
А потребление пищи вообще в Вашей карте может превышать 50? Какие константы Вы меняли, кроме максимума пищи?
Стандартная система вычисления расходов мешает мне. Я не могу понять как её обойти.
0
22
11 лет назад
0
+
Я обновил описание и сделал его более конкретным. Надеюсь теперь кто-то из высших умов поймёт меня.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.