Дам лишь относительную подсказку. !?CM1 !?CM2 !?CM3. Перехватываешь щелчок, CM:I - место щелчка. Вычисляешь номер слота и (для встречи героев) номер героя. Если ему нельзя щёлкать на этом слоте, запрещает реакцию через CM:R0;
Берс, я уже думал об этом. Но ведь слот неважен, важно количество уже занятых слотов. Хотя, с другой стороны, какая разница. В общем, вас понял, исполняю.
Вопрос только относительно переменных. Для каждого героя запоминать свою w-переменную количества занятых слотов, да?
Добавлено:
И как обращаться к этим w-переменным? Я до этого с ними ни разу не работал...
!!IF:W5;
!!VRw1:S1;
Переменная w1 героя номер 5 станет равной 1. Причём !!IF:W5; может стоять где угодно раньше в коде (если, конечно, между !!IF:W5; и !!VRw1:S0; нет другого !!IF:W).
а зачем переменная? лучше подсчитывать количество занятых на ходу, а в варианте Берса оно вообще не нужно.
GhostManSD Wrote:На ходу - через !?HM?

Слов нет, прошу прощения.
На ходу - значит каждый раз при использовании.
Подскажите, пожалуйста, как в Эре включить сторонний dll под названием "Kyon.dll". Dll содержит настройки для функций 90000-90003 через ASM.
Т.е. он будет работать для всех карт? А есть ли возможность использовать плагин лишь для одной карты?
Есть. Действие плагина поместить в процедуру. Её сделать экспортируемой. Через Эру в начале карты получить адрес функции и выполнить её.
Берс, можешь написать код? Вот что пытаюсь сделать я...
!#VRz1:S^Kyon.dll^; Название загружаемой библиотеки
!#SN:Lz1/?v901; Сохранить ID библиотеки в v901
!#VRz1:S^???^; Что здесь указать для своей библиотеки?
!#SN:Av901/z1/?v902; Получить адрес функции в v902
Имя экспортированной процедуры.
...
PROCEDURE MyProc;
...
END;
EXPORTS MyProc NAME "имяподкоторымэкспортируем";
Это всё тоже запихать туда же, куда и привычный ERM-код?
Что это вообще? LUA?
Паскаль. Ты как DLL делал?