Я просто для того, чтобы научиться делаю способность "Волна силы", только на cJass.
Поэтому мне нужно выбирать юнитов вокруг дамми, проверять имунны они кмагии или нет и входят ли в группу.
Если не имунны и не в группе - занести в группу и продамажить. А группа уже очистится в методе destroy()
ScSelector s = ScSelector.NewFromTarget(GetTriggerUnit(), X ТОЧКИ, Y ТОЧКИ, РАДИУС, SC_FILTER_ENEMY_NOT_DEAD_NOT_CASTER, false, -1);
for(int i = 0; i < s.Size(); ++i) {
if( проверяешь юнита s[i], если он имунный или еще что или что угодно ) {
наносишь дамаг юниту s[i]
}
}
s.Delete();
Как использовать хэш таблицу, не конфликтуя с наработками\системами, использующими её? Несколько таблиц создавать ведь опасно, а так индексы могут совпасть?
делать все наработки самому, тогда ничего нигде не пересечется, ну или юзать разумно написанные наработки, где расписано какие индексы и чем используются
Audes, оба подходят отлично, но без надстроек в виде структур код с массивами будет трудно-читабельным (на чистом джассе в смысле)
да и труднописабельным тоже
Любые функции по типу Get[object] нужно приравнивать к переменным, удалять объект и обнулять переменную?
В чём отличие udg_global и переменной, оглашенной в globals?
Любые функции по типу Get[object] нужно приравнивать к переменным, удалять объект и обнулять переменную?
только те что возвращают хэндл
заносить в переменную нужно только если используем этот объект в дальнейшем
обнулять надо только после юза(если удаление и обнуление в 1 функции то сначала удаление а потом обнуляем)
удалять только если необходимо избавится от объекта
например :
UnitItemInSlot(u,0) // заносим в переменную если используем более 1 раза либо если надо сохранить, после юза обнуляем, удаляем только в случае если нужно удалить сам предмет у героя
GetUnitX(u) // заносим в переменную если используем более 1 раза либо если надо сохранить , обнулять ненадо, удалить вообще невозможно
GetUnitLoc(u) // не используем вообще
если в данной функции объект используется только 1 раз то заносить в переменную не надо RiseD:
В чём отличие udg_global и переменной, оглашенной в globals?
если в гуи создать глобалку abc то она в коде будет называться udg_abc
если использовать v/cjass то она будет называться abc
Тоесть глобалки обьявленные в одном тригге можно использовать в другом так же как udg_, или только внутри тригга?
триггер который ты имеешь ввиду(как листок с именем в гуи) это иллюзия созданная для удобства
на самом деле их не существует
это как страницы в книги
носить огромный свиток было не удобно поэтому текст разбили на страницы
все глобалки(включая и те что в гуи) при сохранении переносятся в блок globals находящийся в самом начале карты
но к гуишкам при этом приписывается udg_ RiseD:
А как же
RemoveUnit(u)
?
результат функции GetUnitX(u) это дробное число(real/float)
RemoveUnit(u) удалит юнита а не число
комментарии относятся к тому что возвращает функция(предмет,число,локейшн) а не к юниту которого она принимают
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного.
Перейти к актуальным.
Поэтому мне нужно выбирать юнитов вокруг дамми, проверять имунны они кмагии или нет и входят ли в группу.
Если не имунны и не в группе - занести в группу и продамажить. А группа уже очистится в методе destroy()
Отредактирован ScorpioT1000
зачем массив
Отредактирован Buulichkaa
Отредактирован Buulichkaa
да и труднописабельным тоже
В чём отличие udg_global и переменной, оглашенной в globals?
Отредактирован nvc123
заносить в переменную нужно только если используем этот объект в дальнейшем
обнулять надо только после юза(если удаление и обнуление в 1 функции то сначала удаление а потом обнуляем)
удалять только если необходимо избавится от объекта
например :
RiseD:
если использовать v/cjass то она будет называться abc
И, например
на самом деле их не существует
это как страницы в книги
носить огромный свиток было не удобно поэтому текст разбили на страницы
все глобалки(включая и те что в гуи) при сохранении переносятся в блок globals находящийся в самом начале карты
но к гуишкам при этом приписывается udg_
RiseD:
RemoveUnit(u) удалит юнита а не число
комментарии относятся к тому что возвращает функция(предмет,число,локейшн) а не к юниту которого она принимают