1).Как убрать автокаст у способности ледяные стрелы? чтоб нельзя было поставить на автоприменение, и каставалось как применение заклинания, или скажите как отловить автоприменение заклинания, мне надо сделать итем - "ледяные стрелы(20шт.)" когда герой берёт его, то у него автоматически исчезает итем ледяные стрелы и добавляется способность ровно на 20 применений, но если поставить автокаст, то это не защитывается как применение заклинания, а мне то нужно удалить этот скилл через 20 применений(а отловить то на автокасте не могу!) я пробывал сделать как атаку, но получается что если ледяные стрелы невключены то они тоже расходуются как будто ты стреляешь, пробывал сделать проверку на бафф, но если пальнуть из ледяной стрелы 1 раз и у него то останется бафф на 5 секунд, а потом если ты стреляешь еще в течении этих 5 секунд простыми стрелами то эти стрелы тоже убывают. Так что вот какая головоломка, конечно хотелось бы сделать стрелы с отлавливаемым автокастом. 2). Вот циклы на ГУИ, я оказывается не всё знаю про них, и с недавних пор стал освоивать эту функцию. Такой вопрос: "Для каждого числа А совершать от 1 до 10 действий: Цикл:" вот эта функция, что значит число А? почему бы не поставить Б или Г или Д.... или это как гломабльная переменная? и таких всего 2 в WE - А и Б. И цикл будет совершаться ровно 10 раз? Я недавно прочёл часть статейки про циклы в jass так вот, если совместить функции if/then/else и циклы то получится нечто постоянно повторяющееся до тех пор пока не будет выполненно условие if? Если я где то неправ или что то незнаю то пожалуйство подскажите.
Да, это глобальные переменные, только их не две, а четыре. Вот что мы получим, переведя цикл из GUI в JASS.
Code
set bj_forLoopAIndex = 1// Целое A = 1 set bj_forLoopAIndexEnd = 10// Конец Целого A = 10 loop// Цикл exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd// Выйти, когда Целое A превысит Конец Целого A. // Действия set bj_forLoopAIndex = bj_forLoopAIndex + 1// Целое A увеличивается на 1 endloop// Конец цикла
То же самое и с B (bj_forLoopBIndex). Когда же мы ставим другие целочисленные, у нас получается это:
Code
set Integer = 1 loop exitwhen Integer > 10// Выйти, когда переменная превысит 10. // Действия set Integer = Integer + 1// Переменная увеличивается на 1 endloop
Добавлено (18-06-2010, 11:35) --------------------------------------------- Сразу видно, какой способ компактнее.
Нашел решение головоломки! Ледяным стрелам даешь очень короткий buff-эффект и отслеживаешь его. А при попадании стрелы в цель создаешь дамми и приказываешь использовать пятисекундное "Замедление"!