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

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

Posts: 462
Post: #7231

Bes, так я листал, как начал изучать ЕРМ, думаю, раз взялся, сразу на 2.0 начну писать скрипты... но слишком мало, слишком. Нужно больше золотаданных, для анализа. Может если бы у меня опыта побольше было в скриптописании, я бы сориентироваться, но увы.
Чего нет, пока нет. Со временем всё придёт, уверен Spiteful


Подскажи, как мне сделать проверку на изучаемый навык. Чтобы команда мне возвращала значение которое можно использовать. Это для плашек в университете, как там:

1 - Если можно изучить навык / 2 - если нельзя совсем / 3 - если уже изучен. - буду потом по такому принципу разбивать и делать код на отрисовку нужных кадров плашки.

А то опять велосипед начну изобретать, а уже есть вариант готовый...
Я чёт листаю справку, не вижу подходящего. Нападает блин куриная слепота порой 102

Добавлено:
HE#:S Ожидаемо смотрится, но это надо придумывать сравнение навыкам универа и героя и ещё не забывать включить неизучаемые некоторыми героями умения (навроде магии воды для героев темницы)... Чёт прям скрипит мысль. Может есть попроще варианты?Rolleyes

Добавлено №2:
А как тут в моём случае с HE#:Z?$ поработать. Выглядит привлекательно команда, а вот как использовать...?
(This post was last modified: 09.10.2020 05:31 by Night.)
09.10.2020 04:35
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7232

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

Проблема в том, что если обычные 10 навыков ещё можно как-то рассчитать, чтобы при отображении учитывалось, то вот если стоит бОльшее число навыков (скажем 12) с помощью скриптов или bin'ов, то я не знаю, как сделать проверку на ВСЕ навыки героя. По тем, что нарыл в справке, выдаёт везде 10 - те, что отображаются в окне героя, с SSkills модом. А у меня их 20. То есть не учитывает навыки, пока не пролистаешь. И вот как на этом проверять соответствия.

Как можно определить, может герой изучить навыки из университета или нет?
Игра то определяет без проблем, верно отрисовывает деф, можно/нельзя/выучен. Нужен код для подобной проверки.112

Пока такой вариант подсказки по ПКМ. Но хочется сделать всё красиво Sm
Кстати как лучше:
С такими дефками (Click to View)
или стандартными...и без плашек, пока (Click to View)
Можно маленькие ещё поставить, как в оригинальной университете, но мне кажется совсем не смотрятся...
(This post was last modified: 09.10.2020 08:00 by Night.)
09.10.2020 07:51
Find all posts by this user Quote this message in a reply
XEPOMAHT Online
Moderators

Posts: 2356
Post: #7233

(09.10.2020 07:51)Night Wrote:  Проблема в том, что если обычные 10 навыков ещё можно как-то рассчитать, чтобы при отображении учитывалось, то вот если стоит бОльшее число навыков (скажем 12) с помощью скриптов или bin'ов, то я не знаю, как сделать проверку на ВСЕ навыки героя.

Все навыки проверяются довольно просто как-то так:

Code:
!!HE:Z?y1;
for i =1 to 28 do (!!UN:Cy1+C9h+i/1/?y2; if y2> 0 then <навык есть> else <навыка нет>;);
(This post was last modified: 09.10.2020 11:11 by XEPOMAHT.)
09.10.2020 11:07
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1315
Post: #7234

(09.10.2020 11:07)XEPOMAHT Wrote:  Все навыки проверяются довольно просто как-то так:
Code:
!!HE:Z?y1;
for i =1 to 28 do (!!UN:Cy1+C9h+i/1/?y2; if y2> 0 then <навык есть> else <навыка нет>;);
Я не знаю что такое 9h 147


Карта-мод "Война на Холсте"
09.10.2020 13:42
Find all posts by this user Quote this message in a reply
XEPOMAHT Online
Moderators

Posts: 2356
Post: #7235

(09.10.2020 13:42)SergOz Wrote:  Я не знаю что такое 9h 147

