Я сделал систему на 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, <...>
UpKeepUsage: 50, 80, 10000, <...>
UpKeepGoldTax: 0.00, 0.30, 0.60, <...>
Первое значение в константе "UpKeepGoldTax" отвечает за объем расходов, которые будут у игрока, если не будет превышен ни один из лимитов. Если потребление пищи у игрока превысит значение в константе "UpKeepUsage", то включатся расходы. Если будет превышено первое значение (50), то расходы станут как во втором значении "UpKeepGoldTax" (0.30) и т. д.
Я могу установить недостижимые значения в UpKeepUsage, но тогда расходы будут всегда как в первом значении UpKeepGoldTax. Если через ковыряния в MPQ установить любое значение, которое не поддается расшифровке WC3, то значение будет == 0, что никак не помогает. Т. е. тоже не вариант.
Единственное решение которое я нашел — отлавливать изменения в расходах и проверять равны ли они предусмотренному мной значению и если нет, то изменять. Такое решение не годится, потому что:
Во-первых, это лишняя нагрузка.
Во-вторых, игра всегда сообщает о изменениях в расходах игрока текстовым сообщением и звуковым сигналом (кто любит играть в мили знает о чём я), и в свете вышесказанного получается, что этот "будильник" постоянно звенит.
Во-первых, это лишняя нагрузка.
Во-вторых, игра всегда сообщает о изменениях в расходах игрока текстовым сообщением и звуковым сигналом (кто любит играть в мили знает о чём я), и в свете вышесказанного получается, что этот "будильник" постоянно звенит.
Принятый ответ
в моей карте лимит пищи 300, но всегда стоит "нет расходов"
я не совсем понимаю что тебе нужно
я не совсем понимаю что тебе нужно
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
я не совсем понимаю что тебе нужно
Стандартная система вычисления расходов мешает мне. Я не могу понять как её обойти.
Я обновил описание и сделал его более конкретным. Надеюсь теперь кто-то из высших умов поймёт меня.