28

» WarCraft 3 / Некоторые функции юнитов

Steal nerves:
с описании гуи менюшки
Да, тоже нашёл.
Вот нельзя было это и в common.j написать?
интересно ограничение на все типы?
Эти способности есть только у рынка, который продаёт предметы и нейтральных юнитов, которые появляются на карте. Эти функции лишь ставят лимит на кол-во продаваемых предметов или нейтральных юнитов ожновременно.
28

» WarCraft 3 / Некоторые функции юнитов

Вот, что она делает. Работает и на обычных юнитов.
Загруженные файлы
28

» WarCraft 3 / Некоторые функции юнитов

Steal nerves, спасибо большое.
Осталось только выяснить, что делает эта функция.
native UnitSetUsesAltIcon takes unit whichUnit, boolean flag returns nothing
28

» WarCraft 3 / Некоторые функции юнитов

скорость анимации
Спасибо.
если не ошибаюсь, это еда
Это не еда.
28

» WarCraft 3 / Как можно узнать что декорация была атакована/выбрана

Принятый ответ
Пример 2
Тривиально же.
Через события способностей
Через событие приказа в цель
если стало меньше
В отличие от юнитов и предметов, у разрушаемых объектов нет UserData, чтобы было куда сохранить их жизнь. То есть, придётся использовать хеш.
Загруженные файлы
28

» WarCraft 3 / Как ускорить работу редактора карт?

После этих манипулиций на карте не будет юнитов, которые сами по себе грузят редактор, а также не останется специальных переменных, которые создаются при указании в гуи юнитов, стоящих на карте.
Эти переменные могут использоваться, потому стоит их оставить. А чтобы их окончательно удалить, нужно найти их в блоке globals, что в самом верху war3map.j.
28

» WarCraft 3 / Как можно узнать что декорация была атакована/выбрана

Да-да, jass'еры, как регистрировать виджет?
Можно только зарегистрировать смерть виджета. Через custom script, конечно же.
Если событие на приказ-цель, то можно узнать сразу цель-разрушаемый объект
constant native GetOrderTargetDestructable  takes nothing returns destructable
28

» WarCraft 3 / Ауры

Иконка будет, только если в константах это поставить.
28

» WarCraft 3 / Создание модели искусственной тени

Я поставил флаг Unshaded, и квадрат перестал появлятся при затенении экрана.
А по поводу видимости модели в белом тумане - виспов тоже в нём видно.
28

» WarCraft 3 / Создание модели искусственной тени

але, я пытаюсь скрыть модель в тумане, а не показать
А я про то, что строение с твоей моделью у меня в тумане скрыто. Никаких белых квадратов.
28

» WarCraft 3 / Создание модели искусственной тени

Хм, у меня почему-то не видна. Ничего не менял в модели.

Попробуй поставить в материале флаг Unfogged.
Загруженные файлы
28

» WarCraft 3 / Создание модели искусственной тени

есть ли какие либо решения?
Посмотри модель сферы тьмы, там у одного эффекта в качестве текстуры используется чёрный кружок с режимом modulate. Сохрани её и глянь, как она сделана. Я так когда-то сделал такую текстуру.
UPD: вот и сама модель.
Загруженные файлы
28

» WarCraft 3 / Прошу помощи с мультибордом смертей...

Принятый ответ
Вот как это выглядит
Гхм, слишком сложно сделано.
Заведи себе глобальную переменную целочисленного типа. Назови её "Номер игрока". При срабатывании триггера на смерть делай следующее.
Номер игрока = номер игрока(игрок-владелец(умирающий юнит))
массив[Номер игрока] = массив[Номер игрока] - 1
В настройке переменной твоего массива нужно поставить изначальное значение 3, а размер массива на количество игроков в твоей карте.
появилась до того как я создал вот этот триггер с этой фотки.
Ты тут каждые 0.1 секунды увеличиваешь значение на 3. Зачем?
28

» WarCraft 3 / Иконки на заказ

Ну вообще можно делать рамки в самом JNGP сразу с импортом в карту, для этого достаточно знать английский и прочитать этот мануал. Если не нравятся рамки, что он делает, их можно заменить в папке grimext.
Но лично я всё также делаю с помощтю Button Manager, так как мне сразу в карту импорт не нужен. Я в нём все стандартные рамки продублировал и кинул в кастомные, ибо у Button Manager есть баг у стандартных рамок: он всегда делает Disabled версию, хочешь ты этого или нет.
Загруженные файлы
28

» WarCraft 3 / Прошу помощи с мультибордом смертей...

У тебя есть массив со смертями. Номер ячейки есть номер игрока
Также есть триггер, который регистрирует смерть героя.
В нём ты узнаёшь номер игрока-владельца умирающего героя, и уменьшаешь значение в нужной ячейке на 1 (массив[ячейка] = массив[ячейка] - 1). Обновляешь это значение в мультибоарде.

Если всё сделано так, но не работает, то скриншот триггера сюда.
28