C9h = 201. У меня все значений структур в hex-виде.
09.10.2020 13:50
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1315
Post: #7236

XEPOMAHT, спасибо.
На будущее: что такое hex-вид и как переводить в "нормальные" числа?

P.S. Вопрос снят


Карта-мод "Война на Холсте"
(This post was last modified: 09.10.2020 14:01 by SergOz.)
09.10.2020 13:59
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #7237

hex - 16-тиричная система
на калькуляторе в винде есть режим программиста, там всё в один клики переводится
09.10.2020 14:01
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #7238

(09.10.2020 11:07)XEPOMAHT Wrote:  
Code:
!!HE:Z?y1;
for i =1 to 28 do (!!UN:Cy1+C9h+i/1/?y2; if y2> 0 then <навык есть> else <навыка нет>;);
Можно еще проще! HE:S#1/$2 ? Ab
Quote:S#1/$2
Установить/проверить/получить вторичные навыки
    #1 – номер навыка
    $2 – уровень навыка (0 – нет, 1 – базовый, 2 – продвинутый, 3 – эксперт).
09.10.2020 14:18
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #7239

Night, нужен мод на 10 навыков от Алгора, оттуда достанем предел.
Изученность того или иного навыка нужно проверять через !!HE:S(skill)/?(skillLevel).
По ЕРМ 2 готов помочь в обучении.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
09.10.2020 14:26
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1315
Post: #7240

Это отлично работает.
Но, если дополнительно нужно узнать уровень вторнавыка?
У меня получилось так:
Или есть другой способ?

P.S. Ну да, ну да, можно и проще


Карта-мод "Война на Холсте"
(This post was last modified: 09.10.2020 15:00 by SergOz.)
09.10.2020 14:45
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #7241

(09.10.2020 03:38)Night Wrote:  Сложно сразу изучать, без полной справки или хотя бы десяток примеров с комментариями, по новому синтаксису ERM2.
Начинать нужно с малого.
Ты же пользуешься y переменными.
Вот простой пример: объявляем новую y-переменную (название:y)

Тут всё ясно?


Как обучающие примеры оставлю тут. Сравните со старыми ERM скриптами Spiteful
ERM 2: выбор класса командира (Click to View)
ERM 2: быстрая настройка знамён полководца (Click to View)
ERM 2: Новые поля битв (Click to View)
И читается это всё в 100 раз лучше (коментарии попросту не нужны)
09.10.2020 14:51
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #7242

igrik, давай эти примеры тоже в школу ЕРМ 2.0. Я там как раз скрипт Сергоза перевёл в ЕРМ 2.0 с двумя удобными функциями.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
09.10.2020 15:03
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7243

Спасибо! За помощь и примеры. Много отличных решений для скрипта, буду вечером ваять с новыми силами Yes

У меня второй раз или наверно третий, как туннельное зрение - вкралась в голову некая идея и вокруг неё пляшу.

Заморочился изначально насчёт того, чтобы получить значения, когда навык [можно выучить/нельзя совсем/выучил], где основное - это определить сразу невозможные к обучению вторичные навыки.

Как это в университете, плашки разных цветов (Click to View)

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

Нужно было просто писать скрипт учёта моих навыков, как выше указали примерами. Сделать учёт навыков, что выдаёт университет и их сверкой по заданным параметрам и заранее определённым исключениям для разных классов героев.
Это для моих текущих знаний выглядит сложновато, но решаемо за пару дней.Ab



XEPOMAHT,
Quote:Все навыки проверяются довольно просто как-то так
Мне понравилась команда !!HE:Z?y1;, я ещё вечером её довольно долго ковырял, как увидел. Хотя большинство функций, если не всё, реализовано иными командами, тот же HE:S, но сам факт наличия и вот объёмный список того, что команда проверяет в структуре Героя - мне импонирует.
Как больше багаж опыта накопится, уверен найду применение.
Пока из ВСЕХ скриптов, которые у меня в папке Mods, я отыскал только одно употребление этого ресивера - в 43 wog скрипте переделанном Igrik'om.
Немного обидно даже, за такое редкое использование 102, не с чем сравнивать.

