Steal nerves #1 - 16 часов назад 0

» WarCraft 3 / Проблемы с сохраненной картой

сложно сказать что это
попробуй это xgm.guru/p/wc3/178775 это руководство как пользоваться JNGP
если не поможет, то обратись к Ханабичи
Steal nerves #2 - 16 часов назад (отредактировано ) 0

» WarCraft 3 / Наработка PVP Арены

» раскрыть
игрок А и игрок Б являются противниками. На арене дерутся. Есть два игрока-бота (пустующие слоты игроков), это игроки В и Д. В и Д между собой являются нейтральными союзниками.
можно настроить союзы. игрок А может быть не только союзником В, но и управлять юнитами игрока В. Также как и Б может делать с игроком Д.
Те юниты, которые находятся за пределами области, передать другому игроку (это временно). Но игроки могут управлять ими
Есть арена, где все враги. А есть торговая площадка, где можно продавать всякие предметы. На ней нельзя драться. Казалось норм. Зашел, настроил союзы и норм. Это для одного героя легко сделать. А когда у тебя большие войска, то ты не можешь сделать так. Придется разделить контроль за войсками: героя и носильщиков можно отдать нейтралу. А остальных на арене оставить.
самый бредовый - настроить цели атаки. У тех, у кого стоит механика, не смогут тогда атаковать органику. триггерами можно выдавать классификацию
это было в общих чертах. реализовать это можно по-разному. настраивайте союзы через триггеры (есть союзы и аспекты союза - см. там в разделе игрок)
Steal nerves #3 - 2 дня назад (отредактировано ) 2

» WarCraft 3 / Ограниченые ресурсы

» другой способ
если триггерно даешь золота, то попробуй больше не давать и все.
попробуй проверяй так, если золота стало равно 1000. то сделай так чтобы юниты больше не добывали золото в шахтах. Предметы не мог продать в магазины. Ну и прочее. И отслеживай момент, когда золота становится меньше 1000, тогда возвращай все на место.
А почему "becomes больше 1000", "устанавливаем 1000", а на скрине внизу 750? Это тест на идиота, что ли?
ну мне по х.. может если золота становится больше 1000, то устанавливаем 1000. Потому что на скрине опечатка. На этом сайте нельзя удалять фаил, и исправлять текст. мб сам додумается. пришли исправленный, а может даже что получше. приветствуется, если дашь лучший вариант. маперы должны супер и интересные карты делать
Steal nerves #4 - 2 дня назад (отредактировано ) 0

» WarCraft 3 / Ограниченые ресурсы

вот такой триггер. Если золота больше 1000 золота у игрока, то устанавливаем 1000 ему.
» второй способ
сможешь ли ты его сделать
Или используем глобалку с массивами. Каждый номер массива (от 1 до 12) будет номером игроков. В них будет записан максимум, через который нельзя заходить. Периодически таймером и через цикл проверяем сколько у каждого деньги (если деньги у игрока больше максимума, то установить максимум. Этот максимум записан у каждого игрока свой, и у каждого игрока записан в массиве переменной.), Это динамичный вариант, тут у каждого игрока будет зависеть от массива. Этот массив можно перезаписать в течении игры. Тут был 350 золота, улучшил игрок здание, то массив переписал на 400 золота. Это лучший вариант.
ps это лучший способ по сравнению с первым. так как первый способ отлавливает пермаментное (постоянное) значение. Его нельзя изменить. потому что это событие
прикреплены файлы
Steal nerves #5 - 2 дня назад 0

» WarCraft 3 / Ограниченые ресурсы

Не понял вопроса. Опиши подробнее, что хочешь сделать и как ограничить.
Steal nerves #6 - 2 дня назад (отредактировано ) 6

» WarCraft 3 / Чит не работает, но почему???

Нее, ошибся. Поройся в настройках игрока.
Если компьютер, то норм работает на юнитов (убивает с первого раза)
Если человек. Поставил в настройках игрока человека. то теперь не хочет чит работать. Видимо чит рассчитан на ботов, на игроков не предусмотрен.
Это можно использовать в качестве анти-чита. Но это полезно разве, что в сингл-плеере. Хотя читы тоже работают в сингле.
» раскрыть
Еще поставил резервный. Отображается как нейтральный. Кликнул по нему, мой герой подошел - видимо хотел ударить, и герой резервного перешел на мою сторону. Чего это он? Я думал это резервные это 15-16 игроки, да чего там. Видимо этот переход работает на 1-12, не знаю. Впадлу проверять
прикреплены файлы
Steal nerves #7 - 2 дня назад (отредактировано ) 2

» WarCraft 3 / Чит не работает, но почему???

» раскрыть
Если компьютер, то чего-то работает юнитов (убивает с первого раза)
Если человек. Поставил в настройках игрока человека. то теперь не хочет чит работать
прикреплены файлы
Steal nerves #8 - 2 дня назад (отредактировано ) 2

» WarCraft 3 / Чит не работает, но почему???

хотя странно что герои получает урон. Хотя не должен. И точно не в триггерах. Я полностью удалил все триггеры и ввел чит, и не работает)) Значит в РО нужно копаться. Даже в редакторе сделал по умолчанию горного короля, и удалил способности. А тут все равно такой баг - убивает героя.
прикреплены файлы
Steal nerves #9 - 2 дня назад 2

» WarCraft 3 / Чит не работает, но почему???

8gabriel8, все работает. Просто когда герой замахивается, то враг телепортируется, и удар отменяется. И где тут система урона? Ты путаешь "юнит атакован" и "юнит получает урон"
Steal nerves #10 - 2 дня назад (отредактировано ) 2

» WarCraft 3 / Чит не работает, но почему???

нужно карту скинуть с примером. Не описано в какой момент происходит это. Это что, я должен поиграть, чтобы найти вашу карту? искать в архиве кампании ваш пример? искать триггеры и так далее. Скидывайте триггеры, раз вы видели их. то должны скинуть их. А лучше карту, наверняка баг или что там
надо бы посмотреть какие результаты дают с отловом урона с этим читом. Протестировать саму карту
Steal nerves #11 - 2 дня назад 0

» WarCraft 3 / Как триггерно выгрузить юнита из транспорта?

или периодически проверять "находится ли юнит в транспорте" или есть система
прикреплены файлы
Steal nerves #12 - 3 дня назад (отредактировано ) 0

» WarCraft 3 / Как увеличить количество "зарядов" предмета в магазине?

вот исправил.
» исправления
интервал пополнения не обязательно ставить, работает без этого. и вообще не от этого работает. Ошибка моя. там с условием проблема была. Больше не встают на перезарядку
эх. ты не поймешь. руна нужна, если у тебя полный инвентарь. А ты можешь ее подобрать и она исчезнет, даже если у тебя полный рюкзак. Это отслеживается, проверяешь какую руну подобрал и можно делать всякие фишки. это я пример хотел сделать, что можно руну в магазин сразу пихать. С руной можно делать скрещивание, складывание зарядов и прочее.
можно отследить двойной клик, но походу поспешил с выводами. Проблема в том, что ты дважды покупаешь предмет, дважды тратишь золота. Короче может не хватит на второй предмет. Нельзя также и исключать, что в магазине итем закончится и будет пополнятся долго. То есть второй итем опять не купишь. Тебе тогда придется придумывать (ценник убрать и интервал обнулить). тебе скидывать бесполезно. Тут должна быть своя система покупки. Проверяешь сколько ресурсов у игрока и прочее.
вот системы. мне они приглянулись, их можно доработать и будет норм.
прикреплены файлы
Steal nerves #13 - 4 дня назад (отредактировано ) 0

