Здравствуйте! Я хотел бы без использования триггеров сделать счётчик. У меня есть алгоритм, который является уклонением от атаки врага. В его полях реакция на урон - вероятность я поставил значение 0.5, что является 50% шансом увернуться от любой атаки. Теперь мне нужно сделать так, чтобы во время срабатывания этого алгоритма прибавлялось значение + 1 к некому опыту уклонения, и достигнув отметки 100, заменял предыдущий алгоритм уклонения не на 50%, а уже на 51%. Тем самым показывая, что юнит, уклоняясь от атак, прокачал свой навык уклонения на один уровень. Надеюсь я понятно объяснил. Спасибо.

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

prog, спасибо друг :) Но я уже спокойно реализовал это без триггеров, как и хотел. Я так много написал, что я сделал, что плюнул и решил просто приложить сюда свою карту с этой реализацией. Смотрите кому интересно. Правда недоработан, но суть верна.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
11
8 лет назад
0
Я придумал! Можно в момент срабатывания уклонения вешать эффект и потом с помощью валидатора подсчётка кол-ва эффектов на юните заменять алгоритм уклонения на новый уровень.
А можно сделать через обойму, где кол-во патронов будет означать текущий опыт. Только я с обоймами ни разу не работал. Просвятите пожалуйста на счёт их.
2
24
8 лет назад
Отредактирован prog
2
Для начала, рекомендую убедиться, что возможно отследить срабатывание уклонения и что само уклонение работает как задумано. А уже после этого пытаться добавлять счетчики.
P.S. а счетчик я бы рекомендовал делать все-же триггерами и хранить в кастомных данных юнита т.к. хранить большие счетчики в доступном редактору данных виде получается очень ресурсоемко и не очень удобно.
я бы реализовал эту систему примерно так:
- в таблице пользовательских данных лежит кол-во опыта которое нужно набрать и ссылки на соответствующие алгоритмы
- при старте карты триггер переносит данные из таблицы в массив, чтобы ускорить доступ к ним в будущем
- срабатывание уклонения вызывает соответствующий триггер (через эффект-пустышку или напрямую, если это вобще возможно - никогда не пытался отследить уклонение)
- триггер, независимо от уровня уклонения, увеличивает опыт на 1 и сохраняет его в юзердату юнита
- в юзердате же хранится и текущий уровень уклонения (можно и без этого, но тогда надо будет каждый раз перебирать весь массив пока не найдется соответствующая текущему уровню строка)
- дальше идет проверка - если опыта больше, чем надо для перехода на следующий уровень, то удаляем один алгоритм и добавляем другой, естественно с обновлением значений в юзердате (нужные значения для опыта и алгоритмов достаем из массива, используя текущий уровень уклонения, полученный из юзердаты)
0
11
8 лет назад
0
prog, спасибо друг :) Но я уже спокойно реализовал это без триггеров, как и хотел. Я так много написал, что я сделал, что плюнул и решил просто приложить сюда свою карту с этой реализацией. Смотрите кому интересно. Правда недоработан, но суть верна.
Загруженные файлы
Принятый ответ
0
24
8 лет назад
0
yellyex, ну, я не говорил, что это нельзя сделать без триггеров, просто на больших счетчиках потом начинаются проблемы, если делать их через данные. Особенно, если это должно работать на большом кол-ве юнитов.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.