Q/A

Добавлен , опубликован
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
5
10 лет назад
0
Я просто для того, чтобы научиться делаю способность "Волна силы", только на cJass.
Поэтому мне нужно выбирать юнитов вокруг дамми, проверять имунны они кмагии или нет и входят ли в группу.
Если не имунны и не в группе - занести в группу и продамажить. А группа уже очистится в методе destroy()
0
37
10 лет назад
Отредактирован ScorpioT1000
0
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();
0
28
10 лет назад
0
Emily_WoRnz, тогда делай группу в структуре
зачем массив
0
15
9 лет назад
0
Как использовать хэш таблицу, не конфликтуя с наработками\системами, использующими её? Несколько таблиц создавать ведь опасно, а так индексы могут совпасть?
2
21
9 лет назад
Отредактирован Buulichkaa
2
два выхода
  1. юзать структуры вместо таблиц
  2. делать все наработки самому, тогда ничего нигде не пересечется, ну или юзать разумно написанные наработки, где расписано какие индексы и чем используются
0
15
9 лет назад
0
Buulichkaa, спасибо, а если отбросить элементы c- и v- Jass, то какой способ создания MUI лучше подходит: массивы или хэш-таблица?
2
21
9 лет назад
Отредактирован Buulichkaa
2
Audes, оба подходят отлично, но без надстроек в виде структур код с массивами будет трудно-читабельным (на чистом джассе в смысле)
да и труднописабельным тоже
0
21
9 лет назад
0
Любые функции по типу Get[object] нужно приравнивать к переменным, удалять объект и обнулять переменную?
В чём отличие udg_global и переменной, оглашенной в globals?
0
28
9 лет назад
Отредактирован nvc123
0
Любые функции по типу Get[object] нужно приравнивать к переменным, удалять объект и обнулять переменную?
только те что возвращают хэндл
заносить в переменную нужно только если используем этот объект в дальнейшем
обнулять надо только после юза(если удаление и обнуление в 1 функции то сначала удаление а потом обнуляем)
удалять только если необходимо избавится от объекта
например :
UnitItemInSlot(u,0) // заносим в переменную если используем более 1 раза либо если надо сохранить, после юза обнуляем, удаляем только в случае если нужно удалить сам предмет у героя
GetUnitX(u) // заносим в переменную если используем более 1 раза либо если надо сохранить , обнулять ненадо, удалить вообще невозможно
GetUnitLoc(u) // не используем вообще
если в данной функции объект используется только 1 раз то заносить в переменную не надо
RiseD:
В чём отличие udg_global и переменной, оглашенной в globals?
если в гуи создать глобалку abc то она в коде будет называться udg_abc
если использовать v/cjass то она будет называться abc
0
21
9 лет назад
0
Тоесть глобалки обьявленные в одном тригге можно использовать в другом так же как udg_, или только внутри тригга?
удалить вообще невозможно
А как же
RemoveUnit(u)
?
И, например
set u = null
0
28
9 лет назад
0
Тоесть глобалки обьявленные в одном тригге можно использовать в другом так же как udg_, или только внутри тригга?
триггер который ты имеешь ввиду(как листок с именем в гуи) это иллюзия созданная для удобства
на самом деле их не существует
это как страницы в книги
носить огромный свиток было не удобно поэтому текст разбили на страницы
все глобалки(включая и те что в гуи) при сохранении переносятся в блок globals находящийся в самом начале карты
но к гуишкам при этом приписывается udg_
RiseD:
А как же
RemoveUnit(u)
?
результат функции GetUnitX(u) это дробное число(real/float)
RemoveUnit(u) удалит юнита а не число
комментарии относятся к тому что возвращает функция(предмет,число,локейшн) а не к юниту которого она принимают
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.