Era allows.
77006 - Battle: Who Moves?
Decision on what stack will move now.
Parameters (2): Side (0 - left, 1 - right) / Stack number (0..41)
Example:
!?FU77006;
!!SN:X0/0; only 1-st stack of left player will gain move in the battle.
Spasiba. Of course, it will be on ERA.
Заметил маленькую неточность в справке ERM:
!!UN:H#1/#2/#3/#4/#5
Скрыть часть карты (область – круг)
#1 – X
#2 – Y
#3 – L
#4 – игрок (здесь идёт ссылка на цвета игрока, а нужно цвета игрока побитно).
#5 – радиус
Вопрос такой
===Сопротивление магии===
--------------------------------------------------------------------------------
!?MR2;Триггер на гномье сопротивление.
!!MR:M?y-1;Определяем тип монстров в целевомстеке.
!!MA:Xy-1/?y-2;Считываем флаги монстров в целевом стеке.
!!VRy-2:&262144;Проверяем, нет ли флага "нечисть" у монстров в целевом стеке.
!!FU&y-2>0:E;Если монстры в целевом стеке - нечисть, выходим из триггера.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:F25;Если это была волна смерти, ставим 25% сопротивления.
Можно ли сделать так, чтобы, если у существа имеется природное сопротивление, срабатывало оно, иначе получается, что заклинания действуют на драконов всех и черных в том числе.
Попробуй так:
!?MR2; Триггер на гномье сопротивление.
!!MR:D?y-1;Определяем сопротивление монстров в целевом стеке.
!!VRy-1:+25;Добавляем 25% к сопротивлению.
!!VRy-1&y-1>100:S100;Если сопротивление стало больше 100, урезаем его до 100.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:Fy-1;Если это была волна смерти, устанавливаем сопротивление.
Вообще природный иммунитет - штука, слабо поддающаяся контролю erm.
У меня есть функция для расчёта, должно ли работать заклинание, но она не полная (нет учёта анти-магии) и основана на номерах существ, т. е. если дать иммунитет какому-либо существу, скажем, копейщику, моя функция это не будет учитывать.
(19.09.2010 17:38)Sav Wrote: [ -> ]Попробуй так:
!?MR2; Триггер на гномье сопротивление.
!!MR:D?y-1;Определяем сопротивление монстров в целевом стеке.
!!VRy-1:+25;Добавляем 25% к сопротивлению.
!!VRy-1&y-1>100:S100;Если сопротивление стало больше 100, урезаем его до 100.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:Fy-1;Если это была волна смерти, устанавливаем сопротивление.
Вообще природный иммунитет - штука, слабо поддающаяся контролю erm.
У меня есть функция для расчёта, должно ли работать заклинание, но она не полная (нет учёта анти-магии) и основана на номерах существ, т. е. если дать иммунитет какому-либо существу, скажем, копейщику, моя функция это не будет учитывать.
Не действует на мертвых, но действует на драконов
А если сделать с исключением?
!?MR2; Триггер на гномье сопротивление.
!!MR:D?y-1;Определяем сопротивление монстров в целевом стеке.
!!VRy-1:+25;Добавляем 25% к сопротивлению.
!!VRy-1&y-1>100:S100;Если сопротивление стало больше 100, урезаем его до 100.
!!MR:M?y-1;Определяем тип монстров в целевомстеке.
!!MA:Xy-1/?y-2;Считываем флаги монстров в целевом стеке.
!!VRy-2:&128;Проверяем, нет ли флага "KING1" у монстров в целевом стеке.
!!FU&y-2>0:E;Если монстры в целевом стеке - KING1, выходим из триггера.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:Fy-1;Если это была волна смерти, устанавливаем сопротивление.
А ржавый, кристальный, волшебный драконы?
Они исключаются из действия триггера и, значит, 25% не получат?
Или нет, *смотрит триггер*
Идея с флагом Палача интересная, но тогда все ржавые и т. д. драконы тоже получат иммунитет. Попробуй ещё так:
!?MR2; Триггер на гномье сопротивление.
!!MR:F?y-1;Определяем сопротивление монстров в
целевом стеке.
!!VRy-1:+25;Добавляем 25% к сопротивлению.
!!VRy-1&y-1>100:S100;Если сопротивление стало больше
100, урезаем его до 100.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:Fy-1;Если это была волна смерти,
устанавливаем сопротивление.
Добавлено:
Хм, да они не получат иммунитета, но не получат и сопротивления.
MR:F - это разве сопротивление?
Ах, да, гномий триггер же.
(19.09.2010 18:27)Sav Wrote: [ -> ]Идея с флагом Палача интересная, но тогда все ржавые и т. д. драконы тоже получат иммунитет. Попробуй ещё так:
!?MR2; Триггер на гномье сопротивление.
!!MR:F?y-1;Определяем сопротивление монстров в
целевом стеке.
!!VRy-1:+25;Добавляем 25% к сопротивлению.
!!VRy-1&y-1>100:S100;Если сопротивление стало больше
100, урезаем его до 100.
!!MR:S?y-3;Проверяем, что это было за заклинание.
!!MR&y-3=24:Fy-1;Если это была волна смерти,
устанавливаем сопротивление.
Добавлено:
Хм, да они не получат иммунитета, но не получат и сопротивления.
Работает, более того, существа которые имеют иммунитет к магии Элементали магии на них тоже не действует, ранише действовала.
Подскажите, пожалуйста, как сохранить исходное значение множества адресов, не забивая под это множество переменных? Допустим, код выглядит так:
Code:
!!FU1:Px1/x2/1;
!?FU1;
!!VRy1&x3=1:S[стартовый адрес] *x1;
!!UN&x3=1:Cy1/4/x2;
Значение x1 варьируется от 0 до 164. Нужно сохранить значение в каждом из полученных адресов, чтобы всосстановить это значение командой !!FU1:Px1/x2/0?
Речь идет о синтаксисе типа !!UN:G, когда выставлением 0 в последнем параметре восстанавливается оригинальное значение.
Можно сохранять во временный(е) файл(ы), а потом читать. Это изврат, конечно, но что поделаешь.
etoprostoya, подскажи, пожалуйста, как это провернуть.