Current time: 21.04.2024, 23:38 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
gamecreator Offline

Posts: 7107
Post: #2656

(21.05.2014 23:00)fatsawhorse Wrote:  
Quote:!!VRv70:C0/0/0/0/0; (посмотрите команду в справке)
- такой способ записи также не помогает.. Функция срабатывает всё равно бесконечно (по кругу замкнутому)
   - про обнуление переменных я в справке по этой команде не нашёл ничего!
Это и не поможет. Просто команда предназначена для массовой работы с переменными и как раз в твоём случае выглядит намного приятнее и лучше, чем копипаста.

(21.05.2014 21:44)fatsawhorse Wrote:  Подскажите пожалуйста мне, как можно данный скрипт ограничить после того, как он (скрипт) уже сработает.. А то выходит такая своего рода проблема: скрипт сам работает прекрасно, но только он бесконечно повторяется и не может никак остановиться..
Все русские слова заменить на соответствующие номера. Таким образом функция не сработает если она уже вызвана.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
22.05.2014 00:21
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2657

Quote:!?FUфункция&-флаг;
!!IF:Vфлаг/1;
тело функции
!!IF:Vфлаг/0;
- спасибо, конечно, за подсказку "gamecreator", но не помогает вообще!

Здравствуйте "igrik".. Когда активируется !?FU5936, то всё равно ничего не происходит.. Даже на прямой атаке Верховный архангел не использует магический свой арсенал.. Вроде бы всё как надо поставил и ничего не забыл
, но никаких действий у моего юнита (№ 150) не возымелось, кроме как обычного удара по противнику.. Bad
Может всё-таки дело в том, что было определение позиции исключено?
(This post was last modified: 22.05.2014 18:16 by fatsawhorse.)
22.05.2014 18:13
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #2658

пропарился я. Нужно !!FU&v70=6:E; замененить на !!FU&v70<>6:E;
И что-то я плохо помню как правильно читается условие !!FU|v72<>150/v72<>132/v72<>133/v72<>155:E; сработает ли если v72=150 или 132 или 155?


game bug fixes extended.dll || My Plugins || My GitHub
22.05.2014 18:30
Visit this user's website Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2659

Quote:пропарился я. Нужно !!FU&v70=6:E; заменить на !!FU&v70<>6:E;
- я уж думаю на подобные магические скрипты рукой махнуть и забыть о них.. Нет, снова не работает.. Здесь видимо проблема по серьёзнее. "igrik" спасибо. Я знаю, что Вы всегда стараетесь помочь, но не тратьте Ваше время на это.. Раньше этот скрипт имел первую строку
, но после того, как я её убрал, чтобы функция срабатывала не у всех игроков в уровне (игре), а только лишь у меня (моего всадника с нужным артефактом) и поставил !?FU5936; взамен - сразу же всё и началось..

В принципе, если в этот скрипт
поставить первой строкой (перед !!BG:A?v70) строку !?BG&v997>-1;, то будет корректно работать, но у всех. Сколько я бился и бьюсь, но у себя лично в арсенале поставить не получается никак!!!
(This post was last modified: 22.05.2014 18:50 by fatsawhorse.)
22.05.2014 18:44
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #2660

значит у меня тут тоже неправильное условие !!FU|v72<>150/v72<>132/v72<>133/v72<>155:E;
вроде как должно заработать
А еще лучше не захламлять "v" переменные. А для таких делов использовать "y" переменные. Их и обнулять не нужно


game bug fixes extended.dll || My Plugins || My GitHub
22.05.2014 18:58
Visit this user's website Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2661

"igrik" спасибо Вам большое за помощь.. Всегда выручаете.. Без Вас бы я этот скрипт выбросил, так как доработать его до основания вряд ли бы ума хватило..
22.05.2014 19:28
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2662

Отдельно этот скрипт работает как часы, а совместно с подобным этот механизм перестаёт действовать..Сейчас проэкспериментировал и поставил данный скрипт
в события игры. Это событие активирует у меня Верховный архангел и затем дал подобный скрипт этому же архангелу, но абсолютно разными переменными, шансом срабатывания, номерами функций и заклинаниями. Результат не заставил себя долго ждать: вышло тоже самое, что и было у меня задолго до того, как я написал эту проблему на форум, то есть всё равно происходит бесконечное повторение набора заклинаний. Если же по одиночке, как и тот скрипт, который я приводил в пример в самом начале этого вопроса, то работает всё на ура...
Что-то и где-то заставляет эти скрипты постоянно повторяться.. Конечные переменные же обнуляются.. В чём же проблема? Может нельзя использовать дубляж этого скрипта, независимо от того, что будет меняться в нём (скрипте)... Спасибо...
(This post was last modified: 23.05.2014 16:59 by fatsawhorse.)
23.05.2014 16:25
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #2663

Я всё ещё уверен, что проблема в месте вызова функции.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
23.05.2014 17:29
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2664

