(17.02.2020 18:12)Algor Wrote: [ -> ]OnOpenHeroScreen не вызывается при переключении между героями из окна героя. Попробую обойтись.
Могу дать адрес хука, если нужно.
igrik, если тоже из разряда "вот так просьба не делать", скинь в личку

(17.02.2020 18:57)Algor Wrote: [ -> ]igrik, если тоже из разряда "вот так просьба не делать", скинь в личку 
Не-а, в личку не камильфо
(17.02.2020 20:02)igrik Wrote: [ -> ][erm]; ставим хук
!!SN:Ex1/1/5105173/(DlgHeroInfo_ClickHeroes);
Не-а, тоже уже поздно.
А
OnPreHeroScreen еще позже.
Фиг с ними, обойдусь, не заморачивайтесь.
(17.02.2020 20:12)Berserker Wrote: [ -> ]Algor, пусть будут разные моды.
Уговорил

(17.02.2020 21:37)Algor Wrote: [ -> ] (17.02.2020 20:02)igrik Wrote: [ -> ]; ставим хук
!!SN:Ex1/1/5105173/(DlgHeroInfo_ClickHeroes);
Не-а, тоже уже поздно.
Так тебе что нужно сделать?
Ты же спросил про переключение героев в окне героя. Этот хук именно только для переключения работает (прям перед обновлением диалога с показом другого героя). Но если ты хочешь заменить какой то деф через редирект, то конечно он не подходит)
Тебе нужен хук перед созданием диалога? Если да - то без проблем, щас организую...
upd: 5118714
; хук прямо перед созданием диалога героя (вызывается один раз и не работает при переключении героев)
!!SN:Ex1/1/5118714/(DlgHeroInfo_Create);
Не знаю, нужен ли тебе тут номер героя или нет.
Но смотри. Тут еще не создан ни один элемент диалога, и поэтому если ты будешь пытаться править какой то элемент (через мной указанные функции несколько постов назад) ты получишь закономерный вылет.
А редирект использовать можно.
igrik, я очень ценю желание помочь, правда, но перестань.
Во-первых, это все равно не подходит. Тут либо уже все подгружено и не изменишь, либо еще нет номера героя, либо вылет при попытке править, либо не отрабатывает в нужных местах, либо еще какая-то хрень. Я сегодня задень уже уйму вариантов перелопатил самыми извращенными комбинациями, где самая безобидная - "через жопу".
Ну и во-вторых, я уже сделал. Чуть проще, чем задумывалось, но, думаю, сойдет, а кому не сойдет, пусть сам повторит весь мой сегодняшний сексуальный опыт и добавит своего.
Номер героя в последнем хуке достать очень просто. Я его не вывел, потому что не знал подойдет тебе этот хук или нет. Этот хук годится только для редиректа дефа или картинки или т.п.
Если бы я точно знал что ты хочешь сделать, я бы смог дать точный ответ как и что нужно сделать. А так это похоже на гадание на кофейной гуще

Но на нет - и суда нет.
(17.02.2020 23:47)Algor Wrote: [ -> ]... но, думаю, сойдет, а кому не сойдет, пусть сам повторит весь мой сегодняшний сексуальный опыт и добавит своего.
Я так же намаялся, когда писал вот
это, когда не понимал что такое указатели, соглашения о вызове функций и вектора.
Quote:ЗЫ а в оригинальных макросах сейчас вообще есть смысл?
Просто раньше они были костылём, а сейчас их можно использовать везде, где вместо них можно подставить переменную. Если уж чинить, то чинить. Правда, использовать их не рекомендую, ибо рудимент.
Но уже работающем ЕРМ 2.0 есть гораздо более крутая фишка быстрых именованных локальных переменных с синтаксисом старых макросов. Я создал тему с примерами, которые без объяснения, возможно, мало кто понял.
Больше не нужны y1, x10 и e43.
Можно писать так:
Наконец-то можно будет писать высокоуровневый код. Я устал от портянок в скриптах 3.58, которые нужно было поддерживать.
(18.02.2020 00:12)Berserker Wrote: [ -> ]Наконец-то можно будет писать высокоуровневый код.
Новый и главное читабельный ERM!!! Это же просто волшебно!
Would it be possible to switch the icons from secondary skill with this?
Lets say in case someone would like to create Master and Grandmaster skill icons...
igrik, это правда, сам в экстазе ) Нет, Lua всё равно лучше, но для поддержки старых модов и те, кто не захочет переучиваться, нужен удобный инструмент.
https://dropmefiles.com/Ztgal
Переменные локальные для триггера (до следующего !?). Индексы выделяются автоматически, но префикс перед переменными обязателен: y, x, e, z (z-1..z-10 выделяются) или v (v2..v10 временные выделяются).
$...$ заменяется на переменную с символом типа
@...@ заменяется на индекс переменной.
Если переменная встретилась даже в комментарии, под неё выделяется память. Потому для функций объявлять параметры проще простого:
Можно выделять массивы, упомянув в квадратных скобках первый раз число элементов. Нумерация с 0.
$yArray[20]$ - массив из 20-и y-переменных.
К конкретным элементам массива можно обращаться как по положительным индексам (считая с начала):
Можно в цикле пройтись по всем индексам массива так:
Вместо @yArray[0]@ можно писать короче @yArray@.
PerryR, I thought, that OnOpenHeroScreen is enough, but seems, that I was wrong. Anyway, the best we can do is to redirect def-to-def and pcx-to-pcx and def must have the same frames count. What did you plan to do?
I was thinking if it would be possible to switch defs from secondary skills when opening the heroes screen with SN:R^old resource name^/^new resource name^ command. So the idea would be to somehow recolor existing SS icons and create a def for M and GM level, so that there is a visual difference between expert and higher levels, which is shown in HS. Could the game actually get the defs, if I would create new ones and place them in the SECSK82.def file?
PerryR, I think you will not be able to combine 5 levels in 3-level defs. You can have 1 skill and 1-st level and another one of 5-th level. No def can have them all without changing dialog logics. IMHO.
здорово выглядит, кэтому конечно практикой надо привыкать, но в итоге будет в разы удобнее, имхо.
молодец,
Berserker, ждём ЕРМ2,0 в общем...
чёт сразу же как читал новшества вспомнил твой SCVS, жаль он тогда был лишь внешним компилятором, в этом и была его пята