Как сделать MUI абилку при помощи глобальных массивов?
Принятый ответ
LastUchiha, нашел косяк, исправил проверку.
Систему можно еще оптимизировать, использовав хэш-таблицу, структуры и тд и тп. Но как пример ты уже можешь экспериментировать с этим.
Систему можно еще оптимизировать, использовав хэш-таблицу, структуры и тд и тп. Но как пример ты уже можешь экспериментировать с этим.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




Ред. LastUchiha
Ред. konvan5
Ну и скинь сюда эту карту с такой абилкой.
Ред. LastUchiha
Ред. konvan5
При касте создаем таймер, группу и тд записываем в массив. Когда абилка закончила свое действие - удаляем таймер, группу и тд, а массив смещаем, чтобы не было пустых элементов.
Ред. konvan5
Ред. LastUchiha
я конечно понимаю что ты хотел на чистом джассе реализовать с глобалками, но хэштаблица со структурами будет удобнее, тем более, ты уже юзаешь вджасс
Систему можно еще оптимизировать, использовав хэш-таблицу, структуры и тд и тп. Но как пример ты уже можешь экспериментировать с этим.
Ред. konvan5
Сделаем абилку, которая будет хилять юнита (кастующего) каждую секунду на 10 хп а противника (цель) уменьшать хп на 10 в секунду в течении 5 секунд.
Ну как вариант:
- Создаем массивы всех данных, что использует твоя способка, к примеру Heroes, Targets, Times
- Создаем переменную, означающую количество активных способок ACount
Далее 2 варианта сохранения и удаления данных из массива. А именно, когда абилка завершила свое действие, надо удалить ее данные из массива. Что делаем с остальными абилками идущими после этого индекса? Если ничего, то остается пустое место в середине массива, куда сможем записать новую абилку. Либо лучше сместить все данные после текущей абилки влево, закрыв пустое место и уменьшив счетчик ACount.Тут как раз таки главная проблема в том, как ты будешь ориентироваться и находить данные этой способки в течении всего жизненного цикла ее, чтобы не потерять связь между этими данными.
Как один из вариантов, будем сдвигать все данные влево при уничтожении абилки.
Использую псевдокод чтобы был понятен смысл и мне лень вспоминать какие там функции в варике и как они выглядят.
- Если тебе нужно будет в какой-то момент получить данные способки, просто ищем этого юнита в массиве Heroes[] и далее используй тот-же индекс для получения остальных данных из других массивов. Усе.
Можно еще добавить про "правильное" очищение ссылок переменных но это уже вопрос оптимизации.Ред. LastUchiha
А проблема в том что я как раз таки не знаю как очищать место.
Ред. rsfghd
Код
Ред. konvan5
Ред. Extremator
Архивом не пускает
-
Fly_Fire_3.w3x
-
Fly_Fire_4_2.w3x
-
Fly_Fire.w3x
-
Fly_Fire_4.w3x
Полный список