Опции RD:   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Ресивер RD(диалог найма существ)


!!RD:XXXX;
- позволяет настраивать игровой диалог найма существ самостоятельно.

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

Наглядный пример создания диалога найма см. ниже


C#1/$2[/$3/$4/#5]
Настроить диалог найма.

        #1 - слот диалога (0..3)
        $2 - тип существа для найма в указанном слоте (-1 = слот пуст)
        $3 - текущее кол-во существ для найма
        $4 - индекс источника/хранилища, где имеется доступное кол-во существ
        #5 - модификатор (0 = использовать оригинальное кол-во существ)
Комментарии (показать)
Пример:


F#/$
Перевести реальный номер слота в логический (используется с командой C)

        # - реальный (видимый) слот (0..3)
        $ - логический слот (0..3, -1 = пустой)
Комментарии (показать)
Команда используется вместе с обработкой мыши в диалоге найма. Номера видимых слотов последовательно увеличиваются и их надо преобразовавать в номера логических слотов. Пример:
Диалог с настроенными слотами: монстр А слот пуст слот пуст монстр Б, - отображается в игре так: монстр А монстр Б. Здесь "монстр Б" имеет реальный номер слота 1, а логический - 3.


I?$1/?$2/?$3/?$4
Получить информацию по текущему диалогу найма.

        $1 - уникальный номер диалога. Используется для различения вложенных диалогов.
        $2 - идентификатор города (см. CA:U), для которого открывается диалог (-1 = нет/неизвестно).
        $3 - идентификатор городского жилища (0..6 - обычное, 7..13 - улучш.; -1 = нет/неизвестно)
	Здания Орд (+ X прирост) рассматриваются как жилища, на которые они влияют.
        $4 - номер выбранного логического слота.
Комментарий (показать)
Номера диалогов уникальны только среди открытых диалогов найма в текущий момент.
После закрытия всей цепочки диалогов найма рекрутов номера диалогов возвращаются в резерв и могут быть назначены новым диалогам (эдакая многоразовость).


M#/$
Доступ к ассоциативной памяти текущего диалога.

        # - либо целое число, либо уникальная строка. То же, что и SN:W
        $ - установить/получить значение переменной

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


O#1/#2/#3/#4[/#5]
Открыть новый диалог найма (предыдущие диалоги останутся в фоновом режиме).

        #1 - идентификатор города (см. CA:U; -1 = пропустить). Город будет использоваться как источник слотов.
        #2 - идентификатор городского жилища (0..13; -1 = пропустить). Жилище будет использоваться как источник слотов.
        #3 - куда помещать рекрутов при найме (определяется сценарием Lua/ERM и обрабатыватся вручную):
	= 0 – в гарнизон города
	= 1 – в армию героя
	= 2 – своя реализация
        #4 - идентификатор цели (герой, город или спец. значение для сценария Lua/ERM)
        #5 - комбинация флагов CLOSE_ON_BUY и AUTO_UPDATE_ADVMAP (см. OnOpenRecruitDlg)
	Не устанавливайте этот параметр, если используете собственные/стандартные настройки.


S#
Сдвиг слотов на # позиций.
В диалоге найма можно сдвигать все слоты на указанное число позиций вправо (# > 0) или влево (# < 0).
Если слот выходит за пределы логических значений (0..3), он исчезает.
Сдвиг выполняется при сохранении всех настроек (тип, кол-во, источник)
Примеры (показать)

Пример 1. Имеем 0..1 слоты с обычными и улучшенными существами (источник не важен):
монстр А монстр Б слот пуст слот пуст
Необходимо подготовить два пользовательских слота с Ангелами/Архангелами в них. Получаем следующее:
2 ангела 2 архангела монстр А монстр Б.

Пример 2. Удалить 1-й слот с улучшенными монстрами и оставить только неулучшенных.


Демонстрационный скрипт применения !!RD от Berserker (показать)

В Цитадели можно нанимать троллей вместо орков в соотношении 3:10 (1 тролль = 3.333 орка). К примеру, 8 орков можно нанять как 2 тролля + 1 орк или 1 тролль + 4 орка. Т.е. найм идёт по принципу - либо малое число одних, либо большое других. (см. скриншот)
Все значения обновляются в реальном времени.