» WarCraft 3 / Как увеличить количество "зарядов" предмета в магазине?

Короче исправил много чего, просто уже сил нет. Вроде все подправил (надо потестить с удалением предметов из магазика), Продажа теперь норм работает, а вот покупка криво что-то. Остается в магазине что-то.
» раскрыть
если продавать активируемый предмет (талисман, амулет) то при продаже всех предметов в магазине он в нем остаётся с значением 0 на перезарядке. ( решить вопрос с "обновлением заряда" => РО интервал пополнения - 0.предмет пропадёт а не будет перезаряжаться)
спасибо за подсказку. А то думаю, что они не удаляются. Ну значит, тогда нужно использовать два предмета (один оригинал. другой дубликат). Мне вот до сих пор хочется проверить а можно ли удалить и эти предметы, не меняя интервал? впрочем вопрос мне на потом
при продаже предмета у которого нет зарядов он стакается в магазине, но при покупке предмета пропадает из магазина вне зависимости от количества в магазине. Попадает к юниту 1 предмет без зарядов.
эта ошибка уже исправлена. Неправильная логика. Там надо было не проверять классификацию, а сделать по-другому: если заряд равен 0, то установить заряд 1. А у остальных будет пусть считать заряды какие есть у итема.
если продаешь сначала 5 предметов, потом 8мь одного типа (больше потолка в 10ть) то идет неправильное отображение числа зарядов в магазине (5,а не 10), но при покупке предмета число его зарядов становится 9ть. Проблема с отображением но это нестрашно.
просто я так спешил. что везде ошибки наделал. Хотел быстро сделать. Где-то внимательность. Где-то не ту переменную вставил и прочее.
Получается что переменная сount считает количество продаваемых предметов и предметов в стаке магазина.
переменная сount в данном случае относится к количеству предметов в стаке а не к количеству предметов в магазине
переменная сount считает кол-во занятых ячеек в магазине. Всего 12 может быть. Но одна ячеейка занята иконкой "выбрать героя", поэтому 11 всего.
Что интересно если продать еще раз (с наличием зарядов =11 уже в магазине) то деньги Игроку поступят
всмысле? вернут игроку? из-за чего?
Вопрос к тебе лично - если убрать потолок в 10ть и поставить его скажем в 1000, то при наличии множества забитых магазинов будет ли из-ха хэша проседать производительность?
ой не знаю. не должно. можно придумать. Но как ты отобразишь?
кстати есть еще способ когда кликаешь дважды по предмету в магазине, то можно сделать так, чтобы его полностью выкупить. Наработка есть у меня.
У меня какие-то проблемы с покупкой итемов в магазине. В магазине не удаляется предмет. И не возвращают магазину способность "Лавка (продать предмет)". Короче устал от этого, где-то мелкая ошибка во-втором триггере.
Бываешь смотришь, вроде все верно, и не замечаешь. Потом дебагом выводишь, а она не работает, потом проверяешь также выше, и так целая цепочка триггера не работает. А потом выясняется, что не ту переменную поставил. ненавижу гуи. В гуи бывает так, что все верно, а она не работает, переделаешь на jass - работает
прикреплены файлы
Steal nerves #14 - 4 дня назад (отредактировано ) 1

» WarCraft 3 / Как увеличить количество "зарядов" предмета в магазине?

блин nwc дело говорит. Просто в той наработке не реализовано складывание стаков. Когда ты покупаешь предмет, то ты покупаешь итем с зарядами. Заряды указаны в РО. В магазине там не заряды а стэки (кол-во предметов. которых ты можешь купить). а у юнита в инвентаре заряды (сколько раз ты можешь использовать).
HillDemon, посмотри карту версию 2 выше. его еще надо доработать =(( щас устал
Steal nerves #15 - 4 дня назад (отредактировано ) 1

» WarCraft 3 / Как увеличить количество "зарядов" предмета в магазине?

HillDemon, легко подправить)) заряды складываются, вычитаются))
  1. вообще-то когда ты покупаешь/создаешь предмет у него могут быть n- кол-во зарядов. Это указывается в РО. У предмета это все указываешь. Также можно указать сколько стоит 1 заряд.
  2. во-вторых, здесь проблема то в стаках. Есть текущее кол-во стаков и максимальное кол-во стаков. Допустим итем имеет 2 заряда, ты покупаешь и на один заряд становится меньше. По идее там идет время пополнения (указано в РО), через n-секунд пополняется заряд заново. Это вроде не нужно, верно? Тогда ловим продажу, и триггерно изменяем текущий и максимальный стак (текущий == максимальный)
  3. проблема также в том, что если в магазине заполнятся все ячейки разными итемами, то как сделать так чтобы на рынок больше не поступали итемы? пробовал удалить способности продажа предметов. нифига
что-то впадлу делать, но сделал. потом пофиксим. что-то где-то криво работает, при закладывании рецепта в магазин пропадает рецепт, и еще пробую поудалять способности магазина (хочу сделать так, чтобы нельзя было продавать. когда ячейки рынка заполнены, но можно было только покупать).
ps. понял почему не удаляются способности. дебаг не работает. где-то накосячил с логикой. ладно. но результат неплохой, можно каждому магазину так делать.
прикреплены файлы
Steal nerves #16 - 4 дня назад (отредактировано ) 2

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