SergOz, igrik, хорошие примеры 132
С доступными комментариями и код проще при разборе становится и продвигает понимание сложных для восприятия мест.
igrik, За скрипты на ЕРМ2 отдельное спасибо, тем более я как раз переделывал "Новые поля битв", разобрался довольно хорошо с оригинальным скриптом на ЕРМ1, будет отличным примером для сравнения, как было и стало, в чём отличие реализации.

Berserker,
Quote:нужен мод на 10 навыков от Алгора, оттуда достанем предел.
Изученность того или иного навыка нужно проверять через !!HE:S(skill)/?(skillLevel).
!!HE:S Работает хорошо, да. Но это если базовые 8 или 10 скиллов, на одной странице окна Героя. Если использовать скрипт Algor'a - option 824 - 28 secondary skills.erm, то там при первой загрузке карты, сразу после входа в игру, не работает скроллинг и не учитывает скиллы свыше 10. При save/load нормально всё становится, если из игры не выходить. Выходишь и опять отрубается при первой загрузке пролистывание и проверка.

По крайней мере код SergOz, предложенный выше, не выдаёт мне навыков в сообщении свыше 10.

Но это проблема скрипта в больше части, чем команды. Я писал как-то в теме 10 вторичных навыков насчёт этого, но сам мой посыл был неверен. Я отчего-то решил, что это 10SSkills виноват в таком, а на деле - скрипт 28 secondary skills.erm. Уже проверил, включив no secondary skills limit.bin.

С ним всё правильно и работает сразу.
Нужно код скрипта Algory'у модифицировать видимо. Он на 3.0.4 всё равно спустя рукава работает - ставлю лимит в 12 или 20 скиллов, а учит свыше этих значений.
option 824 - 28 secondary skills.erm (Click to View)

Quote:По ЕРМ 2 готов помочь в обучении.
Это здорово 20. Пока буду не спеша ваять по скрипту, у меня 3 идеи есть очень давних, нужно реализовывать и в процессе обучатся. Как разберусь во всех сложных для меня местах, буду обращаться по новому синтаксису.

Сейчас понакачал, понасохранял данных за 10 лет наверно, теперь вечерами изучаю всё необходимое и полезное по скриптописанию, а также разные примеры работы с памятью игры и пр. и пр. Не говоря уже о том, что читаю темы на форуме, за те же 10 лет наверно. Нужно уложить знания в голове 97
(This post was last modified: 09.10.2020 17:05 by Night.)
09.10.2020 16:54
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #7244

Night, ты путаешь. HE:S с двумя параметрами не имеет отношения к числу отображаемых навыков и их лимиту.


https://dropmefiles.com/sGk1B
Вот обновлённый мод Era Erm Framework с нужными константами и функциями.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
09.10.2020 17:15
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7245

Berserker, мм, скорее всего да.
Но я просто запустил новую игру, где у меня герой 59 уровня, стоял скрипт Опций 824 и воспользовался скриптом SergOz
Который выдал мне 10 сообщений. А скриптом стояло 20 навыков. Потом делаю выход в меню, загружаю снова карту и всё нормально, проверка выдаёт 20 сообщений. Тут же HE:S используется.

Просто говорю, как проверил 105.
Quote:HE:S с двумя параметрами не имеет отношения к числу отображаемых навыков и их лимиту.
Я вроде эту команду с числом и лимитом не связывал, мысль иначе была. Запутал меня совсем.148

Пока я встречал только один скрипт, позволяющий выбрать кол-во вторичных навыков для изучения, а не максимальное значение. Это как раз опция 824, очевидно конечно, что используя скрипт, проверка проходит неверно, но уж тут не знаю, как исправить.
(This post was last modified: 09.10.2020 17:59 by Night.)
09.10.2020 17:55
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