30

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

konvan5, ну так можно всё сохранять в хэштаблицу по id лавки и не городить костыли с абилками.
30

» WarCraft 3 / Как создавать локальные переменные, если не умеешь кодить?

Предупреждение автору публикации
замечание: 10.4 Создание ресурса, название которого не отражает суть вопроса.
30

» WarCraft 3 / Телепорт Юнитов

native SetUnitX takes unit whichUnit, real newX returns nothing
native SetUnitY takes unit whichUnit, real newY returns nothing
30

» WarCraft 3 / Некоретная работа тригера

Не вижу условия срабатывания триггера.

Ну и напоминаю, что машина выполняет то что ты написал, а не то что ты хочешь.

просто не делает то что написано в коде
А что написано в коде?
30

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

В твоём условии получается, что одновременно должны быть проданы все четыре предмета, что невозможно.
Нужно хранить проданные предметы в переменных и взрывать только тогда, когда продано все четыре.
30

» WarCraft 3 / Угон транспорта

сделать хорошо и супер точно, и писать много кода.
Ох как ты утрудишься, чтоб дополнительно написать две строчки для проверки.
наверное это проблема большинства неопытных спеллмейкеров
Я такое и у опытных не раз встречал.
мне проще костыль запилить и перейти к следующей механике. Которая стала мне интересна.
... а потом взглянуть на свой велосипед из костылей и окончательно выгореть. Выгорание происходит, когда в свой код ты боишься палочкой тыкнуть, не то что дописывать. Откладывание проблемы в долгий ящик отсрочит неизбежное, но не нужно питать ложных иллюзий.
30

» WarCraft 3 / Угон транспорта

А если наоборот сделать, и в описании абилки добавить "Способность имеет разброс, который может задеть больше юнитов", это фича ))
Я вижу идею ты не уловил. Посмотри как в благодатях сделано. Там каст идёт точно в круг без всяких костыльных разбросов.
30

» WarCraft 3 / Угон транспорта

Не доводилось сталкиваться с кривым радиусом каста в чужих картах.
А ты попробуй целенаправлено цеплять краешком круга, тебя ждёт много интересных открытий.
и тут проблемно будет "средний физ размер" высчитать, мягко говоря
Не вижу сложностей. Заводишь себе константу, ложишь туда 200 и на большинство случаев должно хватить. Если не хватит, то добавляешь сколько нужно.
Хуже, если не зацепит, хотя должно было.
Так в том и проблема, что если не заморачиваться, то и не цепляет.
30

» WarCraft 3 / Угон транспорта

А так всё ещё проще оказалось.
Проще то проще, только вот почему-то нормального круга каста в тригорных заклинаниях можно по пальцам пересчитать. Хотя что может быть проще при добавлении юнитов в группу добавить радиуса с запасом, а потом отфильтровать через:
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Притом тот же реф или UjAPI позволяют получать размер круга и его не нужно хардкодить в спеле.
30

» WarCraft 3 / Угон транспорта

EugeAl, видать назревает непонимание в терминологии. Физический размер это диаметр окружности, которая используеется при расчёте проходимости. Возможно радиус, я точно не помню. Для дальнейших рассуждений возьмём диаметр.
Дальше проще всего показать на рисунках.

IsUnitInRange

Смотри, есть юниты A и C, половина физ размера для юнита A это радиус AB. Для юнита C это отрезок CD.
Ну и дальге нужно понять, что возврашает функция:
native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
И здесь всё просто:
  • Еcли окружности пересекаются, то она вернёт true
  • Если нет, то real distance >= BD.
Загруженные файлы
30

» WarCraft 3 / Угон транспорта

EugeAl, та, которая физический размер. Обе функции его учитывают:
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Напрямую в ваниле его не получить, так что это единственный способ сделать нормальный зацеп.
Я например её юзаю в свободных от осей прямоугольниках и в AOE, чтоб цеплять ровно в круг:

Тупая проверка расстояния

IsUnitInrangeXY

30

» WarCraft 3 / Угон транспорта

для радиуса поможет jass функция IsUnitInRange, она проверяет расстояние между юнитами
Стоит уточнить, что она проверяет расстояние с учётом коллизии, а не тупо между координатами.
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
30

» WarRaft / IntelliJASS

Как сам думаешь, это всё удобно или нет?
Уже почти седьмой год IntelliJ является моей боевой IDE. Многие вещи там сделаны довольно таки удобно. А если сравнивать с VSCode, то это верх дизайнерского изыска. За всё это дело приходится платить оперативой, что собственно не сложно.
Ну и не забываем про API для разработчиков. Когда кто-то напишет Language Server для JASS то пинганите. Я пока что не видел ни одного редактора, который разбирает жасс семантически. Только унылая подсветка по шаблонам.
В - Валидация
Загруженные файлы
30

» WarRaft / IntelliJASS

Нужно ли это для JASS, не знаю.
Для Jass это не стоит.
Есть люди, которые думают иначе.
Загруженные файлы
30

» WarRaft / IntelliJASS

Противоположный подход - vscode + language server
Странно, а как я в IntelliJ под Flutter разрабатываю с отдельным LS?
30

» WarRaft / IntelliJASS

Я не использую Toolbox
Преимущество Toolbox в том, что он позволяет паралельно держать несколько версий IDE без особого напряга. При мажорных обновлениях не все плагины успевают подтянуться, так что иногда очень выручает.
30

» WarRaft / IntelliJASS

Так же программа сильно тормозит, несмотря на указанные выше свойства компа (!)
Странно, у меня не тормозит. Наверно под винду не оптимизировано.
Загруженные файлы