Я реализовал ауру обобшествления/социализма у себя в custom melee карте. Реализовал это через стандартную функцию tax. Если в команде 2 игрока, по 50% налогов игроки платят друг другу. Если 3 игрока то по 33%. И так далее.
В ходе тестирования было обнаружено что игроки играющие под аурой коммунизма имеют 50% от добытого золота в таблице рекордов. Т.е. золото поступающее от налогов не засчитывается в таблицу рекордов в конце игры. Это руинит всю соревновательность.
Можно ли придумать какой-то скриптик который будет учитывать прибыль от налогов в таблице рекордов? Либо реализовать эту механику как-то иначе.
Accepted answer
Вот карта с тестом. Можешь добыть рабочим 2 раза по 3 монетки = 6, а в таблице рекордов покажет 20 монеток добыто.
Uploaded files
`
LOADING AD...
To leave a comment please sign in to the site.
Edited by konvan5
Все правильно понял?
Смысл способа в том, чтобы ловить каждую добычу. По моему примеру это 3 монеты с рудника.
Для этого нам понадобится переменная для хранения последней зарегистрированной добычи игрока (ибо я не нашел способ понять, сколько золота мы получили).
Текущее добытое золото - последняя зарегистрированное золото из переменной = добытое золото (3 монет)
Выключаем этот триггер (чтобы не засечь добавление добычи)
Даем игроку триггерно потерянное налогом золото (7 монет)
Сохраняем текущее добытое золото в переменную (регистрируем).
Включаем этот триггер
Готово.
Поэтому единственный костыль - это прямо делать жесткую привязку добытого золота к числу компенсации. Типа если добытое золото = 3, то потеря равна 10-3=7 (при делении на 3 игроков).
Расчеты на 2-их игроков более легкие без потерь, там все окей. Да и расчеты мои работают при условии, что добыча стандартная 10 монет. Если говорить про дерево - то там же могут и 20 дерева добывать и 200, нужны свои условия и проверки на добытое кол-во.
Сделать проверку для игрока, что если есть налоги тогда делать перерасчеты, это как раз не проблема.