Используйте предметные способности (изменяйте поле). Преимущество их, в том что они невидимы, не отображается иконка. Можно обойти ограничения в 4 способности, их сразу герою давать, а не засовывать в предмет.
При получении предмета даем способности по событию
При потере/продаже удаляем способности по событию
Давать триггерно, действительно нет такой возможности, ибо близзарды не дали таакой возможности, нет функции такой. Можно использовать мем как.
Ты хочешь сделать их невидимыми или визуально невидимыми?
Визуальная невидимость - делает модель юнита прозрачной, на глазу ее не увидешь. Однако, юнит совсем не невидим, его можно заметить. Видна также тень. Даже если визуально постараться через GetLocalPlayer(), то для других юнитов все равно он видим. И могут убить его. Можно навести мышкой случайно и др.
Чтобы сделать невидимых, дают пассивную способность дух. Или другую, например, способность ночных эльфов прятаться ночью.
По событию - юнит такой-то заметил юнита
Или периодический выбирай всех юнитов вокруг призраков в группу, проверяй кол-во.
Ну это триггерно все делается. Это система приказов.
смотреть
В РО на карте: Создаешь кучу мини-областей. Все эти области лучше в массивы все загнать, то есть при инициализации. Потом будешь рандомнить число/массив.
Создаешь нейтрального жителя, даешь приказ двигаться в рандомную точку (а точнее в центр рандомной области).
Как только он дойдет до области. Ловим по событию "юнит вошел в область". Проверяем является ли он нейтральным, точнее его владельца. тогда двигаем поближе к барной стойке, и спиной заставляем повернуться к столу (лицом можешь подвигаться. как это см. в faq на сайте). Ты понимаешь, как только вошел в область, на юнита повешен таймер с 10 сек. Обычно на GUI вешают события с запусками таймеров, а вот на jass можно без события.
После того, как событие завершилось, таймер истек. Заставляем снова гулять (те же самые действия) или отправляем домой. У каждого юнита должна быть своя отправная точка, чтобы вернулся домой (запоминаешь при создании/при выходе из дома). Если это совсем безымянный юнит, которого мы не знаем. То можно не запоминать, а отправлять в любой попавшийся дом (хотя хаос будет. если кто-то вошел в чужой дом, и лег спать).
Чтобы сел на стул, на кровать, лег на нее, или начал пить стакан у барной стойки, там в парке на улице газетку читали, в панике убегали и прочее. Это вроде анимации юнита, это надо модели переделать. Как только у тебя будут эти модели, ты сможешь триггерами проигрывать. Чтобы хорошая игра вышла (как я себе представляю), нужно модели хорошо делать. Хотя можно и без этого
ps. Не делайте бродилки по всей карте, если есть участки, в которых герои пока попасть не могут. Просто разбейте на участки, в которых могут еще ходить или находятся рядом с игроком. Это бессмысленно, если не видит
ответил же в предыдущей теме xgm.guru/p/wc3/181641
Кол-во бесплатных "Доступных" героев, обычно первый герой бесплатный (это устанавливается в стандартных melee триггеров (в картах на развитие), просто удали и все). Или ставим ноль, чтобы были все платными.
Попробуй еще в разделе нейтральное здание. Там можно дать при старте игры, а потом когда наймешь героя, то удаляешь.
Со вторым вопросом не сталкивался, мб не правильно что делаешь?
У абилки есть этот параметр, но он ничего не меняет. А вот раса юнита меняет, там 4 разных рисунка (нежить, альянс, орда, ночные эльфы). А остальные параметры (демоны, живые и прочее) имеет рисунок альянса.
нельзя ли сделать больше рисунков? и какой путь рисунок имеет?
Можно использовать переменные. Запоминаешь сколько предметов на одной страничке (не знаю как это объяснить, доступим у героя 6 слотов. Вот 6 слотов будут как бы одной страницей. Когда жмешь, вместо старых появляются другие, а старые никуда не исчезли, а скрыты)..
А сделать еще можно кнопки (на панеле героя две способности-пустышки кнопки. Нажимаешь "вперед" и "назад". Так можно бесконечное число страниц сделать
item_in_slot01[массив] - предмет в 1 слоте
item_in_slot02[массив] - предмет во 2 слоте
item_in_slot03[массив] - в 3 слоте
item_in_slot04[массив] - в 4 слоте
item_in_slot05[массив] - в 5 слоте
item_in_slot06[массив] - в 6 слоте
Нужна целочисленная, которая будет хранить номер массив. Ну точнее текущий номер массива
В GUI есть команда - приказ короче - переместить предмет item_in_slot01[массив] в слот 1, и заменяет старым на новый. Но старый некуда не исчез, просто скрыт. Если ячейка пуста, то ничего не передаст, и будет пустой.
способ 2 - DGUI
можно на экране делать кнопки и прочее. Можно даже сделать дополнительные слоты, как в диабло.
Если не поймете, объясню сразу, можно попробовать самим сделать. Нужно модельку юнита оттуда взять. Там эти кнопки - юниты, которых двигают ежесекундно. У юнитов нужно паффинг отключить, смотреть тип движения какой. Надо смотреть как отключили столкновения. И как изображение подвинули (если вращать камеру, то изображение тоже нужно под углом настраивать - тяжело). Как находят координаты экрана. И двигай.
Можно объединить способы 1, 2. На экране (в углу экране будет кнопочка) сделать переключатели. Нажимаешь, и переключается на другую страницу.
способ 3
выделяют для этого область, и короче используют декор, на который нацепляют иконки. Неудобно, не динамично. Во-время боя, экран перемещают в тут область. И пока засматриваешься убьют. Больше для РПГ, типа сумочка неплохая
Дать/отнять способность легко. А вот как отследить это, что он отошел и прочее. Надо подумать, нужно делать так, чтобы утечек, и нагрузок было меньше. Смотря как делать:
юнит привязан к участку
Если привязан юнит к одному участку, как здание например. То можно по событию - юнит входит / юнит выходит в область. Это типа как в Survival Chaos, там башеньки всю игру стоят, пока всех не уничтожат.
не может привязан к одному участку. Но есть несколько способов:
Вот отследить еще можно "событие - юнит замечен в радиусе ...", только вот нельзя отследить когда отходит, только когда входит. Примечательно, тем то не привязан к участку.
Проверяешь периодически расстояние между юнитом и героем. Если расстояние больше предназначенного, то убавляем защиту. В этом нам помогает группа +pick units и подсчет кол-ва юнитов.
Аналогично как в во втором способе, но может еще попробовать с аурой. Проверяешь есть аура. нет ауры.
потом импорт
(то. что сказал комментатор Pro100Gaus - выше)
Если надо только спелл, открываешь страницу спелов Файл->Экспорт данных по способностям. Но т.к. у спелов есть ещё и бафы, то лучше всё таки делать экспорт всех данных. Затем в редакторе триггеров копируешь папку с тригерами. Затем в своей карте вставляешь триггеры, и в РО Файл->Импорт всех данных. И импортируешь файл, который сохранил.
Если знать как устроены внутри файлы, то можно с помощью mpq-проги заменить ландшафт, рельеф и прочее. А все остальное, например в данные (способности, юниты, и прочее). оставить не затронутым. Но это надо попробовать затестить.
Ищите на сайте, на форуме. Много кто задавал такие вопросы. Мне вот интересно, как вы будете потом. когда снимут лимит с 8 до 128 мб. А можете переделать все на один даймик? а вот даймики-эффекты оставьте. Переделайте, чтоб не лагало. Перепишите триггеры.
Используйте Widgetizer, это программа делит на электронные таблицы, работайте тогда в электронных таблицах slk Почему-то в голову пришла эта прога. Хотя не удобно работать таким способом, точнее с текстом и поиском данных в таблицах. Это лучше в конце делать, когда карту сделаешь.
установить группа = Юниты ....
Нужно раскрутить функцию нужно раскрутить, и подправить. Там локалка не обнуляется. Это на уровне jass
Не удаляется точка, там где позиция кастера (ты ее в переменную засунул)
Действие удалить точку находится внутри блока условия. Если условие не выполняется. утечка остается, потому что не удалили.
то же самое с группой. Но группу не нужно удалять. поскольку, если ты добавил сюда юнитов с москитами. Если удалишь, выбрать будет трудно.
Юнитов с москитами нельзя добавлять в группу, поскольку не видит или учитывает. Короче не знаю (на форуме говорили). Нужно добавить даймиков в группу, короче создавать дамми-юнитов без указанных в РО москитов, а потом этим же даймикам при создании даем москитов.
способность москиты нельзя удалить (сначала прячем юнита. удаляем, и затем снова показываем). xgm.guru/forum/showthread.php?t=21369 Раздел 1, пункт 2
вэйты не стоит юзать =((
может быть так,что происходит краш из-за того, что пытаешься удалить скрытого юнита? Или из-за того, что ты пытаешься каждый раз перезапускать триггер (см. скрин Uber). Попробуй выводить на экран текст, узнавать где ошибка. Также убирай одно действие, если лучше не стало, продолжай еще раз. И так пока не отсеется.
слишком объемные и сложные у тебя триггеры к пониманию. Но триггеры не полные, и не понятно, что делаешь. Карта нужна. Да, нужно переделывать все это на норм
Открываем фотошоп, и в этой программе открывает картинку (в фотошопе можно найти настройки на "русский язык")
Берем инструмент Раскройка (англ. Slice Tool)
После того как выбрали инструмент, кликаем правой кнопки мышки по изображению и зажимаем кнопку для вывода контекстного меню данного инструмента
В появившейся менюшке выбираем пункт "Разделить фрагмент" (англ. DivideSlice ...)
после этого появляется окошко, которое спросит как поделить и насколько частей. Делит на сеточки, то есть линиями. Начинает делит с левого верхнего угла. Не забудьте снять галочки и нажать "ОК"
после того как нажмете "ок", то изображение в центре (см. скрин ниже) поделилось линиями на 4 фрагмента. Как видно, что изображение разрезали тонкими линиями ровно от левого бока по 512 пикс и от вертикальной тонкой линий еще раз по 512 пикс (короче 2 раза), и 512 пикс (2 раза) от верха. Как видим от верха отсчитали 512 пикс, а затем отсчитали еще раз 512 пикс от получившейся горизонатальной линий. Но как видим, что вот еще раз 512 писк не получится (осталось 256 пикс)
После всех операции выбираем "Файл - Сохранить для Web..."
Внимание - в новых версиях фотошопа может находится в другом месте этот пунктик:
"Файл- Экспортировать - Сохранить для Web..."
После того как укажешь путь, программа сохранит все 4 изображения.
Это один из способов. Есть еще множество других, наверное. Но я с этой программой не знаком, ради вас зашел и узнал. У меня к сожалению Adobe Photoshop работает криво (часто вылетает, то подвисает, то не работают какие-то фишки). Раз 5 переустанавливал, короче Photoshop из-за этого бросил.
))
((кат Paint
Открываем программу Paint, открываем картинку
создадим новый прозрачный слой поверх фотографии. На этом слое нам нужно нарисовать сетку (проще сказать кучу линии), которая разделит фотографию на необходимое нам количество частей.
Рисовать сетку мы будем на отдельном слое, чтобы не испортить саму фотографию. В принципе для рисования сетки можно использовать инструмент "линия или кривая", и нарисовать с помощью него эту сетку.
Однако существует более простой способ. Для рисования сетки мы используем дополнительный внешний эффект "прямоугольная сетка" (честно, в моей старой пиратской версии Paint этой фишки как "прямоугольная сетка" не было. Пришлось обновлять Paint).
Два пункта: в разделе инструментарии "Выбор прямоугольной области" и отображать сетку при увеличении (см. скрин внизу)
Теперь будем обхватывать/делить участки изображения с помощью прямоугольника. Прямоугольную сетку можно на изображении картинки создать, зажав левой кнопки мышки и потянув в сторону, мы либо увеличиваем / либо уменьшаем прямоугольник. Если опускаешь кнопку мыши, то прямоугольник создается. Можно также потянуть за границы или за краев созданного прямоугольника.
Внизу справа, а в некоторых версиях paint и слева находятся размеры прямоугольника, помогает точно определять размеры когда тянешь стороны прямоугольника. Но это долго и муторно, существует другой способ
Можно задать размеры прямоугольника в пиксели это наверху (это лучше. чем мучится, и тратить время. ) Вместо "нормальный" выберите "размер"
Затем можно кликнуть по сетке и зажать правой кнопки мыши, и потом двигать прямоугольник. Двигаем один 512 х 512 в самый верхний край изображения. Смотрим по координатам, что в лево-нижнем углу отображаются. А то можно прямоугольник за границу изображения уйти.
Вырезаем (Правка - Вырезать) и создаем новое изображение с 512 х 512. Оно будет абсолютно пустым, но с такими же
размерами. Сохраняем, закрываем. Смотрим дальше. Короче так проделываем со всеми оставшимися частями. Последние две нижние части требуют 256x512 размера
Вместо вырезать можно было бы волшебной палочкой использовать, и другими плюшками Paint. Но я не нашел, как поделить на 4 части сразу (как в интернете писали), поэтому поэтапно брал одну часть, вырезал и так далее
))
САМОЕ ВАЖНОЕ ДЛЯ ВАРКРАФТА 3
Это перевести в формат (TGA)
Есть разные модели загрузочных экранов (есть модели, где требует 3 части изображения / есть модели, которые проигрывают анимацию при загрузке)
Ну в итоге узнал за что отвечает этот тип паффинга. Реальные доказательства есть в виде карты, а не просто слова. Хотя работает это в карте криво, может быть вывод поспешный.
"Юнит атакован" не равно "Юнит получил приказ атаковать". По логике все верно, но должен получить приказ, затем подбежать поближе, а потом ударить или стрельнуть.
"Юнит атакован" срабатывает в тот момент, когда начинает делать анимацию атаки (замах, начинает натягивать лук и прочее. У кого что.). Короче событие срабатывает, но анимация происходит через 0.00 секунд.
Когда юнит проигрывает анимацию атаки (клинком проникает глубже в противника, из лука вылетает стрела и летит, снаряды из мортир летят к цели, и прочее). Можно отменить приказом (только вот не знаю у ренживиков выпущенные снаряды продолжают летать), проверяй до момента получения урона получал какой-нибудь другой приказ.
"Юнит получает урон" - фиксирует получение урона. А это фиксирует, что атака была успешна, только более поздняя фиксация
quq_CCCP, пробовал, но что-то не получилось. вставил войска вокруг рудника, и рабы не могли войти в внутрь. Но это не из-за этого.
Все выяснил в чем дело.
нашел ответ
Сначала не понимал, почему вообще не хотело работать это. Везде тыкал, и проверял функцией, и дебагом выводил на экран. Абсолютно везде говорило, что можно передвигаться работникам (даже в воде).
Теперь врубился, почему так было. Нужно было создать блокиратор пути с PATHING_TYPE_PEONHARVESTPATHING. Было два варианта. Либо нарисовать "текстурку + декор" или через "триггеры". Хотя нарисовать текстуру в фотошопе как в статье xgm.guru/p/wc3/pathing-alternate мог, но не знал какого цвета, в статье не показано какого цвета тип PATHING_TYPE_PEONHARVESTPATHING. Или через триггеры см. карту xgm.guru/p/wc3/181384
Хотя создать блокиратор это было полбеды, нужно было понять почему не работает. Работники бегают по участку, то не бегают. Фиг поймешь. Этого можно было бы не заметить (в своей карте пришлось участок визуально рельефом приукрасить, чтобы мог отличать), чтобы понаблюдать. Потом заметил, что вурдалак неся срубленные деревья домой, начал обходить.
Работники когда идут добывать ресурсы, блокиратор их впускает (бывает и не хочет впускать). Но как только они добудут ресурсы, то получат приказ "resumeharvesting" и побегут домой. Тогда встречают в блок. И придется обходить участок. Правильно делают вурдалаки, хотя не всегда. А вот рабы орков и Альянса не правильные какие-то. Они встанут у границы, постоят 2-5 секунд. И походят у границы (туда-сюда), и находят как-будто бы "невидимую" щель, и все по одному входят.
Хотя это работает немного криво (у меня). Работники не хотят обходить участок, это раз. Во-вторых, работников могут впустить. то могут выпустить. Не понятно, что такое.
Насчет светлячков, их даже рассматривать не стал, так как добывают на одном месте.
Ред. MpW
» WarCraft 3 / Создание предметов.
При получении предмета даем способности по событию
При потере/продаже удаляем способности по событию
SuperSpeedSystem v 0.2 тоже поиском
Ред. MpW
» WarCraft 3 / Как отключить звук анимациям персонажа?
Или периодический выбирай всех юнитов вокруг призраков в группу, проверяй кол-во.
Ред. MpW
» WarCraft 3 / Как сделать так, чтобы нейтральные персонажи бродили по городу?
Ред. MpW
» WarCraft 3 / Как лимитировать героев?
Кол-во бесплатных "Доступных" героев, обычно первый герой бесплатный (это устанавливается в стандартных melee триггеров (в картах на развитие), просто удали и все). Или ставим ноль, чтобы были все платными.
Ред. MpW
» WarCraft 3 / Проблемы с новой расой
Со вторым вопросом не сталкивался, мб не правильно что делаешь?
Ред. MpW
» WarCraft 3 / Как увеличить рюкзак?
Ред. MpW
» WarCraft 3 / Как поменять эффект области у способности?
https://www.xgm.guru/forum/showthread.php?t=38712
Ред. MpW
» WarCraft 3 / Как поменять эффект области у способности?
нельзя ли сделать больше рисунков? и какой путь рисунок имеет?
Ред. MpW
» WarCraft 3 / Как увеличить рюкзак?
item_in_slot02[массив] - предмет во 2 слоте
item_in_slot03[массив] - в 3 слоте
item_in_slot04[массив] - в 4 слоте
item_in_slot05[массив] - в 5 слоте
item_in_slot06[массив] - в 6 слоте
Нужна целочисленная, которая будет хранить номер массив. Ну точнее текущий номер массива
equipment system
set Attribute
Ред. MpW
» WarCraft 3 / Как изменить скорость боя герою
» WarCraft 3 / Классификация юнита
Ред. MpW
» WarCraft 3 / Помогите создать способность
Ред. MpW
» WarCraft 3 / Орб Эффекты
» WarCraft 3 / Скилл
Ред. MpW
» WarCraft 3 / Ребята, как отследить неуязвимого юнита?
Ред. MpW
» WarCraft 3 / Перенос из одной карты в другую
(то. что сказал комментатор Pro100Gaus - выше)
https://www.xgm.guru/p/wc3/transferring-objects
» WarCraft 3 / Jail или ДеМорган
Ред. MpW
» WarCraft 3 / Jail или ДеМорган
Ред. MpW
» WarCraft 3 / Какие утечки в данном триггере?
Нужно раскрутить функцию нужно раскрутить, и подправить. Там локалка не обнуляется. Это на уровне jass
Ред. MpW
» WarCraft 3 / Программы для рисования.
((кат Adobe PHOTOSHOP
"Файл- Экспортировать - Сохранить для Web..."
))
((кат Paint
Можно задать размеры прямоугольника в пиксели это наверху (это лучше. чем мучится, и тратить время. ) Вместо "нормальный" выберите "размер"
Вместо вырезать можно было бы волшебной палочкой использовать, и другими плюшками Paint. Но я не нашел, как поделить на 4 части сразу (как в интернете писали), поэтому поэтапно брал одну часть, вырезал и так далее
САМОЕ ВАЖНОЕ ДЛЯ ВАРКРАФТА 3
Ред. MpW
» WarCraft 3 / PATHING TYPE PEONHARVESTPATHING
Ред. MpW
» WarCraft 3 / Как зафиксировать момент атаки юнита?
"Юнит атакован" срабатывает в тот момент, когда начинает делать анимацию атаки (замах, начинает натягивать лук и прочее. У кого что.). Короче событие срабатывает, но анимация происходит через 0.00 секунд.
Когда юнит проигрывает анимацию атаки (клинком проникает глубже в противника, из лука вылетает стрела и летит, снаряды из мортир летят к цели, и прочее). Можно отменить приказом (только вот не знаю у ренживиков выпущенные снаряды продолжают летать), проверяй до момента получения урона получал какой-нибудь другой приказ.
"Юнит получает урон" - фиксирует получение урона. А это фиксирует, что атака была успешна, только более поздняя фиксация
Ред. MpW
» WarCraft 3 / PATHING TYPE PEONHARVESTPATHING