EugeAl, работает не тип цели а классификация войск, этого нет у разрушаемых
подозреваю только бд делать, где сохранять в равкод разрушаемого булевую, а потом доставать в нужных циклах
msproper, ну можно при спавне/инициализации юнитов, сохранить в них позицию. Сделать простую систему отлова нахождения в бою и возвращать обратно на свои посты юнитов
Даммикаст банальный. Делаешь юнита-пустышку и абилку пустышку, при касте которой выбираешь всех юнитов в области, создаёшь даммика, выдаешь ему абилку нужную и приказываешь её кастовать, ещё таймер истечения даёшь
Тут утечка локации, потому что GetUnitLoc создает новую, но она потом не удаляется. Решение в ГУИ: записать GetUnitLoc в глобальную (или локальную) переменную, пройтись по группе, и удалить локацию (DestroyLocation).
Если упоминаешь одну утечку, расскажи и об другой в той же строке Lasto4ka:
Я не знаю как принято, но по-моему единственный выход - это локально создать группу, чтобы она у кастующего юнита была своя, а в конце триггера её удалять
Темповый таймер, массивные группы и темповая целочисленная для работы с индексом массивных переменных. Вот тебе и гуи муи без локалок и хэша
По типу работы со стеком, когда последний элемент ставится на место текущего и общий размер уменьшается на единицу
Leviathan, хэндл это объект
В гуи ты никак не поставишь выше максимального размера. Чревато только лишним созданием ненужных групп. То есть ты то можешь создать 100+ групп, но в игре ты используешь например всего 6, в итоге остальные группы просто так занимают память. Да и в принципе это банально занимает какую-то долю секунды для загрузки карты, так что лучше создавать по мере необходимости, а не про запас (конечно возможны наверное какие-то исключения)
Borodach, всё правильно, хэндлы требуют указания массивности, на это количество будет обрабатываться действие Create в цикле при инициализации. Если не указывать массивность, то придется самому создавать группы действием
set udg_Group[index] = CreateGroup( )
RvunOchka, ну если это не помогло тогда только модель править, я бы и сам это сделал, но нет компа, так что обратись в эту тему xgm.guru/p/wc3/needmodels
Rare, на первом скрине Get matching/filter unit должно быть, а не picked в условиях
На втором скрине должно нормально работать, и можно спокойно убрать проверку на союзника и на юнита который кастует, оставив только проверку на здание, наземность и противника
Скинь карту с нерабочими вариантами, которые должны были по логике работать, с учётом вышесказанного
Meddin, так убери просто условие и всё. Там изначальное условие чтобы юнит которого бьешь не получал ещё больше урона, только те что рядом, инвертировав условие получает дополнительный урон только юнит которого бьёшь, если убрать условие то будут и соседние дамажиться и тот которого бьёшь
Meddin, зачем мне инвертировать условие? Тогда по сути юнит, которого бьют, получит 2 раза урон. В карте всё работает, я ж скинул видео, соседние дамажутся
Скинь мою карту после того как проверил и заметил, что соседние не дамажутся. Если ты вообще ничего не изменял, то фиг его знает если честно
Блин, слушай, и верно, у тебя тоже тогда рядом стоящие не дамажатся, как от сферы огня, а было бы круто, ну это ничего, достаточно добавить будет после этой строки
ложь, открыл карту всё работает нормально, даже убрал огонь для наглядности, это ты что-то накосячил
одна хэштаблица тебе нужна для яда, который будет сейвиться по ключу кастера и таргета, но её так же можно и для таймеров собственно юзать и прочего, нужна эта хэштаблица потому что если ты ещё что-то сохраняешь в кастера (в моём случае это эффекты сильного удара), то есть шанс перезаписи, естественно ты можешь сохранить допустим в ячейку 1, 2, 3 и так далее эффекты, ибо GetHandleId возвращает какие-то миллионные числа и шанс перезаписи крайне мал, но он всё равно есть, а значит лучше просто отдельную хэштаблицу для этого дела оставить, правда если у одного героя будет несколько ядовитых абилок, то тут видимо нужно как-то додумывать систему, оффсеты делать
это целочисленная, ключ вджасса позволяет генерировать уникальное константное число, это по сути улучшенная версия StringHash
библиотека позволяет блокировать урон, по сути как доспехи элуны против магии или как там правильно, только намного более гибкое ибо ты сам решаешь сколько блочить на каждый случай, мне не понадобилось, я по привычке закинул
да, это время
да, в остальных триггерах я просто налепил всяких эффектов, они не важны
Meddin, я думал над тем чтобы сразу писать на чистом джассе, зная тебя, но стало лень когда библиотеку на блок урона закинул (она кстати не пригодилась), если нужна будет помощь с переписыванием, то напишешь, потому что там 2 хэштаблицы понадобятся если сохранять именно такой тип ядов, потому что возможна перезапись значений
яд можно разделить на несколько категорий
вариковский - проверяющий наличие дебаффа на юните, не стакающийся яд который сбивается тем, кто атакует, обновляется при атаке
нубский - тупо таймер каждый раз периодический вешать, стакающийся яд
нормальный - сохраняется таймер в атакующего по ключу жертвы, таким образом яд от разных юнитов будет стакаться, но от одного и того же нет, только обновляться, то есть яды не перебивают друг друга и при этом работают как вариковские
» WarCraft 3 / Как отделить деревья от разрушаемого?
» WarCraft 3 / Проблема с ботом
» WarCraft 3 / Зависимость уровня способности у юнита
» WarCraft 3 / Как отделить деревья от разрушаемого?
подозреваю только бд делать, где сохранять в равкод разрушаемого булевую, а потом доставать в нужных циклах
» WarCraft 3 / Ошибка в Jass
» WarCraft 3 / Как сделать AOE способность?
» WarCraft 3 / Приказ оставаться на месте
» WarCraft 3 / Как сделать AOE способность?
» Остров доктора Dragonlor / Новогодний конкурс моделей 2022 - Алтарь призыва героев
» WarCraft 3 / Как изменить звук стрельбы лука
» WarCraft 3 / Странности условиях триггеров
» WarCraft 3 / Странности условиях триггеров
Lasto4ka:
» WarCraft 3 / Не добавляются юниты в массив [2 и более] отряда
В гуи ты никак не поставишь выше максимального размера. Чревато только лишним созданием ненужных групп. То есть ты то можешь создать 100+ групп, но в игре ты используешь например всего 6, в итоге остальные группы просто так занимают память. Да и в принципе это банально занимает какую-то долю секунды для загрузки карты, так что лучше создавать по мере необходимости, а не про запас (конечно возможны наверное какие-то исключения)
» WarCraft 3 / Не добавляются юниты в массив [2 и более] отряда
set udg_Group[index] = CreateGroup( )
» WarCraft 3 / Как можно расширить макс число плавающего текста?
» WarCraft 3 / Как можно поместить здание под ландшафт?
» WarCraft 3 / Как можно поместить здание под ландшафт?
» WarCraft 3 / Странности условиях триггеров
На втором скрине должно нормально работать, и можно спокойно убрать проверку на союзника и на юнита который кастует, оставив только проверку на здание, наземность и противника
» WarCraft 3 / Проблема с ядом
» WarCraft 3 / Проблема с ядом
» WarCraft 3 / Проблема с ядом
https://www.xgm.guru/p/wc3/hashtable/comments/view/486699
» WarCraft 3 / Проблема с ядом
Ред. rsfghd
» WarCraft 3 / Проблема с ядом
- абилка яда, т.е. заклинание (дебафф)
- это целочисленная, ключ вджасса позволяет генерировать уникальное константное число, это по сути улучшенная версия StringHash
- библиотека позволяет блокировать урон, по сути как доспехи элуны против магии или как там правильно, только намного более гибкое ибо ты сам решаешь сколько блочить на каждый случай, мне не понадобилось, я по привычке закинул
- да, это время
да, в остальных триггерах я просто налепил всяких эффектов, они не важныРед. rsfghd
» WarCraft 3 / Проблема с ядом
» WarCraft 3 / Проблема с ядом
вариковский - проверяющий наличие дебаффа на юните, не стакающийся яд который сбивается тем, кто атакует, обновляется при атаке
нубский - тупо таймер каждый раз периодический вешать, стакающийся яд
нормальный - сохраняется таймер в атакующего по ключу жертвы, таким образом яд от разных юнитов будет стакаться, но от одного и того же нет, только обновляться, то есть яды не перебивают друг друга и при этом работают как вариковские