Расширение ERM - Printable Version +- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net) +-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99) +--- Forum: Скрипты (/forumdisplay.php?fid=103) +--- Thread: Расширение ERM (/showthread.php?tid=5933) |
Расширение ERM - Raistlin - 07.02.2021 15:27 Привет, друзья! У меня тут некоторое время назад возникла мысль, что 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 (Работа с номером объекта на карте у хижин ведьм). Пишите, что думаете по этому поводу, а также, каких команд вам не хватает. Я с удовольствием добавлю еще что-нибудь интересненькое. RE: Расширение ERM - daemon_n - 07.02.2021 15:42 Raistlin, очень нужно - пишу с телефона) Но сразу вопрос по первой. Можно поставить любой артефакт? RE: Расширение ERM - Raistlin - 07.02.2021 15:51 (07.02.2021 15:42)daemon_n Wrote: Raistlin, очки нужноЧто? (07.02.2021 15:42)daemon_n Wrote: Но сразу вопрос по первой. Можно поставить любой артефакт?Да, даже добавленный каким-либо плагином. Цена покупки, кстати, равняется цене существа, а не артефакта. RE: Расширение ERM - Bes - 07.02.2021 16:55 - можно для обелиска добавить команду получения координат зарытого грааля. - на мой взгляд, вратам подземного мира тож нужен свой ресивер для контроля игроком точек выхода через другие такие же врата - как-то таки заставить через !!MN добывать мифрил, а иначе он так и останется как странный ресурс, недоконца внедрённый в игре когда-то RE: Расширение ERM - daemon_n - 07.02.2021 17:38 Вот что я думаю - каждому объекту можно дать порядковый номер среди имеющихся. Координаты, конечно, хорошо, но каждый раз сканировать каждую клетку на карте, чтобы пройтись по всем объектов определённого типа - устаревший подход, мне кажется. Но тут опытные скриптописцы могут сказать больше. Что касается !!FC - faction - добавить можно туда всё, что касается уникальных фракций. Вот список того, что пока вспомнил - не думаю, что от всего есть смысл.
RE: Расширение ERM - Raistlin - 07.02.2021 18:15 (07.02.2021 16:55)Bes Wrote: - можно для обелиска добавить команду получения координат зарытого грааля.А зачем? Не думаю, что этим кто-то будет пользоваться... Quote:- на мой взгляд, вратам подземного мира тож нужен свой ресивер для контроля игроком точек выхода через другие такие же вратаО, вот это интересная мысль На разных заскриптованных картах можно будет делать так, чтобы врата могли вести в разные локации Quote:- как-то таки заставить через !!MN добывать мифрил, а иначе он так и останется как странный ресурс, недоконца внедрённый в игре когда-тоЭто означает, что структуру ресурсов придется перенести и расширить. В теории, для этой цели можно даже создать отдельный плагин. Идея на самом деле хорошая, спасибо! Касательно ERM: если структура все-таки будет расширена, то в данном плагине достаточно будет просто поменять пару циферок, это не сложно. Ну а реализовать добычу мифрила можно через РО-номера, если выставить шахте определенный статус и забирать производимые ресурсы каждый день. (07.02.2021 17:38)daemon_n Wrote: Вот что я думаю - каждому объекту можно дать порядковый номер среди имеющихся. Координаты, конечно, хорошо, но каждый раз сканировать каждую клетку на карте, чтобы пройтись по всем объектов определённого типа - устаревший подход, мне кажется.Так ведь это уже реализовано, вот пример из справки: Впрочем, получение данного номера по координатам, наверное, реализовать все-таки стоит, оно есть не везде. Quote:По-моему, за все это отвечает только один параметр - мировоззрение, и его безусловно стоит начать контролировать. Спасибо за идею, тут ты действительно хорошо подметил Quote:- Число и тип существ во всяких особенных построек на прирост (Или "орда 1/2" это оно и есть?)Ага ) Quote:- Влияние фракций на отношения с нейтральными отрядами на карте (да, такое тоже есть - агрессивность, присоединение и тп)Серьезно?! Надо поизучать Quote:Можно сделать, но для этого ведь есть текстовики... Quote:- Описание зданий в таун холле (надо ли?)Это я на самом деле планировал реализовать в будущем, но с помощью отдельного плагина. Quote:- Эффекты грааля - тут уж совсем я замахнулся)) но просто вспомнил, вотА там ведь нет общих редактируемых параметров... Или у тебя есть идея? RE: Расширение ERM - daemon_n - 07.02.2021 18:47 (07.02.2021 18:15)Raistlin Wrote:1 - нет , именно от фракцииQuote:По-моему, за все это отвечает только один параметр - мировоззрение, и его безусловно стоит начать контролировать. Спасибо за идею, тут ты действительно хорошо подметил 2 - то же от фракции - кентавры и гремлины имеют разные бонусы/штрафы на снегу, мировоззрение отвечает лишь на особые земли Quote:Текстовик есть и для навыков, и для заклинаний, и для существ их параметров, и для бонусных навыков.Quote:Можно сделать, но для этого ведь есть текстовики... Но не всё из этого можем проверить/установить/получить. Я тут слегка намекнул на перестройку заклинаний в городе, к слову, когда говорил о проверке возможных заклинаний Хотя ERM для этого не лучший инструмент Quote:Идей нет - разве что вкл/откл уникальные эффекты, что им выпонлятюся.Quote:- Эффекты грааля - тут уж совсем я замахнулся)) но просто вспомнил, вотА там ведь нет общих редактируемых параметров... Или у тебя есть идея? RE: Расширение ERM - Bes - 07.02.2021 19:14 Quote:тип рва (2, 1, нет)если рва нет, то в v1 занесётся 0 ? может тогда надо указать как (0..2) (07.02.2021 18:15)Raistlin Wrote:ты только что сам пустил тень как на половину всех команд ЕРМ, так и на собственно свою же идею расширения ЕРМ.(07.02.2021 16:55)Bes Wrote: - можно для обелиска добавить команду получения координат зарытого грааля.А зачем? Не думаю, что этим кто-то будет пользоваться... Главное чтобы был инструмент под рукой для скриптера/картостроителя. А там уже он сам решит когда и что ему пригодится на практике. RE: Расширение ERM - Bes - 07.02.2021 19:27 (07.02.2021 15:27)Raistlin Wrote: !!FC#:M – Получить в v1 тип рва (2, 1, нет)Удобнее же было бы сделать одной командой !!FC#:M0/$; режим set/get , isn't it? RE: Расширение ERM - Bes - 07.02.2021 19:43 (07.02.2021 15:27)Raistlin Wrote: !!FC#:B0/$ – Установить/проверить/получить артефакт, покупаемый в кузницеЧёт я запутался, команда B0 может не артефакт устанавливает, а существо? RE: Расширение ERM - Raistlin - 07.02.2021 19:48 (07.02.2021 18:47)daemon_n Wrote: Идей нет - разве что вкл/откл уникальные эффекты, что им выпонлятюся.На мой взгляд, такую вещь лучше регулировать через UN:C, уже ведь есть готовый код, где дополнительно ничего настраивать не нужно. (07.02.2021 19:27)Bes Wrote: Удобнее же было бы сделать одной командой !!FC#:M0/$; режим set/get , isn't it?Мне как программисту изначально было проще сделать это именно так, но ты прав, для скриптера это будет неудобно. Переделаю перед релизом. (07.02.2021 19:14)Bes Wrote:Да.Quote:тип рва (2, 1, нет)если рва нет, то в v1 занесётся 0 ? Quote:может тогда надо указать как (0..2)Действительно... Слово "тип", кстати, лучше заменить на "толщина" или "толщина в гексах/клетках". Спасибо за поправку! (07.02.2021 19:14)Bes Wrote: ты только что сам пустил тень как на половину всех команд ЕРМ, так и на собственно свою же идею расширения ЕРМ.Полностью согласен, но как по мне, конкретно эту штуку лучше тоже оставить для регулирования с помощью UN:C. Хотя... Хотяяяяя... Ты прав, создам новую команду !!UN RE: Расширение ERM - Bes - 07.02.2021 19:54 UN:J12 свободна (HTML-справку для !!FC сделал) RE: Расширение ERM - Raistlin - 07.02.2021 20:41 (07.02.2021 19:54)Bes Wrote: UN:J12 свободнаМожно, главное - чтобы никто другой за нее не взялся, а то очень уж напрашивается решение Quote:(HTML-справку для !!FC сделал)Круто, спасибо! Можно мне посмотреть? RE: Расширение ERM - Bes - 07.02.2021 22:13 ну, Berserker для ERA взял после J11 сразу J13, почему он оставил J12 хз, обговори с ним этот вопрос, может были причины RE: Расширение ERM - Raistlin - 07.02.2021 22:32 Хорошо RE: Расширение ERM - XEPOMAHT - 07.02.2021 23:03 (07.02.2021 22:13)Bes Wrote: ну, Berserker для ERA взял после J11 сразу J13, почему он оставил J12 хз, обговори с ним этот вопрос, может были причины J12 занят вогом 3.59. И было бы намного лучше, если бы перетащили именно ERM-команды с WoG 3.59 (исходные коды позволяют это сделать без особого труда, но... желающих пока нет, увы). Например все данные шаблонов городов можно подгружать вообще из текстовиков (что когда-нибудь будет в ERA+), тогда и реализация на ERM в виде !!FC не понадобиться совершенно. RE: Расширение ERM - Raistlin - 07.02.2021 23:12 (07.02.2021 23:03)XEPOMAHT Wrote: И было бы намного лучше, если бы перетащили именно ERM-команды с WoG 3.59 (исходные коды позволяют это сделать без особого труда, но... желающих пока нет, увы).Вы прямо мысли читаете! Перенос команд из WoG 3.59 действительно входит в мои планы, и я постараюсь осуществить его в скором времени. Кстати, а документации по данным командам случайно не осталось? (07.02.2021 23:03)XEPOMAHT Wrote: Например все данные шаблонов городов можно подгружать вообще из текстовиков (что когда-нибудь будет в ERA+), тогда и реализация на ERM в виде !!FC не понадобиться совершенно.Соглашусь, такой подход лучше. (07.02.2021 23:03)XEPOMAHT Wrote: J12 занят вогом 3.59.Спасибо за информацию, буду знать. RE: Расширение ERM - Bes - 07.02.2021 23:49 (07.02.2021 23:12)Raistlin Wrote: Кстати, а документации по данным командам случайно не осталось? вроде должна там же быть... (26.03.2020 23:57)Berserker Wrote: Вышел ЕРМ-хэлп по ВоГ 3.59 альфа. RE: Расширение ERM - Raistlin - 08.02.2021 13:56 Bes, спасибо! daemon_n, контроллеру Граалей быть! RE: Расширение ERM - feanor - 08.02.2021 14:29 А когда восстанавливаются оригинальные данные, после выхода или перед загрузкой? RE: Расширение ERM - Raistlin - 08.02.2021 14:55 feanor, это один из пока еще нерешенных вопросов. Как бы Вы посоветовали сделать? RE: Расширение ERM - Raistlin - 08.02.2021 17:12 Наверное, изменения будут откатываться в событии OnGameLeave и возвращаться в OnGameEnter RE: Расширение ERM - daemon_n - 08.02.2021 17:32 Raistlin, OnGameStartOrLoad (!?PI; !?GM0; ) RE: Расширение ERM - Raistlin - 08.02.2021 18:00 (08.02.2021 17:32)daemon_n Wrote: Raistlin, OnGameStartOrLoad (!?PI; !?GM0; )Вместо OnGameEnter? RE: Расширение ERM - daemon_n - 08.02.2021 18:35 Raistlin, да Хотя... это лишь для самой новой ЭРА. Лучше оставь OnGameEnter RE: Расширение ERM - Raistlin - 08.02.2021 23:26 daemon_n, окей, благодарю за информацию. Я хочу оставить совместимость со старыми версиями, а потому действительно не стану менять событие |