Quote:Я всё ещё уверен, что проблема в месте вызова функции.
- извините "gamecreator", но можно у Вас уточнить! Вы говорите, что предположительно проблема находится в месте вызова функции.. Позвольте узнать номер строки в данном скрипте
.. или всё-таки проблема затаилась ещё раньше, то есть выше (то место, как раз которое я и не привёл в пример), но у меня этот скрипт идёт через МF1 (перед действием выполняется).. Далее проверка на артефакт, а потом непосредственно вызов самой функции !?FU5936; - по-моему ошибки в этой шапке быть просто-напросто не может...

Quote:!!BMx1:R1000000; - моё количество ответов на атаку. Я всё удивляюсь вашему максимализму - зачем так много? 42 стека одновременно могут быть в бою. Пусть даже каждый союзный стек будет под гипнозом и у каждого атакующего стека (что абсолютно нереально!) выпадет мораль. В итоге всё равно меньше ста ответов, и этого хватит более чем выше крыши.
- Sm

Quote:Кстати никогда не обращал внимания - грифоны на двойную атаку 2 раза отвечают или нет. Интересно...
- насколько помню я, то один. Имея двойной удар в моём арсенале у каждого юнита и топор свирепости лорда варваров, напал я на грифонов (улучшенных). Итог из трёх моих ударов был отбит только первый, а остальных два были без ответа.. Выходит грифон имеет своих 5000 ответов только на первый удар от любого монстра...

Quote:в итоге получается намного короче и читабельнее код скрипта
- спасибо "igrik" за упрощённый вариант.. Я по сей день не догадывался, что переменная "y" не нуждается в обнулении...


"igrik" Вы сумели проблему отыскать!!! Как только я оставил в одном скрипте переменные с "V", а в другом с "y", то проблема сразу решилась сама собой.. Спасибо Вам за помощь....
(This post was last modified: 23.05.2014 18:16 by fatsawhorse.)
23.05.2014 17:43
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #2665

(23.05.2014 17:43)fatsawhorse Wrote:  Вы говорите, что предположительно проблема находится в месте вызова функции.. Позвольте узнать номер строки в данном скрипте
В месте вызова этой функции. Как раз тот кусок, который ты так поспешил отбросить в начале.
(23.05.2014 17:43)fatsawhorse Wrote:  Как только я оставил в одном скрипте переменные с "V", а в другом с "y", то проблема сразу решилась сама собой.. Спасибо Вам за помощь....
Вообще не надо использовать v-переменные без причины. Если работа с переменной идёт исключительно внутри функции или триггера, то следует использовать y.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
23.05.2014 18:45
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2666

Quote:В месте вызова этой функции. Как раз тот кусок, который ты так поспешил отбросить в начале.
- видите в чём проблема-то возникает, если я вставил бы тот кусочек, который как раз и отбросил, то не только у моего архангела была бы такая особенность (перед ударом бить заклятиями), но также и у вражеского - что недопустимо, в свою очередь.. Проверял лично. По другому никак...

Quote:Вообще не надо использовать v-переменные без причины. Если работа с переменной идёт исключительно внутри функции или триггера, то следует использовать y.
- спасибо, я это учту..
23.05.2014 19:16
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2667

Здравствуйте... Извините, что опять отвлекаю Вас.. Нужна опять Ваша помощь:

1. Как можно преобразовать данный скрипт
таким образом, чтобы анимация и звук выпадали только после урона с дальних расстояний (полученного от стрельбы), а ближний урон (рукопашка) не мог вызвать данную анимацию со звуком.
Пытался сделать таким образом
, но ничего не получилось

2. Как можно забрать флаг "летать" только у моего командира (у вражеского командира оставить его на месте) в самом начале битвы. (если вообще возможно это, то хотелось бы лишаться флага летать только имея в наличие артефакт № 168). Такой способ флаг у командира вообще не забирает
.. Дело тут в том, что у командира есть набор навыков, которые я хочу получить в битве, но флаг полёта мне вообще не нужен.. Избежать я его не могу при выборе, а если избегу, то лишусь полезных боевых особенностей!!! Не выходить скомбинировать все мне нужные навыки у командира, без выбора особенности "полёт". С полётом не работает тогда "Кавалерийский бонус" ни у командира-зверя и ни у зверя атакующего (№ 179), так как бонус стоит у двоих монстров.. Полёт всё губит.. При получении командиром навыка "полёт", его (этот навык) по стечению обстоятельств (можно сказать бонусом) приобретает автоматически и атакующий зверь " 179.. Убрать бы бонус у обоих юнитов - это была бы находка..

