Крутое продвижение, скачок прям чувствуется! Спасибо за работу, очень много мелочей было изменено и улучшено, много удобств, и это приятно. Надеюсь дальше не остановитесь :)
Как вариант, делать свою систему ауры. Значит будет у тебя группа юнитов A для одного персонажа с аурой (изначально пустая). Выбираешь каждую секунду всех подходящих юнитов вокруг героя в указанном радиусе B. Сравниваешь, если в группе B есть новые юниты, которых нет в группе А, то добавляем их в группу А и даем им способку на сопротивление 33%. Если в группе A есть юниты, которых нет в группе B, то удаляем этих юнитов из группы А, не забывая удалять способку на 33%. Все готово.
Если же у тебя эта способка может быть у нескольких персонажей, то естественно система усложняется. Либо массивами либо локальными решениями, но главную суть я думаю передал.
Я не уверен, можно ли сделать это как-то более просто через РО решения. Мб тут надо глубже покопать ауры или другие способки, другие костыли.
(не забываем чистить группу юнитов B после каждого выбора в конце)
Создать плавающий текст над юнитом, записать этот текст в переменную, каждые 0.05 секунд смещать этот плавающий текст к позиции юнита.
Естественно, если у тебя юнитов много, то тебе надо как-то отслеживать где чей плавающий текст. Как вариант можно просто использовать 2 массива - юнитов и текстов, где одинаковый индекс это и есть их связь. То есть Юнит[13] будет соответствовать Текст[13].
Если у тебя будут юниты умирать и надо будет удалять текст - находишь юнита в массиве, устанавливаешь null значение (удаляя юнита из массива), и удаляешь плавающий текст с тем-же индексом что и юнит.
Добавлять по сути так-же, ищешь свободное место в массиве и добавляешь туда юнита и создаешь плавающий текст с тем-же индексом.
Еще не забываем избавляться от утечек с таким постоянным смещением текста (точки то создаются).
Триггеров вполне хватит для такой задачи. Если не понятна какая-то деталь - спрашивай. Но не всю наработку за тебя сделать, а что именно из этого ты не знаешь. Можешь даже показать свой триггер, где ты сделал все что мог а дальше не знаешь что делать и почему не работает.
Кстати, в варике вроде есть ограничение на кол-во плавающих текстов. То есть одновременно больше определенного кол-ва текстов у тебя на карте не будет... То-ли 128, то-ли 256, не помню. Вроде 128.
Основную логику работы системы я выше расписал, если будут конкретные вопросы, попробуй сначала сам попытаться разобраться, открывая действия триггеров и читая что там происходит (ибо часто все подписано там детально). Если проблемы с инглиш названиями - используй переводчик.
И если не поймешь конкретный процесс - пиши, указывай какое действие в каком триггере не понял а оно тебе нужно для твоей цели.
В целом в триггерах от близзард много декоративных и дополнительных вещей, типа воспроизвести голос командира, сломать нужные декорации, передать под контроль других юнитов, пингануть на карте и тд, что тебе не обязательно пригодится, но ты можешь сделать так-же.
Svet_2009,
а вот триггеры по освобождению командиров. LieutenantsFree - переменная, которая считает, сколько ты освободил командиров. При каждом освобождении мы увеличиваем ее на 1:
LieutenantsFree = LieutenantsFree + 1
Потом запускаем триггер проверки (в данном случае это Quest FreeBEs Update Q), где проверяется, если LieutenantsFree == 1 или 2 или 3 то меняем текст задания, что нужно освободить 3 2 1 командира. А если LieutenantsFree == 4, значит все освобождены, и задание закрываем. Вот и все.
Если ты пытаешься разобраться то у тебя возникают конкретные вопросы по деталям а не "я не могу сделать весь квест". Это тоже самое как я не могу создать доту 2, как мне создать доту 2? На такой вопрос никто не ответит.
В данном случае я могу предположить, что ты не понял, как отследить что командир спасен и как это проверить, правильно я предполагаю? (не я должен догадываться, что ты не понял, а ты должен был сказать, что не получается в квесте понять или создать, конкретные детали, иначе создается впечатление что даже базовые вещи как "создать квест" тебе надо объяснить)
Svet_2009, ну давай по очереди...
QuestLieutenant - это переменная что ссылается на квест. По ней мы можем задание завершать, проваливать и тд.
QuestLieutenantReq и QuestLieutenantReqDontDie это дополнительные условия квеста. Их описание мы можем увидеть при создании этих условий (спасти 4 командиров и герои должны выжить). Тебе эта часть была непонятна?
Ну раз уж на то пошло, сразу еще момент. Ветки комментариев думаю тоже должно считать в общую сумму комментариев под ресурсом?
Вот показано, что 2 коммента
А на самом деле в ветке еще 2, то есть в сумме должно быть 4
Если в ветке добавился комментарий, то должен подсветиться новый коммент в списке ресурсов. (наверное не работало по причине неправильного подсчета суммы комментов)
Ну и так-же зависают некоторые +1 или +2, которые просмотрел. То есть открываю страницу заново - а там снова пишет те-же +2, хотя комменты просмотрены.
LastUchiha, ниже Гогонаш расписал алгоритм как это сделать. Если есть еще вопросы - уточняй, что именно не получается или не понял из его описания.
У тебя снежок это снаряд или юнит? Чтобы понять, как можно отследить его полет. Как у тебя реализована способка, можешь скинуть карту или скриншот триггера со снежком?
Я не очень понял... вопрос как создать спецэффект? Если да - то это легко. Есть триггерное действие создать спецэффект в точке. Указываешь модельку и все.
В идеале создать через код + заранее вызвать функцию уничтожения, чтобы после анимации он удалился и не засорял память типа "call DestroyEffect(effect)" что-то типа такого, если надо, могу посмотреть как писалось.
А если вопрос про способность как летит и тд, ты совсем ее не реализовывал? Эта система может по разному быть создана.
ScorpioT1000, если фокус тааак необходим, то почему при отправлении нового комментария в фокусе есть уведомление, что типа показано не все. А вот если обновить страницу и снова открыть ветку с тем-же самыми комментариями, то такого текста не будет (то есть фокуса не будет), хотя содержимое страницы и там и там одинаковое?
Вот пример (после написания коммента и после обновы страницы и открытия ветки):
» WarCraft 3 / Аура на защиту от магии
» WarCraft 3 / Аура на защиту от магии
» XGM Team / Обновление 2024 - Stage 15
» WarCraft 3 / Аура на защиту от магии
Ред. konvan5
» WarCraft 3 / Аура на защиту от магии
Если же у тебя эта способка может быть у нескольких персонажей, то естественно система усложняется. Либо массивами либо локальными решениями, но главную суть я думаю передал.
» Far Tale / DevLog 11
» Far Tale / DevLog 11
» WarCraft 3 / Как привязать ТЕКСТАГ к юниту?
» WarCraft 3 / Как привязать ТЕКСТАГ к юниту?
Естественно, если у тебя юнитов много, то тебе надо как-то отслеживать где чей плавающий текст. Как вариант можно просто использовать 2 массива - юнитов и текстов, где одинаковый индекс это и есть их связь. То есть Юнит[13] будет соответствовать Текст[13].
Если у тебя будут юниты умирать и надо будет удалять текст - находишь юнита в массиве, устанавливаешь null значение (удаляя юнита из массива), и удаляешь плавающий текст с тем-же индексом что и юнит.
Добавлять по сути так-же, ищешь свободное место в массиве и добавляешь туда юнита и создаешь плавающий текст с тем-же индексом.
Еще не забываем избавляться от утечек с таким постоянным смещением текста (точки то создаются).
» WarCraft 3 / Задание по освобождению юнитов
И если не поймешь конкретный процесс - пиши, указывай какое действие в каком триггере не понял а оно тебе нужно для твоей цели.
» WarCraft 3 / Задание по освобождению юнитов
» WarCraft 3 / Задание по освобождению юнитов
а вот триггеры по освобождению командиров. LieutenantsFree - переменная, которая считает, сколько ты освободил командиров. При каждом освобождении мы увеличиваем ее на 1:
» WarCraft 3 / Задание по освобождению юнитов
В данном случае я могу предположить, что ты не понял, как отследить что командир спасен и как это проверить, правильно я предполагаю?
(не я должен догадываться, что ты не понял, а ты должен был сказать, что не получается в квесте понять или создать, конкретные детали, иначе создается впечатление что даже базовые вещи как "создать квест" тебе надо объяснить)
Ред. konvan5
» WarCraft 3 / Задание по освобождению юнитов
QuestLieutenant - это переменная что ссылается на квест. По ней мы можем задание завершать, проваливать и тд.
QuestLieutenantReq и QuestLieutenantReqDontDie это дополнительные условия квеста. Их описание мы можем увидеть при создании этих условий (спасти 4 командиров и герои должны выжить). Тебе эта часть была непонятна?
» WarCraft 3 / Задание по освобождению юнитов
» WarCraft 3 / Lost Temple 3C
» Администрация XGM / Доделать аватары-гондоны
» Администрация XGM / Мой коммент считается как новый для меня в ветке
» Администрация XGM / Мой коммент считается как новый для меня в ветке
(наверное не работало по причине неправильного подсчета суммы комментов)
» Администрация XGM / Мой коммент считается как новый для меня в ветке
» WarCraft 3 / Warcraft World Editor
У тебя снежок это снаряд или юнит? Чтобы понять, как можно отследить его полет. Как у тебя реализована способка, можешь скинуть карту или скриншот триггера со снежком?
» WarCraft 3 / Warcraft World Editor
В идеале создать через код + заранее вызвать функцию уничтожения, чтобы после анимации он удалился и не засорял память типа "call DestroyEffect(effect)" что-то типа такого, если надо, могу посмотреть как писалось.
А если вопрос про способность как летит и тд, ты совсем ее не реализовывал? Эта система может по разному быть создана.
» Администрация XGM / Апгрейд комментариев, ч2
» Администрация XGM / "Показан только небольшой набор коммент..." при обычном комменте
Мб так нужно чтобы выделить текущий диалог, тогда окей.
» Администрация XGM / "Показан только небольшой набор коммент..." при обычном комменте