Я реализовал ауру обобшествления/социализма у себя в custom melee карте. Реализовал это через стандартную функцию tax. Если в команде 2 игрока, по 50% налогов игроки платят друг другу. Если 3 игрока то по 33%. И так далее.
В ходе тестирования было обнаружено что игроки играющие под аурой коммунизма имеют 50% от добытого золота в таблице рекордов. Т.е. золото поступающее от налогов не засчитывается в таблицу рекордов в конце игры. Это руинит всю соревновательность.
Можно ли придумать какой-то скриптик который будет учитывать прибыль от налогов в таблице рекордов? Либо реализовать эту механику как-то иначе.

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

Вот карта с тестом. Можешь добыть рабочим 2 раза по 3 монетки = 6, а в таблице рекордов покажет 20 монеток добыто.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
23
3 недели назад
Отредактирован konvan5
1
Предположим у тебя делится налог на 3 игроков. То есть из 10 монет тебе приходит 3, синему и бирюзовому тоже по 3 монеты. 1 теряется. Вопрос, ты хочешь, чтобы в результаты записало 10 монет за эту добычу а не 3, верно? Тому кто добыл, а не кто получил от другого игрока налог.
Все правильно понял?
Ответы (5)
1
23
3 недели назад
1
Если да, то я тут потестил, можно вполне создать скрипт... но со сложностями, учитывая твои условия...
Смысл способа в том, чтобы ловить каждую добычу. По моему примеру это 3 монеты с рудника.
Для этого нам понадобится переменная для хранения последней зарегистрированной добычи игрока (ибо я не нашел способ понять, сколько золота мы получили).
Текущее добытое золото - последняя зарегистрированное золото из переменной = добытое золото (3 монет)
Устанавливаем золото текущее у игрока = золото текущее - потерянное налогом золото (7 монет)
Выключаем этот триггер (чтобы не засечь добавление добычи)
Даем игроку триггерно потерянное налогом золото (7 монет)
Сохраняем текущее добытое золото в переменную (регистрируем).
Включаем этот триггер
Готово.
Как получили 7? Добытое золото можно было бы использовать для формулы, чтобы понять, сколько ты потерял из добычи, но это невозможно, когда проценты могут потерять единицы добычи. Как в примере выше 3+3+3+1 (где 3 для игроков а 1 потеряли монетку)
Поэтому единственный костыль - это прямо делать жесткую привязку добытого золота к числу компенсации. Типа если добытое золото = 3, то потеря равна 10-3=7 (при делении на 3 игроков).
Расчеты на 2-их игроков более легкие без потерь, там все окей. Да и расчеты мои работают при условии, что добыча стандартная 10 монет. Если говорить про дерево - то там же могут и 20 дерева добывать и 200, нужны свои условия и проверки на добытое кол-во.
Еще одна проблема - это расходы за лимиты (которые справа сверху отображаются, 30%, 60%). Прикол в том, что даже при 30% ты теряешь не 30% СВОЕГО золота, а 30% ВСЕГО золота, что добывал. То есть из 3 добытых монеток потеряешь все 3, то есть добудешь 0 монет. А значит по твоей системе налогов играть с расходами невозможно.
1
23
3 недели назад
1
Вот как выглядит скрипт решения на золото. Работает прекрасно, если нет расходов, и не важно какие ты там налоги расставишь между игроками. И при стандартной добычи золота (10 монеток, иначе надо делать доп условия. Как с деревом надо бы).
Загруженные файлы
0
3
3 недели назад
0
konvan5, можно итак, но изначальная проблема в том, что доходы от налогов не засчитываются. Надо бы чтобы все налоги засчитывались в таблицу рекордов. Т.е. если играют 3 игрока то у них должно быть поровну добытой голды в таблице рекордов (+-, в зависимости от того в какой момент они вкачали апгрейд).
Но в целом можно и индивидуальную добычу сделать. Главное чтобы хоть как-то засчитывалось.
0
3
3 недели назад
0
Предположим у тебя делится налог на 3 игроков. То есть из 10 монет тебе приходит 3, синему и бирюзовому тоже по 3 монеты. 1 теряется.
konvan5, а разве голда это не переменная типа "реальная"? Я думал она считается точно также как и ХП, с двумя цифрами после запятой. Но в самой игре и гуях она целочисленная. Но я не сёрчил этот вопрос, могу ошибаться.
1
23
3 недели назад
1
WilliamBz, да целочисленная)
Сделать проверку для игрока, что если есть налоги тогда делать перерасчеты, это как раз не проблема.
1
23
3 недели назад
1
Вот карта с тестом. Можешь добыть рабочим 2 раза по 3 монетки = 6, а в таблице рекордов покажет 20 монеток добыто.
Загруженные файлы
Принятый ответ
0
3
3 недели назад
0
Еще одна проблема - это расходы за лимиты (которые справа сверху отображаются, 30%, 60%). Прикол в том, что даже при 30% ты теряешь не 30% СВОЕГО золота, а 30% ВСЕГО золота, что добывал. То есть из 3 добытых монеток потеряешь все 3, то есть добудешь 0 монет. А значит по твоей системе налогов играть с расходами невозможно.
Мы тестировали эту карту, расходы считались нормально. Т.е. если 3 игрока, и у тебя расходы были 30%, то ты добывал не 3 голды а 2. Т.е. расходы считаются после того как ты раздашь налоги. Близзы это предусмотрели.
0
3
2 недели назад
0
В любом случае если игроки могут терять голду из-за неправильной математики, то придется отказаться от этой идеи. Оставить её только как пасхалку, например если игрок много раз кликает на ратушу.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.