fatsawhorse, для начала, у тебя непрвильная срока в коде...
раз ты используешь один параметр в вызове ф-ции !!FU2712...:P#; то в теле ф-ции этот параметр будет передан
x1, а ты используешь x2
надо...
P.S.что касается флагов переменных... не знаю, почему некоторые предпочитают забирать N флаг через "-N", я всегда делал как "&-(N+1)"
А раз ты уже проверяешь наличие флага 16 у стэка и дальнейший код у тебя применяется именно к живым, то тебе бы сразу использовать...
на мой взгляд
А что до исчезновения флагов, так это потому что ты их сам же и стираешь из v80 перед тем как вернуть!
Логика твоя такая...
В !?BG0 ты сохраняешь флаги в v80
затем в !?MR1 используешь это

А когда наступает !?BG1 ты с полной уверенностью что всё на месте, восстанавливаешь флаги, которые были когда-то сохранены в v80!
Вот только там их НЕТ, как ты понял
и да, там же, в !?MR1, ты сбрасываешь 550 флаг
потому твой код, идущий в !?BG1&550; просто не срабатывает
В общем, убери ненужные обнуления переменных в MR1
запомни, триггеры не срабатывают по очереди твоего написания кода, они могут как угодно идти в теле скрипта, очередь их срабатывания записана в самой игре, т.е. сначала BG0 потом MR и в конце BG1
почитай справку по боевым триггерам
Здравствуйте...
Bes ой спасибо Вам что посмотрели код.. Как всегда Вы мне помогаете

Очень приятно..
Сейчас попробую устранить всё это!
1. Я не очень понимаю, а что
erm bb-код на форуме? У меня есть какая-то программа erm_editor для раскрытия ЕРМ-файлов, но она ли это? Да и в ней я ни разу не работал!
2. Будьте так добры, а скажите, а в чём может причина быть не чтения в скрипте проверки героя на артефакты? Может этого мало и стоит ещё кроме артефактов провести проверку на цвет хозяина, сторону и стек? А то почему то не хочет скрипт работать с проверкой героя на наличие артефакта не перед действием и не во время ответки? или это может быть причина путаницы флагов и переменных?

fatsawhorse, самый простой способ проверки кода скрипта - это ставить строки с
!!IF:M^%V# %Y#^;
Так ты наглядно сам сможешь проверить на каком этапе скрипта у тебя происходит сбой.
Естественно, что после отладки, эти строки нужно удалить.
SergOz здравствуйте..
Я не очень понимаю, как строки !!IF:M^%V# %Y#^; могут произвести проверку или определить ошибку? Это же ресейвер для сообщения только и всё! Это то не считается сбоем, а просто скрипт игнорирует то что я сделал? Если же он это пропускает, то вряд ли что сможет это учесть в сообщении, поскольку это проходит мимо в коде!
Это моё личное мнение!
Д и потом я не совсем понял, как это может работать?

(12.04.2020 13:01)fatsawhorse Wrote: [ -> ]Я не очень понимаю, как строки !!IF:M^%V# %Y#^; могут произвести проверку или определить ошибку? Это же ресейвер для сообщения только и всё!
Боже...
fatsawhorse, ну если ты и правда хоть как-то, хоть в чем-то хочешь разобраться, то не игнорируй и не откидывай то, что тебе пишут - это просто отбивает всякое желание продолжать общение.
Почитай хотя бы базовые вещи:
Википедия Wrote:Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
узнавать текущие значения переменных;
выяснять, по какому пути выполнялась программа.
Существуют две взаимодополняющие технологии отладки.
Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.
Algor здравствуйте..
Вы меня вообще не правильно поняли! Я ничего не отрицаю, а говорю только то, что мне на данный момент известно согласно справочнику-помощнику по ЕРМ! Я бы рад всему научиться пользоваться, но мне ничего по этой отладки не ясно!
Дело то тут в том, что я понятия не имею где про эту программу вообще пишут и как она работает! Как вставлять её в код? Я сейчас первый раз вообще это увидел на форуме и то от пользователя SergOz. Если можно, то скиньте мне пример с кодом как работает этот отладчик и что он проверяет? Я не очень это понимаю и где можно про него почитать?
fatsawhorse, тебе прежде чем отвергать то, что тебе советуют, желательно хоть чуть-чуть призадуматься над советом. Если ты будешь питаться готовыми блюдами ты никогда не станешь поваром.

SergOz да понял я это и уже неоднократно удостовериваюсь в том, что мне здесь говорят все ребята.. Просто я не представляю принцип действия этого кусочка никак? Как и перед чем его ставить и что он будет выдавать?

fatsawhorse, значение указанных переменных на момент исполнения данной строки кода. Например, имеем локальную y1, со старта.
Я добавляю !!IF:L^%Y*/%Y*^; чуть ли не после каждого изменения переменных, чтобы убедиться, что код идет по моему замыслу.
fatsawhorse, IF:M^%V# %Y#^ это просто шаблон кода,где ты сам должен вставить нужные номера переменных. Не воспринимай такие якобы коды как готовый вариант. Т.е. если бы хоть раз делал вывод текста через этот ресивер и понял принцип,то такая строка бы тебя не смутила.
Тебе предлагают,например,после получения наличия артефакта в переменную скажем y9 проверить что в неё записались. А это можно узнать,выведя её содержимое на экран...
Вот ты и должен следующей строкой кода написать
В разделе Обучение справочника в самом начале описывается что и почему так надо указывать для вывода диалогов.
bb-код, это все внутренние команды на форуме при создании сообщения. Ты ими сам пользуется,выделяя жирным текст, делая цитату или спойлер. Так вот здесь есть и такой особый код, который оформляет скрипты ERM более красиво и читаемой. Вот и используйте его, это кнопочка
erm на панельке выше области ввода сообщения
fatsawhorse, несколько
лет назад я тебе уже советовал. Но повторюсь: начни с
базы.
Ты ведь, судя по сообщениям, так и не прочел разделы
Обучение и
Флаги и переменные из ERM Help'а.
А если и прочел, то уж точно по диагонали и не вникая в примеры.
Отсюда и элементарные вопросы по условиям, типам переменных и пр. Там все это расписано и разжевано.
А без
базовых знаний все советы тебе выглядят примерно так:

daemon_n и
Bes.. теперь всё мне ясно...
Буду пробовать... Спасибо Вам всем за советы..
Algor всё я прочитал и примеры рассмотрел, но не все там так разжёвано, чтобы я смог понять

Где-то вопросы, а где-то сумел с попытки 10 добрать.. НУ а где-то вообще просто оказалось..
SergOz и
Algor я Вас также благодарю за помощь..
Буду пробовать сейчас...
Algor, американосские комиксы с их superхренами отдыхают.
Мне действительно очень понравилось.

fatsawhorse, в любом случае, пиши что не ясно, на то тема тут такая и есть.
Что до артефактов, а они точно перед боем одеты, что вы их проверяете? я уверен если у врага есть палатка то она займёт слот навсегда (пока не разрушат в битве) и значит наличие 143 арта у врага точно не обеспечит его установку в слот палатки, ибо будет занята позиция. мягко говоря, скрипт очень сырой и полно мест крайне не обоснованных. В общем, продумайте получше логику построения кода, дабы не городить удваивания проверок одного и того же в разных местах