Привет, друзья!
У меня тут некоторое время назад возникла мысль, что ERM можно и расширить - когда я сам только-только начинал писать скрипты, мне для моих замашек многого не хватало: я тогда не был программистом, а потому слово "функция" пугала меня, и я даже не пытался с этим разобраться. Точно так же было с командой UN:C и вообще всеми командами, предполагающими работу с памятью. Я еще помню те ощущения и потому принял решение хотя бы попытаться решить эту проблему.
На данный момент у меня готовы две полноценные команды и есть пара идей на будущее. Скачать расширение ERM еще нельзя - подождите несколько дней, пока я протестирую весь функционал.
Итак, ресивер FC (Fraction Controller):
# - Тип города
!!FC#:B0/$ – Установить/проверить/получить артефакт, покупаемый в кузнице
!!FC#:B1/$ – Установить/проверить/получить сушество, показываемое в кузнице
!!FC#:C$1/$2/$3/$4 – Координаты зданий. $1 – Номер здания, $2 – Количество кадров в def'е, $3 – Позиция X, $4 – Позиция Y. Если какой-то параметр не надо модифицировать, можно использовать число -1 или d0
!!FC#:D$1/$2 – Установить/проверить/получить приоритет отображения строений. $1 – Индекс элемента массива, $2 – Номер строения (в скором времени у данной команды появится пояснительный комментарий)
!!FC#:H0/$1/$2 – Прирост в "орде 1". $1 неулучшенное существо, $2 – улучшенное
!!FC#:H1/$1/$2 – Прирост в "орде 2". $1 неулучшенное существо, $2 – улучшенное
!!FC#:H2/$1/$2 – Уровень сушеств в "орде 1". $1 неулучшенное существо, $2 – улучшенное
!!FC#:H3/$1/$2 – Уровень сушеств в "орде 2". $1 неулучшенное существо, $2 – улучшенное
!!FC#:H4/$1/$2/$3 – Тип простых $2 и улучшенных $3 существ в орде $1 (1/2)
!!FC#:M – Получить в v1 тип рва (2, 1, нет)
!!FC#:M0/# – Установить тип рва (2, 1, нет)
!!FC#:M1/$ – Установить/проверить/получить урон от рва
!!FC#:R$1/$2 – Установить/проверить/получить ресурсы в хранилище. $1 - тип (0-6), $2 - количество
!!FC#:S$ – Установить/проверить/получить существо в стрелковой башне
!!FC#:T$ – Установить/проверить/получить родную почву
Об использовании:
Данный ресивер задумывался не столько для изменения шаблонов городов, сколько для работы в тандеме с ассоциативными массивами. Впрочем, благодаря ему многие вещи теперь действительно можно реализовать без плагинов и патчей.
Как это можно использовать (идеи опций):
- Улучшение хранилища ресурсов за мифрил
- Выбор ресурса в хранилище
- С помощью FC:C и SN:R можно реализовать альтернативы с полноценными жилищами в городах (как в Tides of War), надо просто выставлять значения в OnPreTownScreen в зависимости от обитателя жилища
- FC:М - улучшение рва (например, тоже за мифрил)
- FC:В - добавление новых боевых машин
Примеры использования:
Ресивер PR (Prison):
#1/#2/#3 - Координаты тюрьмы на карте. Можно использовать и 1 параметр - номер v-переменной
!!PR#1/#2/#3:H$ – Установить/проверить/получить номер героя
Также я планирую ввести команды OB:Z (Получение структуры объекта), MA:W (Разрешение для появления в генераторе случайных монстров) и WH:N (Работа с номером объекта на карте у хижин ведьм).
Пишите, что думаете по этому поводу, а также, каких команд вам не хватает. Я с удовольствием добавлю еще что-нибудь интересненькое.