Добавлен Haikyo
Есть moving system, сделанная из таймера и структуры. Эта система просто двигает один объект к другому с указанной скоростью.
Условно:
У пяти разных юнитов есть 5 разных снарядов, которые имеют 5 разных эффектов при столкновении, и которые движутся с помощью moving system.
То есть когда снаряд перестает двигаться, то есть достигает цели, структура уничтожается, и в этот момент мне нужно воздействовать на цель снаряда, на сам снаряд и на хозяина снаряда.
У пяти разных юнитов есть 5 разных снарядов, которые имеют 5 разных эффектов при столкновении, и которые движутся с помощью moving system.
То есть когда снаряд перестает двигаться, то есть достигает цели, структура уничтожается, и в этот момент мне нужно воздействовать на цель снаряда, на сам снаряд и на хозяина снаряда.
Я не хочу захламлять структуру или создавать разные структуры для разных способностей, поэтому я ищу способ при уничтожении структуры moving system запускать разные функции и передавать в них необходимые данные.
Что я делаю: (временно назовем структуру, двигающую объект, структурой A)
Сохраняю необходимые данные в структуру B (включая сам снаряд).
При создании структуры A также передаю ей abilID, хранящий в себе айди пустой способности, которую можно кастовать на юнита.
При уничтожении структуры А (то есть при столкновении снаряда с целью) создаю дамми-юнит, даю ему способность abilID и заставляю дамми кастовать abilID на снаряд.
При касте способности реагирует соответствующий триггер и запускает нужную мне функцию. В этой функции GetSpellTargetUnit() будет моим снарядом. Перебором структуры B я получаю нужные данные и теперь могу делать, что хочу.
Поскольку я могу передавать структуре разные abilID, в результате будут вызываться разные функции.
Так вот. Я уверен на 100%, что это весьма конченный способ. Подскажите, как можно добиться того же результата более легким способом?
Сохраняю необходимые данные в структуру B (включая сам снаряд).
При создании структуры A также передаю ей abilID, хранящий в себе айди пустой способности, которую можно кастовать на юнита.
При уничтожении структуры А (то есть при столкновении снаряда с целью) создаю дамми-юнит, даю ему способность abilID и заставляю дамми кастовать abilID на снаряд.
При касте способности реагирует соответствующий триггер и запускает нужную мне функцию. В этой функции GetSpellTargetUnit() будет моим снарядом. Перебором структуры B я получаю нужные данные и теперь могу делать, что хочу.
Поскольку я могу передавать структуре разные abilID, в результате будут вызываться разные функции.
Так вот. Я уверен на 100%, что это весьма конченный способ. Подскажите, как можно добиться того же результата более легким способом?
Принятый ответ
способ 1
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован nvc123
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
Отредактирован Clamp
Отредактирован nvc123
Clamp:
про модули не понял
Модули.
если же зашёл чтобы тупо пофлудить то кыш отсюда
тут один из немногих нормальных вопросов в академии
Clamp:
хотя в вар3 на это всем пофиг как правило
Clamp:
хотя можно реализовать и через модули
Отредактирован Doc
Может быть вот ето освежит вашу память
stub method onHit
Отредактирован nvc123
если ты считаешь что плодить триггеры лишь для того чтобы использовать малую часть их возможностей это нормально то мне тебя жаль
в общем все ответы даны и тема закрыта
хватит разводить срач