Current time: 23.03.2024, 22:35 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 5422
Post: #6466

fatsawhorse, для начала, у тебя непрвильная срока в коде...

раз ты используешь один параметр в вызове ф-ции !!FU2712...:P#; то в теле ф-ции этот параметр будет передан x1, а ты используешь x2
надо...


P.S.что касается флагов переменных... не знаю, почему некоторые предпочитают забирать N флаг через "-N", я всегда делал как "&-(N+1)"
А раз ты уже проверяешь наличие флага 16 у стэка и дальнейший код у тебя применяется именно к живым, то тебе бы сразу использовать...
на мой взгляд
(This post was last modified: 11.04.2020 20:36 by Bes.)
11.04.2020 20:31
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6467

А что до исчезновения флагов, так это потому что ты их сам же и стираешь из v80 перед тем как вернуть!
Логика твоя такая...
В !?BG0 ты сохраняешь флаги в v80
затем в !?MR1 используешь это
Moral
А когда наступает !?BG1 ты с полной уверенностью что всё на месте, восстанавливаешь флаги, которые были когда-то сохранены в v80!
Вот только там их НЕТ, как ты понялDry

и да, там же, в !?MR1, ты сбрасываешь 550 флаг
потому твой код, идущий в !?BG1&550; просто не срабатывает

В общем, убери ненужные обнуления переменных в MR1
запомни, триггеры не срабатывают по очереди твоего написания кода, они могут как угодно идти в теле скрипта, очередь их срабатывания записана в самой игре, т.е. сначала BG0 потом MR и в конце BG1
почитай справку по боевым триггерам
(This post was last modified: 11.04.2020 20:47 by Bes.)
11.04.2020 20:43
Visit this user's website Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1009
Post: #6468

Здравствуйте...

Bes ой спасибо Вам что посмотрели код.. Как всегда Вы мне помогаете Sm Очень приятно..

Сейчас попробую устранить всё это!

1. Я не очень понимаю, а что erm bb-код на форуме? У меня есть какая-то программа erm_editor для раскрытия ЕРМ-файлов, но она ли это? Да и в ней я ни разу не работал! Bad

2. Будьте так добры, а скажите, а в чём может причина быть не чтения в скрипте проверки героя на артефакты? Может этого мало и стоит ещё кроме артефактов провести проверку на цвет хозяина, сторону и стек? А то почему то не хочет скрипт работать с проверкой героя на наличие артефакта не перед действием и не во время ответки? или это может быть причина путаницы флагов и переменных? Bad
(This post was last modified: 12.04.2020 11:44 by fatsawhorse.)
12.04.2020 11:42
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1285
Post: #6469

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


Карта-мод "Война на Холсте"
12.04.2020 12:46
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1009
Post: #6470

SergOz здравствуйте..


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

Это моё личное мнение!

Д и потом я не совсем понял, как это может работать? Bad
(This post was last modified: 12.04.2020 13:08 by fatsawhorse.)
12.04.2020 13:01
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6471

(12.04.2020 13:01)fatsawhorse Wrote:  Я не очень понимаю, как строки !!IF:M^%V# %Y#^; могут произвести проверку или определить ошибку? Это же ресейвер для сообщения только и всё!
Боже...

fatsawhorse, ну если ты и правда хоть как-то, хоть в чем-то хочешь разобраться, то не игнорируй и не откидывай то, что тебе пишут - это просто отбивает всякое желание продолжать общение.

Почитай хотя бы базовые вещи:

Википедия Wrote:Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:

узнавать текущие значения переменных;
выяснять, по какому пути выполнялась программа.


Существуют две взаимодополняющие технологии отладки.

Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.

Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.


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

Posts: 1009
Post: #6472

Algor здравствуйте..

Вы меня вообще не правильно поняли! Я ничего не отрицаю, а говорю только то, что мне на данный момент известно согласно справочнику-помощнику по ЕРМ! Я бы рад всему научиться пользоваться, но мне ничего по этой отладки не ясно!

