Quote:По коду: в каком триггере это вообще проиходит? !!BG работает только в триггере !?BG, а !!MF не несёт смысловой нагрузки за пределами триггера !?MF.
- всё и всегда у меня происходит в тригере !?MF1. С другими я как-то не работаю..
Quote:Значит нельзя привязываться конкретно к нападающему или защитнику.
- по моему разницы тут нет, так как я сначала проверил только одного нападающего - толку не было, а теперь взял ещё и защищающегося - причина осталась прежней..
Сделал скрипт, но почему-то мои драколичи утратили способность к массовой атаке - что делать? Как это исправить? Скрипт сам работает, но драколичи атакуют только по одному врагу
!!BG:A?y1;
!!BG&y1=7:E?y2;
!!MF:E1; разрешить урон
!!MF:F?y10; узнаем урон
!!VRy10:+0; оставляю урон без изменений
!!MF:Fy10 Nx2; устанавливаем повышенный урон
!!BMy2:Ky10; нанести урон противнику
!!BG:Q?y1 A?y2; - узнаём текущую сторону и тип действия
!!FU&y1<>0:E; - если нет, то выход
!!FU&y2<>7:E; - если нет, то выход
!!MF:E0; запрещаем урон
(08.06.2014 18:45)fatsawhorse Wrote: [ -> ]всё и всегда у меня происходит в тригере !?MF1. С другими я как-то не работаю..
Вот тебе и ответ почему не работает.
(08.06.2014 18:45)fatsawhorse Wrote: [ -> ]по моему разницы тут нет, так как я сначала проверил только одного нападающего - толку не было, а теперь взял ещё и защищающегося - причина осталась прежней..
Нет, я имею в виду, что твой скрипт мог бы автоматически определять кого нужно проверить.
Quote:fatsawhorse писал(а):
всё и всегда у меня происходит в тригере !?MF1. С другими я как-то не работаю..
Вот тебе и ответ почему не работает.
- да нет. Здесь Вы не правы! Речь у меня идёт о физическом уроне, который как раз и надо получить через !?MF1. Я так сделал и у меня получилось, но драколич бьёт только по одному вражескому монстру, а не по целой группе!! Самое интересное то, что враги имеют полное право атакой драколича бить одновременно группы моих монстров, а я не могу делать этого...
Сейчас у меня в наличие такой скрипт
!!BG:A?y1;
!!BG&y1=7:E?y2;
!!MF:E1; разрешить урон
!!MF:F?y10; узнаем урон
!!VRy10:+0; оставляю урон без изменений
!!MF:Fy10 Nx2; устанавливаем повышенный урон
!!BMy2:Ky10; нанести урон противнику
!!BG:Q?y1 A?y2; - узнаём текущую сторону и тип действия
!!FU&y1<>0:E; - если нет, то выход
!!FU&y2<>7:E; - если нет, то выход
!!MF:E0; запрещаем урон
- он рабочий и работает так, как мне надо, но если бы не одно но: урон у драколич потерял радиус действия на вражескую армию. Если бы не это, то всё было бы замечательно... Я предполагаю, что проблема затаилась в этой переменной
!!BMy2:Ky10; нанести урон только одному противнику, но не целой группе
, так как я не знаю и даже не предполагаю, как вообще можно нанести урон, по крайней мере, группе существ, находящихся рядом с действием облака смерти.. Я делал проверку и на сторону защищающего
, но опять же результат никакой.. Я не знаю в чём проблема, то есть не понимаю, как можно расширить радиус действия атаки, если она у меня установлена на одного юнита (поскольку не могу сделать на группу).. Вопрос только в этом.. Остальное мне всё понятно....
Понятно. Объясняю как работает MF. Когда отряд должен получить повреждение, для этого конкретного отряда вызывается !?MF. Это может быть и несколько раз за ход, и несколько раз за действие. Это значит, что если что-то (заклинание, драколич, магог и т.п.) бьёт по площади, то триггер активируется для каждого целевого отряда отдельно. Суть триггера такова: он сообщает скрипту урон (!!MF:F) и по окончании получает установленный скриптом (через всё то же !!MF:F) урон и признак отмены урона (!!MF:E). Если отмены не было, то отряду наносится этот и только этот полученный из триггера урон.
Quote:Понятно. Объясняю как работает MF. Когда отряд должен получить повреждение, для этого конкретного отряда вызывается !?MF. Это может быть и несколько раз за ход, и несколько раз за действие. Это значит, что если что-то (заклинание, драколич, магог и т.п.) бьёт по площади, то триггер активируется для каждого целевого отряда отдельно. Суть триггера такова: он сообщает скрипту урон (!!MF:F) и по окончании получает установленный скриптом (через всё то же !!MF:F) урон и признак отмены урона (!!MF:E). Если отмены не было, то отряду наносится этот и только этот полученный из триггера урон.
- если я Вас правильно понял, то урон в любом случае будет только на одного монстра, но никак не на целую группу, если же я его задам (этот урон) тригером !!MF:F !!! А можно ли вообще как-нибудь задать попытаться задать через этот тригер массовый урон (урон всем соседним существам, стоящим с атакуемым монстром). Если можно, то что вообще можно использовать в ерм-хэлпе? Я перебрал там все существующие ресейверы и не нашёл ничего такого похожего! Если задать нельзя такой урон, то хотелось бы точно это знать, чтобы не тратить время и не мучиться! Спасибо..
!! - это рисивер, а не триггер. Отдельной команды же для массового урона нет, тут нужно обходиться средствами игры. К счастью, у драколича массовый урон уже есть по умолчанию. Но суть в том, что к проблеме надо подходить со стороны отряда, получающего урон, а не со стороны отряда драколичей. Т.е. для каждого отряда нужно проверить, должен ли ему быть причинён урон.
В приведённом тобой скрипте, кстати, полная каша. Советую расписать по пунктам последовательность действий, а потом каждое действие записать командой ЕРМ. Если действие сложное с т.з. ЕРМ, то можно и его расписать на под-действия. Если будешь так делать - покажи получившуюся последовательность.
Quote:!! - это рисивер, а не триггер. Отдельной команды же для массового урона нет, тут нужно обходиться средствами игры. К счастью, у драколича массовый урон уже есть по умолчанию. Но суть в том, что к проблеме надо подходить со стороны отряда, получающего урон, а не со стороны отряда драколичей. Т.е. для каждого отряда нужно проверить, должен ли ему быть причинён урон.
- спасибо.. Суть понял.. Попробую сделать..
Quote:В приведённом тобой скрипте, кстати, полная каша.
- да, я знаю. Я этот скрипт составил сильно не углубляясь в ерм-хэлп (на скорую руку)
Quote:Советую расписать по пунктам последовательность действий, а потом каждое действие записать командой ЕРМ. Если действие сложное с т.з. ЕРМ, то можно и его расписать на под-действия. Если будешь так делать - покажи получившуюся последовательность.
- обязательно покажу..
Здравствуйте... Подскажите пожалуйста.. Что не так в этой функции.. Вылетает тёмный экран постоянно при битве
!?BR; 0 раунд битвы
!!DO3000/0/41/1&v997=-1:P; запустить функцию 3000 по всем отрядам на поле боя
!?FU3000;
!!BMx16:T?y1; получить тип монстра
!!FU&y1=-1:E; выйти из функции если монстра нет
!!BA:H0/?y2; - установка атакующего героя
!!HEy2-1:A1/?y3/1; - наличие артефакта у него на плечах
!!BMx16&y1=155/y3=168:Ad200 Dd200 U1/d800 U2/d800; - установка параметров монстру
Моё мнение - что-то с чем-то не употребляется, наверное.. Есть подозрение, что именно эти строчки
!!BA:H0/?y2; - установка атакующего героя
!!HEy2-1:A1/?y3/1; - наличие артефакта у него на плечах
не подходят в код!
P.S. Будут ли эти параметры только у моего монстра! В случае, если враг иметь такого же монстра будет, что и я, а артефакт находится будет только лишь у меня, то неужели всё равно враг тогда заимеет эти способности!
Какой смысл ты пытаешься вложить в !!HEy2-1 ? Это синтаксически неверно; параметром рисивера может быть только переменная или число, но никак не выражение.
(12.06.2014 08:18)fatsawhorse Wrote: [ -> ]В случае, если враг иметь такого же монстра будет, что и я, а артефакт находится будет только лишь у меня, то неужели всё равно враг тогда заимеет эти способности!
Именно. Предлагаю узнать сторону, на которой сражается отряд, а потом уже получать героя для этой стороны.
Ну и замечу, что код будет выполняться каждый раунд.
Quote:Ну и замечу, что код будет выполняться каждый раунд.
- понимаю, что с точки зрения написания скрипта - это очень "глупо", но сильно на работу кода это никак не влияет..
Преобразовал как-то, но почему-то ничего не происходит.. Скрипт
!?BR;
!!DO3000/0/41/1&v997=-1:P; запустить функцию 3000 по всем отрядам на поле боя
!?FU3000;
!!HE-1:A1/?y1/1; - наличие артефакта у него на плечах
!!BMx1&y1<>168:E; если артефакт не тот, то выход
!!BMx1:I?y2; определяем сторону
!!BHy2:N?y3; - номер атакующего героя
!!BGy3:N?y4; номер слота монстра
!!BMy4:T?y5; получить тип монстра
!!FU&y5<>156:E; выйти из функции, если монстра нет
!!BMx1&y5=156:Ad2000 Dd2000 U1/d80000 U2/d80000; - установка параметров монстру
Не знаю, как вообще можно задать номер стека моей армии, чтобы эти все проверки активировались.. Если задаю
x1, то ничего не выходит, но а если
x16, то на врагах получается
!?BR;
!!DO3000/0/41/1&v997=-1:P; запустить функцию 3000 по всем отрядам на поле боя
!?FU3000;
!!HE-1:A1/?y1/1; - наличие артефакта у него на плечах
!!BMx16&y1<>168:E; если артефакт не тот, то выход
!!BMx16:I?y2; определяем сторону
!!BHy2:N?y3; - номер атакующего героя
!!BGy3:N?y4; номер слота монстра
!!BMy4:T?y5; получить тип монстра
!!FU&y5<>156:E; выйти из функции, если монстра нет
!!BMx16&y5=156:Ad2000 Dd2000 U1/d80000 U2/d80000; - установка параметров монстру
, а на мне (моей армии) нет.. Где брать номер стека? Я же его определял, но ничего не действует!!!
Этот же скрипт вообще работает у меня наоборот - без плаща у всех такие навыки, а с плащом я их только не имею, а враг имеет.. Пытался что-то сделать и такой беспорядок получился...
когда задаёте цикл DO#/0/41/1, то каждый круг цикла x16 и содержит номер "стэка" (это якобы подразумевает градация поиска)
Это первое.
Второе - это проверка геройского арта. В бою номер героя проверять можно двумя сполсобами.
Либо использовать !!HE-10,!!HE-20 (герой слева и справа соответственно, это есть в справке), либо узнавать номер через !BA:H
Третье. Что за
Code:
!!BMx16&y1<>168:E; если артефакт не тот, то выход
Может всё таки !!FU&y1<>168:E;
а алгоритм проверки свой-чужой в таком контексте, имхо, лучше такой...
как-то так... не проверял
Здравствуйте "Bes"
Quote:когда задаёте цикл DO#/0/41/1, то каждый круг цикла x16 и содержит номер "стэка" (это якобы подразумевает градация поиска)
Это первое.
- я по сей день считал, что x16 является номером стэка противника..
Quote: В бою номер героя проверять можно двумя сполсобами.
Либо использовать !!HE-10,!!HE-20 (герой слева и справа соответственно, это есть в справке)
- видел я такое, но как-то значение серьёзное не придавал. Пытался проверить героя другими способами, а этот вариант как-то не рассматривал.. Но отныне буду иметь ввиду..
Quote:Третье. Что за
Код:
!!BMx16&y1<>168:E; если артефакт не тот, то выход
- фантазии у меня лишь только на это хватило
Quote:Может всё таки !!FU&y1<>168:E;
- тоже учту, спасибо....
За готовый скрипт я Вам "Bes" выношу огромную благодарность.. Мучился бы я с ним ещё очень бы долго, если бы не Вы.. Спасибо большое...
Bes, ты чего? BA:H не так же работает.
Вместо
нужно
fatsawhorse, глядя на твои скрипты, возникает ощущение, что ты не отдаешь себе отчёт в том, что ты пишешь. Какое-то совершенно неверное применение рисиверов (!!BH, !!BG из твоего примера), выдуманный смысл команд (!!BM:E). Ты же когда общаешься с людьми, то не выдумываешь слова на ходу и используешь общепринятые значения слов.