3. Пытался имитировать навык "уменьшение вражеской защиты" таким образом
, но ничего почему-то не выходит.. В чём проблема может быть. Должно же быть именно так: бьёт по защите так, как и без защиты, то есть урон равным считается.. В этом (моём случае), если враг без защиты, то он получает приличный урон, а защита 1000 например делает его непробиваемым, даже в случае попадания по нему моим монстром. Ведь всё срабатывает, а в чём может быть изъян?

Спасибо..
(This post was last modified: 24.05.2014 13:32 by fatsawhorse.)
24.05.2014 12:05
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #2668

(24.05.2014 12:05)fatsawhorse Wrote:  Здравствуйте... Извините, что опять отвлекаю Вас.. Нужна опять Ваша помощь:

1. Как можно преобразовать данный скрипт таким образом, чтобы анимация и звук выпадали только после урона с дальних расстояний (полученного от стрельбы), а ближний урон (рукопашка) не мог вызвать данную анимацию со звуком.
Пытался сделать таким образом...но ничего не получилось
Эм... Вы сначала воспроизводите звук и анимацию, а потом проверяете тип атаки и нужно ли что-то воспроизводить и не понимаете почему не работает?

(24.05.2014 12:05)fatsawhorse Wrote:  2. Как можно забрать флаг "летать" только у моего командира (у вражеского командира оставить его на месте) в самом начале битвы.
1. !!MA для командиров использовать вообще некорректно, т.к. "у ней особенная стать". Да и для отрядов после начала боя работать тоже не будет - с ними только через !!BM работать можно и нужно.
2. НЕ ПРИВЫКАЙТЕ убирать флаги так:
Code:
!!VRy99:-2; убираем флаг
, используйте комбинацию
Code:
!!VRy99:|2 -2; убираем флаг

В итоге задача делится на 2 подзадачи:
1. Найти в начале боя (!?BR0) номер отряда "своего" командира (тут надо раскрыть понятие "своего" и алгоритм станет ясен)
2. Для найденного отряда убрать флаг полета (см. выше)

либо

1. Перед боем (!?BA52) "своего" героя (опять же, раскрыть "своего") убрать у его командира способность летать (!!CO#:B1/14/0118 предварительно сохранив куда-нить старое значение.
2. В начале боя (!?BR0) восстановить сохраненное значение.

(24.05.2014 12:05)fatsawhorse Wrote:  3. Пытался имитировать навык "уменьшение вражеской защиты" таким образом...но ничего почему-то не выходит.. В чём проблема может быть.
Из какого триггера вызывается приведенная функция?
Если из !?BG0, то там не имеют смысла (читай, не работают) !!MF ресиверы.
Если из !?MF, то там не имеет смысла изменение защиты отряда, т.к урон уже определен, а хитроиндийское шаманство
Code:
!!MF:F?y11; узнаем урон
!!VRy11:+0; оставляем обычный урон
!!MF:Fy11 Nx1; урон без изменений

   на него уж точно не влияет.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
24.05.2014 14:16
Visit this user's website Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #2669

Quote:Эм... Вы сначала воспроизводите звук и анимацию, а потом проверяете тип атаки и нужно ли что-то воспроизводить и не понимаете почему не работает?
- поправил, спасибо.. Теперь всё получается как надо..

Quote:Эм... Вы сначала воспроизводите звук и анимацию, а потом проверяете тип атаки и нужно ли что-то воспроизводить и не понимаете почему не работает?
- у меня вызывается всё только через !?MF (перед нанесением урона). Я так понял, что не при !?BG0 и не при !?MF работать всё равно такая комбинация не будет! Правильно ли я Вас понял? А какой тогда тригер вообще отвечает за изменение защиты перед ударом.. Неужели !!BM ??

По командиру: Я такую строчку
добавил в общие свойства и при прокачке и проблема вековая тут же разрешилась сама собой.. Полёт исчез сразу же...

Спасибо за подсказки "Algor"
(This post was last modified: 24.05.2014 15:52 by fatsawhorse.)
24.05.2014 15:07
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #2670

(24.05.2014 15:07)fatsawhorse Wrote:  А какой тогда тригер вообще отвечает за изменение защиты перед ударом.. Неужели !!BM ??
Охо-хо... fatsawhorse, Вам очень сильно мешает поверхностность. Хочется конечно все и быстро, но лучше притормозите и разберитесь с базовыми вещами. !!BM - это не триггер.

Что до вопроса, то возникает ощущение, что я на него уже отвечал, но т.к. искать лениво, еще раз отвечу:

Первый вариант (проще).
В !?BG0; при атаке отряда игнорирующего защиту снижаете защиту цели и выставляете какой-нить признак снижения защиты (например пара v-переменных, в первой номер отряда цели, во второй - значение, на которое снижается защита).
В !?BG1 восстанавливаете защиту цели и обнуляете v-переменные.

Второй вариант (сложнее).
В !?MF; пересчитываете конечный урон по формуле из физ.мига, не забывая учитывать всякие хитрые модификаторы типа ненависти.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
24.05.2014 17:51
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group