Дело то тут в том, что я понятия не имею где про эту программу вообще пишут и как она работает! Как вставлять её в код? Я сейчас первый раз вообще это увидел на форуме и то от пользователя SergOz. Если можно, то скиньте мне пример с кодом как работает этот отладчик и что он проверяет? Я не очень это понимаю и где можно про него почитать?
(This post was last modified: 12.04.2020 13:45 by fatsawhorse.)
12.04.2020 13:42
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1285
Post: #6473

fatsawhorse, тебе прежде чем отвергать то, что тебе советуют, желательно хоть чуть-чуть призадуматься над советом. Если ты будешь питаться готовыми блюдами ты никогда не станешь поваром.170


Карта-мод "Война на Холсте"
12.04.2020 14:08
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1009
Post: #6474

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

Bad
(This post was last modified: 12.04.2020 15:17 by fatsawhorse.)
12.04.2020 14:48
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4333
Post: #6475

fatsawhorse, значение указанных переменных на момент исполнения данной строки кода. Например, имеем локальную y1, со старта.
Я добавляю !!IF:L^%Y*/%Y*^; чуть ли не после каждого изменения переменных, чтобы убедиться, что код идет по моему замыслу.


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
12.04.2020 15:17
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6476

fatsawhorse, IF:M^%V# %Y#^ это просто шаблон кода,где ты сам должен вставить нужные номера переменных. Не воспринимай такие якобы коды как готовый вариант. Т.е. если бы хоть раз делал вывод текста через этот ресивер и понял принцип,то такая строка бы тебя не смутила.
Тебе предлагают,например,после получения наличия артефакта в переменную скажем y9 проверить что в неё записались. А это можно узнать,выведя её содержимое на экран...
Вот ты и должен следующей строкой кода написать
В разделе Обучение справочника в самом начале описывается что и почему так надо указывать для вывода диалогов.

bb-код, это все внутренние команды на форуме при создании сообщения. Ты ими сам пользуется,выделяя жирным текст, делая цитату или спойлер. Так вот здесь есть и такой особый код, который оформляет скрипты ERM более красиво и читаемой. Вот и используйте его, это кнопочка erm на панельке выше области ввода сообщения
12.04.2020 15:25
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6477

fatsawhorse, несколько лет назад я тебе уже советовал. Но повторюсь: начни с базы.

Ты ведь, судя по сообщениям, так и не прочел разделы Обучение и Флаги и переменные из ERM Help'а.
А если и прочел, то уж точно по диагонали и не вникая в примеры.
Отсюда и элементарные вопросы по условиям, типам переменных и пр. Там все это расписано и разжевано.

А без базовых знаний все советы тебе выглядят примерно так:

Image: KODA-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%8...03041.jpeg


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

Posts: 1009
Post: #6478

daemon_n и Bes.. теперь всё мне ясно...

Буду пробовать... Спасибо Вам всем за советы..

Algor всё я прочитал и примеры рассмотрел, но не все там так разжёвано, чтобы я смог понять Bad Где-то вопросы, а где-то сумел с попытки 10 добрать.. НУ а где-то вообще просто оказалось..

SergOz и Algor я Вас также благодарю за помощь..

Буду пробовать сейчас...
(This post was last modified: 12.04.2020 15:41 by fatsawhorse.)
12.04.2020 15:37
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1285
Post: #6479

Algor, американосские комиксы с их superхренами отдыхают.
Мне действительно очень понравилось.20


Карта-мод "Война на Холсте"
12.04.2020 18:51
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6480

fatsawhorse, в любом случае, пиши что не ясно, на то тема тут такая и есть.
Что до артефактов, а они точно перед боем одеты, что вы их проверяете? я уверен если у врага есть палатка то она займёт слот навсегда (пока не разрушат в битве) и значит наличие 143 арта у врага точно не обеспечит его установку в слот палатки, ибо будет занята позиция. мягко говоря, скрипт очень сырой и полно мест крайне не обоснованных. В общем, продумайте получше логику построения кода, дабы не городить удваивания проверок одного и того же в разных местах
12.04.2020 19:50
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