8gabriel8, походу с мини-картой никак =(( если можно, то скидывайте название карты, где это реализовано.
вот тут нативку SetAltMinimapIcon(строка путь), которую выше представил не работает, точнее она не для этого предназначена. пишут. что предназначена для взаимодействия с UnitSetUsesAltIcon. Короче мелкие иконки, типа золотых шахт, нейтральных домов и прочее. Есть ограничение с ними. Вспомнил, что драколич писал, что в мем хаке можно
» ссылки
xgm.guru/forum/showthread.php?t=51634 тут объясняют очень доходчиво. но придется пользоваться мем хаком
xgm.guru/forum/showthread.php?t=48935 есть идея временно скрывать модификатором видимости, чтоб не мешало.
xgm.guru/forum/showthread.php?t=46791 вот так вот =(( мем как
xgm.guru/forum/showthread.php?t=46769 как импортировать ведет к faq
Steal nerves #17 - 4 дня назад 2

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

поиск юзал? я внятного ответа не нашел, но вообще-то пишут, что там картинку вставляют
"war3mapMap.blp" у ее еще размер нужно норм поставить, путь не знаю точно какой еще надо приписывать. и нужно ли
вроде этой функцией, не знаю
native SetAltMinimapIcon takes string iconPath returns nothing
я видел в одной из близзадской ТД-шке. Там еще разворачивают камеру. Посмотрю
смотри Замок Скиди
Steal nerves #18 - 4 дня назад (отредактировано ) 3

» WarCraft 3 / Как увеличить количество "зарядов" предмета в магазине?

есть в триггерах в разделе - нейтральное здание. Смотри там.
еще по-моему там нужно выполнить ряд условии:
посмотри как у нейтральных сделано, там есть спец. способности по продажам, написано даже в faq. без них не будет работать xgm.guru/forum/showthread.php?t=615 пункт 2.9
Возможно, если память не изменяет и я не ошибаюсь, потом еще нужно не в РО задавать предметы, юниты, а в триггерах. Если задано в РО, то изменить нельзя.
мб вот это тебе поможешь xgm.guru/forum/showthread.php?t=31919 будет тебе и склад норм вещь
Steal nerves #19 - 5 дней назад 1

» WarCraft 3 / Как отловить начало тренировки юнита?

Maniac_91, мб Trained unit еще не создан в игре. Сначала начинают подготовку, затем завершают. При завершении Trained unit полноценно созданным можно считать. За то время, что он обучался, его можно отменить.
xgm.guru/forum/showthread.php?t=59164 вот ссылка на похожую тему, заменяю сегодняшнего бота
Steal nerves #20 - 5 дней назад (отредактировано ) 0

» WarCraft 3 / Как отловить начало тренировки юнита?

Maniac_91, скорее всего из-за переменной Trained unit. В гуи написано, выбери переменную Trained unit и там пишут когда работает эта переменная.
Steal nerves #21 - 5 дней назад 0
Steal nerves #22 - 5 дней назад (отредактировано ) 0

» WarCraft 3 / Как отловить начало тренировки юнита?

Maniac_91, вариант драколича лучше
мой просто приказ отслеживает, а у драколича отслеживает юнита которого начинают тренировать (а следующих, которых в очередь ставят, не отображает)
прикреплены файлы
Steal nerves #23 - 5 дней назад 1

» WarCraft 3 / Как отловить начало тренировки юнита?

Maniac_91, вообще-то приказ работает норм. выводится не сам приказ, а id-юнита. короче см. карту, там пехотинца купи и смотри
прикреплены файлы
Steal nerves #24 - 5 дней назад (отредактировано ) 0

» WarCraft 3 / Манипуляции с предметами.

НЕзаяЦ, используется руна при занятых слотах. Надо знать, что у тебя будет два разных предмета - руна и настоящий итем, который будет лежать в инвентаре. Короче между ними есть связь.
» раскрыть
вообще-то нужно понимать логику и еще неплохо понимать, что лучше использовать циклы по слотам, так как в гуишном варианте есть утечка - там локалка не обнуляется.
xgm.guru/forum/showpost.php?p=503628&postcount=5 тут показано как отследить получения руны
xgm.guru/p/wc3/powerups про руны
потом циклом пробегаешь по слотам, проверяя есть ли такой предмет. На jass есть функция - "предмет в слоте N", ее вот можно использовать.
В условии сравниваешь Тип предмета (предмет в слоте N) == "Счастливая монетка"
Добавляешь заряды этому предмету и все. Можно прописать условие выхода из цикла. В гуи надо пометить как-то, что мы нашли предмет и выходим из цикла.
Если надо всем предметам, то тогда надо чуть-чуть изменить условие. Уберите это условие выхода, пускай до конца работает.
Steal nerves #25 - 5 дней назад 0

» WarCraft 3 / Магия огня

Мне тоже понравилось) продолжай в том же духе
Steal nerves #26 - 5 дней назад (отредактировано ) 0

» WarCraft 3 / Постройка здания

В смысле? если имеешь в виду при выделении, то там есть в специфическое событие - юнит выбран. Еще есть проверки на то, какой игрок выбрал этого юнита.
» раскрыть
constant native IsUnitSelected takes unit whichUnit, player whichPlayer returns boolean 
Юнит выбран. проверяем кто выбрал его с помощью выше перечисленной функцией, циклом пробегаем по номерам игроков (от 1-12). запоминаем в глобалки. затем создаем строителя.
Вообще-то выделить одного юнита могут несколько игроков, так что такие вот дела. Даже, если игрок-противник выбирает выделяет ваше здание. чтобы просто посмотреть. возможно я ошибаюсь, и это не так работает, ибо не проверял.
Мб еще как-нибудь GetLocalPlayer как нибудь поможет
native GetPlayerSelectable takes player whichPlayer returns boolean
Есть еще функция, которая выбирает всех юнитов на карте в группу. Это те юниты. которые выделены игроком
native GroupEnumUnitsSelected takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
Steal nerves #27 - 5 дней назад 0

» WarCraft 3 / Изменить место сбора войск у ИИ

как определяет ИИ где главная основная база, а где дополнительная база? мб из-за StartLocation? попробуй сместить стартовую точку игрока триггером
Steal nerves #28 - 5 дней назад 0

» WarCraft 3 / Сжатие музыки для импорта в карту

Есть музыкальные и видео программы. Но качество звука становится хуже.
например Nero 9 www.youtube.com/watch?v=tPFE37mGl0k поищи на ютубе или гуглом
Зачем парится патч выйдет скоро или возможно вышел уже, до 128 мб карта весить будет. Правда читал что на гарене не поиграешь
Steal nerves #29 - 6 дней назад (отредактировано ) 0

» WarCraft 3 / Классификация юнита

Благодарю. За то, что оглушенный юнит получает приказ, приму к сведению. Полезная инфа. подзабыл уже.
Ратуша точно не за это отвечает, пробовал, смещает камеру к исходной точке игрока. Короче за смешение камеры с помощью пробела отвечает исходная стартовая локация StartLocation
» раскрыть
native DefineStartLocation takes integer whichStartLoc, real x, real y returns nothing
native DefineStartLocationLoc takes integer whichStartLoc, location whichLocation returns nothing
native ForcePlayerStartLocation takes player whichPlayer, integer startLocIndex returns nothing
native GetPlayerStartLocation takes player whichPlayer returns integer
constant native GetStartLocationLoc takes integer whichStartLocation returns location
constant native GetStartLocationX takes integer whichStartLocation returns real
constant native GetStartLocationY takes integer whichStartLocation returns real
native SetPlayerStartLocation takes player whichPlayer, integer startLocIndex returns nothing
Steal nerves #30 - 6 дней назад (отредактировано ) 0

» WarCraft 3 / Классификация юнита

quq_CCCP, ну это понятно
вот карты на которых проверял это все
Мне вот интересно, а у вас работает функции с sleep? написано. что не работают на юнитов игроков 1-12, понятно что действует на нейтралов. Но вообще не понятные функции.
UnitCanSleepPerm
UnitAddSleepPerm
прикреплены файлы
Steal nerves #31 - 6 дней назад (отредактировано ) 4

» WarCraft 3 / Классификация юнита

Вот список классификации:
» раскрыть
» герои
unittype UNIT_TYPE_HERO=ConvertUnitType(0) Герой [триггерно не меняется], Юнит считается героем благодаря равкоду, первая буква равкода должна быть большой/заглавной.
Не обязательно в РО юнита указывать его в качестве целей (если обычному юниту-не герою добавить, что относится к типу цели "Герой", не сработает проверка). В качестве цели способности или атаки можно отнести "Герои" или "Не герои".
» мертвый
unittype UNIT_TYPE_DEAD=ConvertUnitType(1) Мертвый юнит [триггерно не меняется]. Это реально мертвый юнит. Короче когда юнит умирает, у него остается труп. Считают мертвым юнитом только труп. Даже, если в РО добавить этого юнита к типу "Мертвый" (не путать с Нежить!), то не сработает. Короче тут тоже самое, что у героя.
В качестве цели способности или атаки можно отнести "Мертвый" или "Живой".
Хотя в редакторе существуют проверки на хп. Если больше нуля, то еще жив. Однако, бывает ситуации вроде способности "перерождения". Там по сути мертв, но в то же время и нет. Здоровье где-то 0.045
Точно не знаю, но выскажу предположение, что у мертвого юнита нет владельца, то есть кому принадлежит юнит. Хотя бред, есть "воскрешение" Паладина, как оно определяет, что мертвой свой.
» здание
unittype UNIT_TYPE_STRUCTURE=ConvertUnitType(2) Здание [триггерно не меняется]. Это сработывает, если в РО юнита установлена галочка "Характеристики - Является зданием".
Бесполезно относить к типу цели "здание", триггером не проверишь это (главную роль играет галочка "Является зданием", без этой галочки не сможешь сделать зданием, а также отнести этого юнита к зданию)
В качестве цели способности или атаки можно отнести "Здание" или "Не здание".
» воздушный
unittype UNIT_TYPE_FLYING=ConvertUnitType(3) "Воздушная боевая единица" в триггерах или "воздушные" в качестве цели в РО. [триггерно не меняется].
Даже, если дать в РО эту классификацию, то все равно может не заработать проверка на триггерах. Чтобы работало, необходимо, чтобы юнит был летающим, то есть изменить тип движения в РО юнита на "движение - тип Летающий". Необходимо отнести два эти пункта вместе: отнести к типу "воздушный", и изменить движение на "летающий"
Тип движения "летающий" и тип цели "воздушная" - это разные веши. Тип движения "летающий" влияет на столкновение, где может перемещаться. Например, может почти везде перемещаться (преградой являются деревья и черная граница). А тип цели воздушная устанавливают в качестве цели атаки или применения способности.
» наземный
unittype UNIT_TYPE_GROUND=ConvertUnitType(4) "Наземная боевая единица" в триггерах или "Наземные" в качестве цели в РО. [триггерно не меняется]. Аналогично, как у воздушной единицы, нельзя проверить у юнита с типом движения - "летающий". Если добавить заранее другой тип передвижения (все кроме летающего), то проверка работает.
Обычно всех юнитов (пеших и конных), даже плавающих, земноводных и парящих относят к наземных юнитам. это прописывается в РО к какому типу принадлежит юнит (к воздушному или наземному).
» может атаковать воздушные
unittype UNIT_TYPE_ATTACKS_FLYING=ConvertUnitType(5) "Может атаковать воздушные цели" [триггерно не меняется]. Это работает, если в указанных целях атаки у юнита в РО заранее указана "Воздушная цель". В противном случае, не будет работать триггерная проверка, и нельзя будет добавить или убрать юниту атаку.
» может атаковать наземные
unittype UNIT_TYPE_ATTACKS_GROUND=ConvertUnitType(6) "Может атаковать наземные цели" [триггерно не меняется]. Это работает, если в указанных атаки у юнита в РО указана заранее "Наземная цель". В противном случае, не будет работать триггерная проверка, и нельзя будет добавить или убрать юниту атаку.
» воин ближнего боя
unittype UNIT_TYPE_MELEE_ATTACKER=ConvertUnitType(7) "Воин ближнего боя" [триггерно не меняется]. Это работает в зависимости от типа оружия.
Юнит с типом оружия "обычное" считается воином ближнего боя(милишником), с остальными типами оружия (кроме "Нет") юнит относят к воину дальнего боя (ренжевику).
Только помните, что многие защитные способности типа каменные доспехи. благословление Элуны, укрыться щитом, панцирь с щитом и другие работают только в зависимости от типов атаки (тип атаки дальний бой, тип атаки обычная). Не путайте.
» воин дальнего боя
unittype UNIT_TYPE_RANGED_ATTACKER=ConvertUnitType(8) "Воин дальнего боя" [триггерно не меняется]. Это работает в зависимости от типа оружия.
Все типы оружия (кроме "Обычное" и "Нет"), которыми обладает юнит, можно отнести к оружию дальнего боя:
Только помните, что многие защитные способности типа каменные доспехи. благословление Элуны, укрыться щитом, панцирь с щитом и другие работают только в зависимости от типов атаки (тип атаки дальний бой, тип атаки обычная). Не путайте.
» великан
unittype UNIT_TYPE_GIANT=ConvertUnitType(9) "Великан". Кажется, что ничего эта классификация не дает, не смог узнать кому принадлежит эта классификация. В списке указанных целей в атаке или в способности нет великана, это своего рода маленький минус. Единственный огромный плюс, могу давать и отбирать классификацию.
Единственное, что я заметил - это то, что написано в игре у юнита мелко "Великан" под названием юнита
Мб на воскрешение как-нибудь влияет. Типа тело свое при смерти не оставляет и все такое. Проверял, но что-то не то.
может где-то в способностях работает, хотя вряд ли
Недостаток: нигде этот класс не используется (в указанных целях способностей и атаки нет галочки "великан"). Единственное, где это может пригодится только триггерах (там проверять, добавлять, убавлять).
» вызванный
unittype UNIT_TYPE_SUMMONED=ConvertUnitType(10) "Вызванный". Классифицируют так юнитов, которых вызвали с помощью способностей.
Самое интересное, что можно использовать этот класс, триггерно добавляя или удаляя. Но полноценным вызванным не будет считаться. Так как нужно иметь баффы, время жизни. Но даже, если нацепить 'таймер жизни' и buffs, я не знаю будет ли считаться такой юнит вызванным. Кажется, вызванный создается способностями. Что значить быть полноценным вызванным? Это значит, что многие антимагические способности могут наносить ущерб вызванным существам (погром, рассеять магию и прочее), или даже контролировать их. Это не проверял, а прикольно будет если это будет работать
» оглушение или stun
unittype UNIT_TYPE_STUNNED=ConvertUnitType(11) "Застаненный юнит" или "Оглушение" [триггерно не меняется]. Юнит, который получил стан. Используется в качестве проверки. По идее, stun - оглушение - состояние юнита, получаемое от атаки способностей (например, сильный удар, по-другому bush) или применения способностей (например, молот бурь, удар грома, громовая поступь). При таком состоянии юнит не двигается, и не может атаковать, следовательно, дать вам сдачи тоже не может, то есть оглушен.
Есть идея, что оглушение получается от конкретных баффов (но не уверен, пробовал дать buff "Оглушение" простой ауре, проверял триггерами и ничего).
Однако, эта классификация не работает вообще. Удалить или добавить не получится через триггеры эту классификацию. Даже проверка не работает. В качестве проверки приходиться проверять бафф от молота бурь и прочее.
Есть мем как, там можно застанить триггерно и проверить:
» раскрыть
Установить, то ли снять. Похоже приставка Un говорит, что снимает stun с юнита
function UnStunUnit takes unit u returns nothing
Проверка - юнит в стане
function IsUnitStunned2 takes unit u returns boolean
Установить стан юниту
function SetStunToUnit takes unit u, boolean add returns nothing
Самая бесполезная классификация
» чума
unittype UNIT_TYPE_PLAGUED=ConvertUnitType(12) "Чума" [триггерно не меняется]. Это что-то типа отравления юнитов. Получает отравление чумы не от всех способностей (отравляющих способностей много, а вот чумных всего одна). Может быть чумных больше, но не стал искать, нашел только одну похожую способность (вообще-то их две, но они друг на друга похожи полями и характеристиками): это Ядовитое облако (мясник) и Ядовитое облако (Чумной дух) у юнитов Нежити. Эта способность типа ауры, заражает всех вокруг чумой. Как только кто-то заразиться, на него вешается бафф. Заражен будет на очень длительное время.
способность "Ядовитое Облако" у мясника (abomination)
Триггерно нельзя добавить или удалить классификацию. Но, зато можно проверить заражен ли чумой.
» сеть
unittype UNIT_TYPE_SNARED=ConvertUnitType(13) "Сеть" [триггерно не меняется]. Итак будет понятно, что ловит с помощью способности противников в сеть. Противники становятся временно неподвижными, но все же могут вас атаковать. Также если вражеская цель - воздушная цель, то ее опускают на землю, где добивают наземные единицы.
Ловчий у волчьих всадников
Паутина у могильщиков
Нельзя удалить или добавить триггерно эту классификацию, только проверить.
» нежить
unittype UNIT_TYPE_UNDEAD=ConvertUnitType(14) "Нежить (Андэад)" Вся раса нежити указана этой классификацией. Этот класс влияет на способности. Например, как светлая энергия может нанести вред (например, благодать положительно действует на живых, а на нежить отрицательно). Точно также действует темная энергия (Например, способность "лик смерти" убивает живых, а нежить не может трогать, даже, если она враждебна).
В указанных целях способности нет такого класса как "нежить", есть "Мертвые". Но не путайте мервых с нежитью. Мертвые - валяющие трупы на земле, у них обычно нет хозяев. А совсем другое - нежить.
Юнитам можно добавлять или удалять класс триггером. Также проверять.
» техника механический механизмы
unittype UNIT_TYPE_MECHANICAL=ConvertUnitType(15) "Техника" (в триггере),"Механический" (в РО, классификация). Есть еще
» Механизмы или организмы
"Механизмы" (в РО, указанные цели) влияют на цели атаки или способности.
В РО в указанных целях можно установить либо "механизмы" (не живое существо) либо "организмы" (живое существо). Больше создано для указывания/установки целей способностей и атаки.
"Механизмы" (в РО, указанные цели). Вообщем-то влияет на цели способностей и атаки.
Конкретно влияет на ремонт. Здания и артиллерия чинятся с помощью спец-способности "ремонт" у рабов (при наличии ресурсов, если ресурсы на нуле, то раб будет стоять).
"Техника/Механический" (в триггерах и в РО - эта и та же классификация) скорее всего добавлен для ремонта. Есть способности, называются ремонт. Они вот чинят танки, балисты, здания и прочее.
Примечание: Если указать в РО относится к типу цели "механизмы", то ничего не будет (триггерно проверить по "механизмы" никак). Даже противники, у которых указано "организмы", могут атаковать такую цель (но не должен по идее атаковать технику). Видимо, чтобы эти "механизмы" заработали, нужно добавить еще пункт "Механический" (работают вместе получается). Однако, если добавить триггерно классификацию, то противник, который атакует только органику почему-то перестает вас атаковать. Если удалить, то снова агрится и начнет атаковать.
» работник
unittype UNIT_TYPE_PEON=ConvertUnitType(16) "Работник или аналог" Скорее всего используется в стандартных сражениях.
Работники, которые ничего не делают, имеют иконку в углу карты. Как только начнут что-то делать эта иконка исчезнет. Сделана для удобства. Классификацию рабочий можно удалить, или добавить. При удалении классификации вместе с этим удаляется иконка, и она больше не показывается. Если добавишь классификацию, то наоборот, добавляется. Пока больше ничего не заметил.
Пишут на сайте, что: Такие юниты с классификацией убегают если их атаковать, и не атакуют сами без приказа. В РО: Характеристики - Может бежать (меняем значение на "Нет") - не отбегает когда бьют
В качестве разрешенных целей в способностей или атаке не заметил такую классификацию
» подрывник самоубийца
unittype UNIT_TYPE_SAPPER=ConvertUnitType(17) В триггере называют "Подрывник", в разрешенных целях способности и атаки юнита это "Самоубийца", или есть еще интересный момент "Не самоубийца". Итак понятно, что эта классификация дана самовзрывающим на смерть юнитам. Она вообще ничего не делает. Самое интересно, зачем же дали в целях "не самоубийца" - эту штуку можно использовать. Описано xgm.guru/p/wc3/wc3targets
пишут, что влияет на поведение юнитов. Типа не будут отбегать или убегать. когда кто-то их бьет. Не знаю, протестируйте сами
Можно триггерно добавлять/удалять
» ратуша
unittype UNIT_TYPE_TOWNHALL=ConvertUnitType(18) "Ратуша". Это главное здание расы. Как я понял сильно связано с стандартным сражением.
Не знаю точно, что оно делает. Выскажу предположение, что возможно в стандартных сражениях как-то. Если разрушить строение, то может выскачить таймер, и в углу будет показано сколько времени останется до поражения. Если я не ошибаюсь, поскольку мало играю в сражениях. Возможно в ИИ. И с героями как то связаны. В игровых константах можно расставлять зависимости ратуши от героя. Пока что мало знаю, изучал.
Немного не понятно. Вот можно посмотреть. что в способностях. Например, предмет "посох спасения" или "посох возвращения" у способности. В требованиях много чего намусолено
» древо
unittype UNIT_TYPE_ANCIENT=ConvertUnitType(19) "древо". В целях еще есть ("древо"/"не древо"). Это большие деревья эльфов, где выращивают войска (все деревья эльфов имеют этот параметр, кроме обычных строении: алтарей и колодцев). Не понятно для чего. Может для способностей, а может .... не знаю.
можно удалить/добавить классификацию триггерно
в способностях и в атаке юнита можно указать древо/не древо
» минотавр
unittype UNIT_TYPE_TAUREN=ConvertUnitType(20) "минотавр". Эта классификация не очень понятна, что делает. Кажется ничего не делает. Работает только с скилом "Помощь предков". Выделять еще одну галочку в РО для одного скила как-то странно. На герое этот скил не работает (ставил галочку "герой"), Не понимаю зачем герою-минотару ставить классификацию "минотавр".
Вроде своих минотавров воскрешает. Хотел воскрешать не своих минотавров (поставил галочку "друзья"). и заметил что те, кто умер и принадлежал союзникам, при воскрешении переходят на мою сторону.
Можно добавлять/удалять классификацию триггерно
Недостаток: нигде этот класс не используется (в указанных целях способностей и атаки нет галочки "минотавр"). Единственное, где это может пригодится только триггерах (там проверять, добавлять, убавлять).
» отравление
unittype UNIT_TYPE_POISONED=ConvertUnitType(21) "Отравление" [триггерно не меняется]. Этот класс получает юнит, когда отравлен и постепенно получает урон. Работает отравление от способности, отравляющих юнитов ядами и прочее
Пробовал наносить урон триггерно типом урона "Отравление", "Яд", "Болезнь", но ничего не получил
Триггерно нельзя добавить или удалить классификацию. Но, зато можно проверить заражен ли чумой.
» полиморф
unittype UNIT_TYPE_POLYMORPHED=ConvertUnitType(22) "Полиморфизм" [триггерно не меняется]. Этот класс получает юнит, когда кто-то превращает его в курицу или в овцу и других мелких животных.
Заметил панели юнитов, которые превратились в животных, пишут внизу над названием юнита мелко запись. В записи клонируют название юнита.
Триггерно нельзя добавить или удалить классификацию. Но, зато можно проверить превращен ли в курицу.
» сон
unittype UNIT_TYPE_SLEEPING=ConvertUnitType(23) "Сон". В качестве проверки работает. Это работает только со способностями, которые вводят в сон.
Существуют другие проверки, но это совсем не то. Они проверяют, что может ли спать юнит (у каждой нативки свое условие). А не то, что спит в данный момент. И работают вроде на нейтралов
» раскрыть
Есть в РО у юнита:
Характеристика - Спит (галочка - да; галочка - нет) действует это только на нейтралов. Проверить можно только UnitCanSleep
"Проверка UnitCanSleep: может ли юнит спать. То есть проверяет видимо не то, что спит в данный момент, а может ли спать юнит (у юнита указана в РО (где характеристика - Спит)"
"Проверка UnitIsSleeping: спит, когда никем не спровоцирован ночью. Если рядом никто не кастует заклинания,не атакует никто его друзей - то спит. Если атаковать, то проснувшийся на вас нападет или убежит. Обычно такое состояние можно достичь действием UnitAddSleep. Днем юнит просыпается. В действии UnitAddSleep пишут что юниты игроков 1-12 никогда не спят, это значит, что действует на нейтралов (проверка и действие не работают на не нейтралов)."
UnitAddSleep - дает через true юниту возможность спать. Теперь каждую ночь будет засыпать. Если снять через false, то ночью бодрствует и никогда не будет спать ночью.
"Проверка UnitCanSleepPerm: юнит в спячке, до сих пор. пока никто не разбует и не спровоцирует. Обычно достичь такого можно функцией UnitAddSleepPerm. Здесь тоже пишут. что юниты игроков 1-12 никогда не спят."
функции UnitCanSleepPerm и UnitAddSleepPerm у меня не работают, не удалось проверить. Но думаю понятно, что они делают.
Долго мучался с ними, разбираясь.
» сопротивление
unittype UNIT_TYPE_RESISTANT=ConvertUnitType(24) "Сопротивление". [триггерно не меняется]. Это не снижение урона, а снижение длительности действия заклинания (некоторые вообще не действуют). Короче время действия заклинания приравнивается к времени действия как у героя. Работает на способности "Защита от магии", для героев эта способность вообще бесполезна. также и на некоторых нейтралов с большим уровнем
» раскрыть
library IsUnitSpellResistant
*****************************************************************
* IsUnitSpellResistant
*
* written by: Anitarf
*
* In WC3, most debuff and stun spells have a decreased duration
* against heroes, creeps with a high enough level and units with
* resistant skin, while other spells such as Polymorph don't
* even work against such units. This function checks if a unit
* matches any of these criteria that would make it resistant to
* such spells, so you can make triggered spells work that way.
*****************************************************************
globals
private constant integer CREEP_RESISTANCE_LEVEL = 6 the level at which creeps gain spell resistance
endglobals
function IsUnitSpellResistant takes unit u returns boolean
return IsUnitType(u, UNIT_TYPE_HERO) or IsUnitType(u, UNIT_TYPE_RESISTANT) or (GetPlayerId(GetOwningPlayer(u))>11
and GetUnitLevel(u)>=CREEP_RESISTANCE_LEVEL)
endfunction
function IsUnitSpellImmune takes unit u returns boolean
return IsUnitType(u, UNIT_TYPE_MAGIC_IMMUNE)
endfunction
endlibrary
» мир духов астрал
unittype UNIT_TYPE_ETHEREAL=ConvertUnitType(25) "Мир духов". [триггерно не меняется]. Юнит переходит в астрал, становится прозрачно-зеленым. Обычно неуязвим в этом состоянии от обычного оружия. но уязвим от магического урона. Такого состояния можно достичь только способностями.
» иммунитет от магии
unittype UNIT_TYPE_MAGIC_IMMUNE=ConvertUnitType(26) "Магический иммунитет". [триггерно не меняется]. На юнита обычно нельзя навести прицелом активное заклинание, будет оповещение выводит на экран. что нельзя наводить на иммуных юнитов. На самом деле есть способность канал - у нее в настройках "Универсальное заклинание", которое позволяет кастовать даже на иммунных.
Итого можно триггерно изменять только эти классификации, остальные в РО:
Великан, Призванный, Нежить, техника, работник, подрывник, Ратуша, древо, минотавр
Есть еще в РО:
Нейтральный - не знаю, что это. Но это есть у нейтральных зданий. говорят, что из-за этого пропадает полоска здоровья. Нужно подольше поизучать. Может это как-то со способностями связаны типа продать предмет, продать юнита и др. Но уверен, что юнитов можно указать в качестве разрешенных целей ("нейтральный").
Может ходить - через него можно ходить, короче через него можно переходить. Видели портал? Юниты в него легко заходят. Так это меняет эта классификация.
Страж - пропадают панель команд
Steal nerves #32 - 6 дней назад (отредактировано ) 5

» WarCraft 3 / Обмен золото на дерево

Можно использовать руны и их способности, для обмена ресурсов:
Вязанка дров 'Allu'
Сундук золота 'Algo'
Еще есть "поставка ресурсов", но с разными id-способностями
Или триггерно
Steal nerves #33 - 1 неделю назад (отредактировано ) 2

» WarCraft 3 / "Десинхрон" и всё о нём!

Fraps, вообще-то вряд ли подскажут как проверить кривой ландшафт или кривую модель. я не знаю, что там может такого быть. есть только статья дока про GetLocalPlayer а так мутно понимаю все эту синронизацию. попробуй модель убрать или ландшафт заново переделать
Steal nerves #34 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / Null локалиная переменая

можно по всякому это реализовать. Чего вы хотите то? чтоб написал еще? где ваши попытки то? специально так пиишешь?
Steal nerves #35 - 1 неделю назад (отредактировано ) 2

» WarCraft 3 / Null локалиная переменая

целочисленные и реальные числа не надо обнулять
обнулять обязательно нужно локалки
так не много не понял вопроса, что имеется в виду под "пропадет". Удалится группа? или обнулится локальная переменная? так как вы описали, локалка обнуляется, а объект типа группа остается висеть в памяти. нужно удалить группу, а потом обнулить локалку. Понимать нужно, что переменная это тоже объект, это своего рода ячейка, под которую выделяется место. А группа - объект, который займет это место. Отличие между глобалками и локалками в том, что локалки с каждым разом при обращении к функции плодят новые. Поэтому нужно обнулять эти локалки.
» раскрыть
Глобальные переменные работают везде (между триггерами. между функция и прочее), однако они не действуют на всех. Нельзя в них засунуть два разных значения. Как знаете. есть разные типы объектов, и соответственно относящие к ним типы переменных. Например, юнит. Не могу засунуть в него два разных юнита. Например, кастера и цель. Получится так. запишу сначало в глобалку кастера, затем перепишу цель. В результате, обращаться буду к цели, а не к кастеру. Их недостаток в том, что можно перезаписать. Поэтому любят так использовать МУИ
Локальные переменные - работают только в функции. При каждом вызове создается новая локалка, поэтому ее надо обнулять. Переменные - тоже объекты. Если у глобалок постоянное кол-во переменных, то локалки с каждым разом при обращении к функции плодят новые. Поэтому нужно обнулять эти локалки.
У переменных в варкрафте есть своя область действия. Допустим глобалка может везде. Локалки могут только внутри функции. А вот есть cjass и vjass там используются приватные глобалки и структуры. У них тоже есть своя область действия, ее может сам программист задать.
Steal nerves #36 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / Jass New Gen Pack

FrigatPlay, этого я не знаю. Только знаю, что из-за кол-ва декора стандартный WE не открывается, если лимит на декор превышен. А обойти можно с помощью гримори. Гримори встроен в JNGP.
пришли скрин ошибки + в папке варкрафт есть папка Errors, в папке JNGP есть папка logs. содержимые можно запаковать в архив и прислать сюда
Steal nerves #37 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / Jass New Gen Pack

xgm.guru/p/100/178775 мб поможет
у тебя на одной карте закрывается или редактор просто на всех? если на одной то что-то с картой
Steal nerves #38 - 1 неделю назад 0

» WarCraft 3 / Реакцыя на событие урон Тригер

» связь триггеров
  1. ПРИКАЗ сначало юнит Б получает атаковать цель А. Может стоять далеко от нее, поэтому бежит поближе к цели А.
  2. АНИМАЦИЯ Потом начинает замахиваться, производить анимацию атаки. Короче событие юнит атакован помогает сказать, когда начнется анимация атаки. Надо понимать, что она не сейчас производится, а будет через секунду. За это время можно успеть отменить атаку, или сменить анимацию атаки.
  3. УРОН Событие юнит получает урон показывает. что юнит получил еще урона, а получит урон. Можно сделать всякие хитрости со здоровьем и прочее. Еще нужно знать. что "юнит атакован" не равно "юнит получает урон". Потому что например, если запустить стрелу. то прилетит не сразу. да и промахнутся можно
Юнит получил приказ атаковать - реагирует на того, кто получил приказ. И того кого хотят атаковать.
Юнит атакован - реагирует на того. кого атаковали. И на того. кто является инициатором атаки.
Получает урон - реагирует на того кто получил урон. И кто нанес. Еще можно узнать сколько нанесли урона.
» дубль 2
"Юнит атакован" не равно "Юнит получил приказ атаковать". По логике все верно, но должен получить приказ, затем подбежать поближе, а потом ударить или стрельнуть.
"Юнит атакован" срабатывает в тот момент, когда начинает делать анимацию атаки (замах, начинает натягивать лук и прочее. У кого что.). Короче событие срабатывает, но анимация происходит через 0.00 секунд.
Когда юнит проигрывает анимацию атаки (клинком проникает глубже в противника, из лука вылетает стрела и летит, снаряды из мортир летят к цели, и прочее). Можно отменить приказом (только вот не знаю у ренживиков выпущенные снаряды продолжают летать), проверяй до момента получения урона получал какой-нибудь другой приказ.
"Юнит получает урон" - фиксирует получение урона. А это фиксирует, что атака была успешна, только более поздняя фиксация
Steal nerves #39 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / как это событие работает раскажыти

Вообще-то тут реакция идет на двух юнитов: первый - тот кто вызывает. второй - тот, кого призвали. Работает призыв не одновременно, а последовательно, то есть если у способности записано, что призывает двух, то триггер будет работать так: сначала одного, потом второго
Событие срабатывает только от способностей
» раскрыть
Вызывают существ (можно отловить через событие - "юнит вызывает боевую единицу" или через событие "юнит вошел в зону" с проверкой баффа, либо иллюзии и прочее):
Дух воды 'AHwe' - вызывает духов воды
Феникс 'AHpx' - вызывает феникса
Дух-целитель (знахарь) 'Ahwd' - вард духов, который устанавливается на землю знахарем. Лечит всех вокруг.
Колдовская ловушка 'Asta' - вард-пустышка, типа мины. Кто из врагов войдет в указанную область, тот и подорвется. Кажется существенного ущерба доставляет магам и магическим существам.
Невидимый страж 'Aeye' - вард духов с большим зеленым глазом, установленный на землю, наблюдает в течении длительного периода времени. Видит также невидимые войска
Дух волка 'AOsf' - вызывает духов волков, которые живут несколько секунд
Сторожевая змея 'AOsw'/'Arsw' - вызов призрачной змеи, которая атакует любого рядышком противника.
и др.
Воскрешение 'AHre' (эта способность никого не вызывает, а только воскрешает. Но при воскрешении отслеживается призыв через событие)
Помощь предков 'Aast' - воскрешает ближайщего мертвого минотавра. Действует воскрешение на юнитов с классификацией "Минотавр".
Иллюзия 'AOmi' - Создание иллюзорного двойника, сбивающего с толку противника. Все заклинания, наложенные на героя, при этом рассеиваются. Призыв двойника тоже считается как призыв. Чтобы иллюзию перевоплотить (морфнуть) используют способность "Превратиться в медведя" 'Abrf' - везде ставите 0.00 еще ставите нормальную форму, то есть ту, которую хотите перевоплотить. В триггерах этот морф сразу даем и тут же убираем. Сработает баг у иллюзии
особенные случаи:
» перерождение
Перерождение 'AOre'/'AOr3' предмет: крест перерождения 'AIrc' - Воин, обладающий этой способностью, возрождается через несколько секунд после гибели. После гибели обычно крест на земле лежит, между смертью и воскрешением есть задержка. Недостаток этого способа в том, то нельзя отловить никаким событием:
  • ни "вызывает боевую единицу" (не ловит, хотя логично, мы же не вызываем юнита, а воскрешаем),
  • "юнит становится воскрешаемым" (не понятное событие, хотя склоняюсь к тому, что относится это к другой способности, например способности Артеса "Гальванизация"/ или "воскрешение" паладина),
  • "юнит начинает/прекращает/завершает воскрешение" (это относится к алтарю, когда юнит умирает, игрок заново воскрешает в алтаре),
  • "юнит начинает применять способность/приводит способность в действие/завершает применение способности" (попробовал, но увы нет),
  • "юнит входит в регион .../юнит выходит" (увы нет, когда юнит умирает, он исчезает из карты, но он остается, крест и тень то остаются),
  • "юнит умирает" (видимо, это не считается в игре смертью)
Воин, обладающий этой способностью, возрождается через несколько секунд после гибели.
  • Сама суть - перерождение ловится событием "unit life becomes < 0.0405" в купе с условием "IsUnitType(GetTriggerUnit(), UNIT_TYPE_DEAD)".
Есть маленькая особенность: когда здоровье цели упало до 0 (то есть до 0.0405), но тип юнита всё еще Alive (то есть жив Life of unit > 0.000), тогда значит что сработало перерождение.
Еще одна особенность: вроде во время смерти с предметом "крест перерождения" срабатывает событие юнит "использует предмет"\"использует способность" прокатывают.
Но вот отследить момент, когда юнит воскрешается, так и не удается. Лишь когда умирает. Можно свою систему перерождения сделать. Все равно действует только на героя.
Примечание: предметная способность от креста перерождения 'AIrc' невидима, даже, если ее дать герою. И эта способность при смерти не срабатывает, видимо связана с предметом. Предположение: чтобы заработала, надо сделать снова ее видимой.
Еще одна приметка: когда-то работало событие, но потом после обновлении патчей перестали события работать
» злые духи
Злые духи 'AOls' - это особый призыв духов, но имеет некую особенность, событие триггеров "юнит - вызывает боевую единицу" не считает, что этих духов призвали (ничего не ловится, что без москитов, что с москитами). Словить можно по событию "юнит входит в регион ... " с условием, что юнит обладает способностью москитами. Можно еще отследить с помощью мем хак. Хотя можно и без проверки, достаточно типы юнитов проверять и все. Уход из мира живых (исчезновение) можно отследить с помощью "юнит покинул регион ..." Есть у духов москиты (надеюсь знаете что это такое? это такая способность, которая скрывает полоску здоровья, делает юнитов невыделяемыми, позволяет проходить сквозь объекты. Часто эта способность используется dummy-unit. Имеет недостаток, на такого юнита нельзя натравить мышкой. Кстати, способность москиты и злые духи тесно связаны между собой. Без москитов духи ничего не хотят делать). При активации заклинания от кастера вылетают духи, которые высасывают у врагов хп. И отдают добытые хп кастеру, тем самым пополняя ему здоровье. Можно настроить так (цели с вражеских ставим на дружественные, и кол-во отнимаемого урона ставим на отрицательные значения, тем самым лечим союзников)
все способности до конца не осмотрел пока что
Steal nerves #40 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / Бегство нейтральных юнитов

у меня работает. тфу. там в карте написал нейтрально-пассивный, а по настоящему там нейтрально-враждебный
прикреплены файлы
Steal nerves #41 - 1 неделю назад (отредактировано ) 2

» WarCraft 3 / Как взорвать на куски с помощью ATTACK_TYPE_?

это зависит от типа оружия, ну по крайне мере у балист и катапульт отвечает за это тип оружия - артиллерия или артиллерия (прямолинейный полет). Трупы взрываются и все.
прикреплены файлы
Steal nerves #42 - 1 неделю назад 0

» WarCraft 3 / Бегство нейтральных юнитов

А как добиться такого,чтоб убегали? я вставил "Может бежать - Нет" никто не убегает.
у функции UnitDamageTarget есть аргументы boolean attack, boolean ranged мб из-за них?
Steal nerves #43 - 1 неделю назад (отредактировано ) 0

» WarCraft 3 / Рабочие сходят с ума

Карту не удалось открыть, что за FNWE такой. Короче а может быть это из-за отсутствия классификации "механический"? предположение что может из-за этого
» смотреть
unittype UNIT_TYPE_MECHANICAL=ConvertUnitType(15) "Техника" (в триггере),"Механический" (в РО, классификация). Есть еще "Механизмы" (в РО, указанные цели). Вообщем-то влияет на ремонт. Здания и артиллерия чинятся с помощью спец-способности "ремонт" у рабов (при наличии ресурсов, если ресурсы на нуле, то раб будет стоять).
"Техника/Механический" (в триггерах +в РО - эта и та же классификация) скорее всего добавлен для ремонта. Есть способности называются ремонт. Они вот чинят танки, балисты.
"Механизмы" (в РО, указанные цели) влияют на цели атаки или способности. В РО в указанных целях можно установить либо "механизмы" (не живое существо) либо "организмы" (живое существо). Больше создано для указывания/установки целей способностей и атаки.
Примечание: Если указать в РО относится к типу цели "механизмы", то ничего не будет (триггерно проверить по "механизмы" никак). Даже противники, у которых указано "организмы", могут атаковать такую цель (но не должен по идее атаковать технику). Видимо, чтобы эти "механизмы" заработали, нужно добавить еще пункт "Механический" (работают вместе получается). Однако, если добавить триггерно классификацию, то противник, который атакует только органику почему-то перестает вас атаковать. Если удалить, то снова агрится и начнет атаковать. Вообще-то не обязательно указывать в РО что юнит относится к "механизмы", работает на триггерах без этого хорошо.
какой ты рабочему дал приказ??
р
и какую способность используешь? в указанных целях что стоит?
прикреплены файлы
Steal nerves #44 - 2 недели назад (отредактировано ) 2

» WarCraft 3 / Ограничение видимости декорациями К.А.К??

была где-то тема в точь-точь у нас на сайте xgm.guru/forum/showthread.php?t=60325
вот скинул кучу все что связано с видимостью
прикреплены файлы
Steal nerves #45 - 2 недели назад (отредактировано ) 0

» WarCraft 3 / Как сделать ауру на увеличение хп

Есть стандартная аура регена хп - аура фантана, аура у духов-целителей. триггерно, каждую секунду перебираешь всех, проверяешь есть ли бафф ауры, даем и все.
» не в тему
Еще помню у предмета heart of tarrasque (на основе чего сделано?). Я так делал, не помню. брал ауру духов-целителей
Steal nerves #46 - 2 недели назад 3
Steal nerves #47 - 2 недели назад (отредактировано ) 0

» WarCraft 3 / Как увеличить/уменьшить урон по юниту в процентном соотношении?

Yonsen, чтобы не умер. ну на этом можно многое сделать. например триггерное уклонение с шансом. представь у юнита осталось 5 единиц здоровья, вражеский юнит бьет с 100 ед. урона. Казалось, должен сдохнуть. Но нет, тут срабатывает шанс. И выживает.
Это все произойдет мгновенно, ты даже не увидишь. Блин как тебе объяснить то
Добавляю 10500хп, через 0.00 сек. получили уже урон, хилим и отнимаем. Все.
Если урона мало получил, то добавь еще (нанеси триггером, не забудь только выключить триггер, нанести урон, включить. Проще вычесть хп, но если юнит из расчетов должен сдохнуть, то убивай триггером - так получится вражескому герою опыт и игроку золота), если много поправь через триггеры (добавь хп).
Если в процентном отношении. то запоминай сначала сколько было. Потом можно добавишь сколько нужно. Да и есть функции которые берут здоровье в процентах. Хотя можно перечитать и без этих функции
Steal nerves #48 - 2 недели назад (отредактировано ) 0

» WarCraft 3 / Не срабатывает триггер на получение урона

Yonsen, ты хочешь сделать стрелы или это такая активная способность? Если хочешь пустышку юзать. то лучше канала нет
Steal nerves #49 - 2 недели назад (отредактировано ) 0

» WarCraft 3 / Как увеличить/уменьшить урон по юниту в процентном соотношении?

Yonsen, обычно юзают предметную способность "запас здоровья" до 999999к хп. Обычно на все случаи жизни, любимый метод. Даем ее в момент нанесения урона. Когда срабатывает событие "юнит получает", то в этот момент урон еще не произошел, нам как бы оповешают, что он будет через 0.00 сек. Получает пассивку и через 0.00 сек урон. Потом хилим. И удаляем способность. Все.
Steal nerves #50 - 2 недели назад (отредактировано ) 1

» WarCraft 3 / Что же лучше, таймеры или периодик

xgm.guru/forum/showthread.php?t=58784 разницы никакой нет между двумя. только неудобство в том, что это событие, и привязан к триггеру и все. Событие то ловит когда завершает действие таймера. Плюс еще можно условиями юзать, как фильтры.
» раскрыть
Еще можно в качестве события нацепить таймер. Да используют в событиях таймеры. Таймеры просто привязаны событием к триггеру. Различие в том, ловим событием завершение таймера, и запускаем триггер.
Или можно сразу запускаем функцию. Через нативку удобно вызвать функцию таймером: создал таймер, запустил - делал действие, удалил таймер и все. В то время, как через триггер: когда удалишь таймер, там остается событие, которое будет бесполезным. Не знаю, считается ли это утечкой (считается незначительной утечкой)
» раскрыть
скорее всего есть небольшие различия из-за TriggerSleepAction. недавно пробовал, и узнал, что работает только в функции действия. А если запустить отдельный поток, вроде ForGroup. то не работает слип. Не знаю, если вызвать через нативку таймера функцию, то в функции кажись слип работать не будет. В некоторых случаях, нужно паузу сделать в 0.00 сек. например. Хотя мне привычно юзать таймеры
xgm.guru/forum/showthread.php?t=5678 вот что-то нашел про потоки
Darknessay, человеческий глаз не успевает увидеть изменения меньше чем 0,3 или 0,4 сек. Не увидит движения. Но это не значит, что вредно (просто игрок не увидит ничего. машина быстро работает).
Дело не в том, что лучше. А что плохо иметь одновременно много работающих таймеров.