» WarCraft 3 / Как ускорить работу редактора карт?

Вот поэтому я всё, что можно разместить на карте, создаю сам во время инициализации или после старта игры.
28

» WarCraft 3 / Какой необходимый размер иконка как монета и дерево?

Принятый ответ
Так залезь в архивы и смотри.

Иконка золота для подсказок.
Путь: UI\Widgets\ToolTips\Human
Там же и остальные иконки для подсказок.

Иконка золота для верхней панели.
Путь: UI\Feedback\Resources
Там же и остальные иконки для верхней панели.

Оба типа иконок имеют разрешение 32х32.
Загруженные файлы
28

» WarCraft 3 / Как ускорить работу редактора карт?

Какой редактор используется?
Если JNGP, то пробовал ли делать карту без JNGP или с выключенным UMSWE? JNGP подгружает много всяких плагинов, которые могут быть и не нужны.
28

» WarCraft 3 / Проблемы утечек

Ты же задавался уже этим вопросом, почему обрабатываются лишь юниты красного игрока, а остальных нет.
Гхм, залез в код, словил рофл от этого. Совсем не ожидал того, что внутри GroupAddGroup тоже будет проверятся этот флаг.
Мда, ОЧЕНЬ много ошибок в лазурных башнях и в самих bj.
8gabriel8:
Речь о группе, когда юнитов создают
Тут совершенно верно замечено. Я изначально вёл речь о Pick every unit in group and do actions.
28

» WarCraft 3 / Юнит как Герой + его позиция

есть у меня одна мысль, может кто подсказать, как заставить героя использовать способность автоматически, в момент его тренировки/воскрешения?
Событие: юнит входит в карту.
Условия: Вошедший юнит такой-то.
Действия: Приказать вошедшему юниту такой-то приказ.

Для воскрешения аналогичный триггер, а может даже и этого хватит, надо проверить.
Приказ зависит от заклинания.
28

» WarCraft 3 / Проблемы утечек

Обработает лишь красного игрока и удалит группу, а у остальных игроков юнитов нужного типа неоткуда будет брать.
Это было проверено на практике или нет?
Потому что по коду я вижу, что всё будет работать верно. Сначала сработает GetUnitsOfTypeIdAll(), и только потом ForGroupBJ(). Их код я кинул выше.
Если сконвертировать, то будет следующее.
call ForGroupBJ( GetUnitsOfTypeIdAll('hfoo'), function Trig_Untitled_Trigger_001_Func001A )
Это сработает так, как я сказал выше, потому что в JASS, как и во многих языках, передача по значению.

Так это что получается, нужно сначала присвоить глобальную переменную локальной группе, чтобы потом её удалить?
Нет, наоборот. Делаем переменную типа группа, в неё записываем нужную группу, после для неё вызываем Pick every unit in group and do actions, а затем удаляем. Это 3 строчки. Но зачем это, когда можно перед Pick every unit in group and do actions просто написать set bj_wantDestroyGroup = true с таким же результатом? И займет это 2 строчки.
Но это не работает с выбором всех юнитов определённого типа на карте.
Как я уже описал выше, работает, для практической проверки стоит посмотреть карту Лазурные башни, триггер Tech\Zenith Refresh.
28

» WarCraft 3 / Юнит как Герой + его позиция

Если в карте нет героев, то можно заменить некоторые вещи в интерфейсе, а самого юнита сделать героем.
У меня в карте нет героев, потому реализовал так. Если такой способ подойдёт, могу скинуть необходимые параметры и текстуры.
28

» Мир безумного / WarCraft III Reforged - WE (что хотите увидеть?)

Предлагаю

"Юнит выходит из ренджа другого юнита"
  • Пожелание выше.
  • Для событий "Юнит входит в радиус другого юнита" и "Юнит выходит из радиуса другого юнита" добавить следующий функционал:
native GetRegisteredUnit takes nothing returns unit  // возвращает юнита, в радиус которого входят или выходят.
native GetRegisteredRange takes nothing returns real  // возвращает расстояние, на которое нужно подойти или отойти для срабатывания.
  • Добавить функционал для event, в частности возможность удаления события:
native TriggerUnregisterEvent takes trigger whichTrigger, event whichEvent returns nothing  
  • Исправить ситуацию с коллизией триггеров при их динамическом удалении и создании, когда при создании нового триггера у него уже есть события, условия и действия. Однако мои тесты показывают, что такая ситуация невозможна на патче 1.26а, но не факт, что мои тесты верны. Больше об этой ситуации тут.
28

» WarCraft 3 / Юнит как Герой + его позиция

Если в карте нет героев, то можно заменить некоторые вещи в интерфейсе, а самого юнита сделать героем.

8gabriel8:
Обязательно каждые 0.03 секунды группу выбирать, может просто конкретного юнита?
Если на карте есть несколько игроков, и у каждого есть юнит-пустышка, то группа нужна для их перебора. Если юнит один, то группа не нужна.