In the Wake OF Gods: разведение скриптов в домашних условиях

Ответить

Таверна | Столик Летописца

Подписывайтесь на наши группы:
Перейти к столику:
Автор Сообщение
Сэр Dark Elf

HoMM III: Безземельный
Сообщения: 491
Откуда: Россия

Цитировать ссылка In the Wake OF Gods: разведение скриптов в домашних условиях Добавлено: 3.03.2004 18:58
Хмм...раскопал тут свою статью полуторалетней давности. Может кого заинтересует.
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Dark Elf

HoMM III: Безземельный
Сообщения: 491
Откуда: Россия

Цитировать ссылка Добавлено: 3.03.2004 19:05
Неофициальный add'on "In The Wake Of Gods", появившийся в конце 2001-начале 2002 года на просторах нашей необъятной родины буквально наступал на пятки свеженьким четвертым "Героям" и про него незаслуженно забыли. Но нельзя упускать из виду потенциально очень богатую вещь – движок Event Revelation Model, позволяющий писать какие угодно скрипты а также вставлять в игру ресурсы извне (видеоролики, картинки и.т.д.).  Сегодня мы не будем углубляться в дебри скриптостроительства, а поговорим о мечте большинства картографов – замене характеристик существ на конкретной карте.
Постараюсь, как можно доступнее и всесторонне поведать вам об этой особенности языка ERM.
В качестве подопытного кролика возьмем Лучника (Archer).
     Итак, первым делом у нас должен быть установлен аддон Heroes 3.5, а к нему, соответственно, прилагаться редактор карт H3wmaped.exe. Применять ERM-скрипты можно только на картах версии "Во имя Богов" (в картах SoD, AB, RoE они работать не будут).
Существует специальный редактор скриптов, но если их писать вручную, то сэкономится куча времени и сил, т.к. редактор неимоверно наворочен.
Для начала запомните несколько прописных истин:
·  Все ERM-команды записываются в СОБЫТИЯ (инструменты/спецификация карты/события).
·  Там мы нажимаем кнопку ДОБАВИТЬ.
·  В строке НАЗВАНИЕ СОБЫТИЯ пишем любое название (назовем наше событие Archer).
·  В окне ПОСЛАНИЕ мы и будем вписывать команды.
·  День скрипта задавать ТОЛЬКО от 499 до 666 включительно.
·  Чтобы ERM-скрипты воспринимались, в начале послания нужно всегда писать ZVSE.

     Характеристики монстров задаются следующей командой:
!#MA:$№/*;
где $ - буква, которой обозначается характеристика, которую мы будем менять, № - порядковый номер монстра, * - количественное значение изменяемой характеристики.

     Сразу же рассмотрим это на примере лучника и поставим нашему лучнику здоровье 5000:
·  Здоровье обозначается буквой H (пишем H вместо $)
·  Порядковый номер лучника 2 (пишем 2 вместо №).
·  Вместо * пишем то значение здоровье, которое мы хотим установить (5000)

     В итоге, команда, будет выглядеть так:
!#MA:H2/5000;
(В конце каждой команды обязательно нужно ставить точку с запятой!)

     По такому же принципу меняем и остальные характеристики:
·  Атака - A
·  Защита - D
·  минимум урона - M
·  максимум урона - E
·  Скорость - S
·  Количество выстрелов - N

     Сделаем теперь из нашего лучника терминатора, поставим ему здоровье 550, урон 80-120, атаку 40, защиту 35, скорость 12, выстрелов 99. Для этого в нашем послании должно быть записано следущее:

    ZVSE
    !#MA:P2/550;
    !#MA:M2/80;
    !#MA:E2/120;
    !#MA:A2/40;
    !#MA:D2/35;
    !#MA:S2/12;
    !#MA:N2/99;
После такой обработки наш лучник любому титану покажет,
кто на карте главный!

     Но и это еще не все. Кроме всех количественных характеристик мы можем изменять и качественные способности юнитов. Например, мы можем лишить стрелков возможности атаковать на расстоянии, тормозных дендроидов заставить летать по всему полю (проходить сквозь препятствия), крестьян сделать устойчивыми к магии - одним словом, наделять воинов различными способностями.
     Команды, меняющие качественные характеристики, записываются также, как и количественные. Задаются качественные характеристики ($) буквой X, а вместо численного значения пишем цифровой код выбранной характеристики. Например, цифровой код 524288 наделяет юнита способностью атаковать всех стоящих рядом противников (подобно гидре).
     Чтобы наш лучник в ближнем бою резал всех рядом стоящих врагов, добавим в наше послание следующую строку:
!#MA:X2/524288;

     Вот
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Dark Elf

HoMM III: Безземельный
Сообщения: 491
Откуда: Россия

Цитировать ссылка Добавлено: 3.03.2004 19:07
Вот список кодов ВСЕХ спецспособностей:

    2 - юнит будет летать (забавно смотрится с дендроидами)
    8 - юнит будет атаковать две клетки (подобно драконам)
    16 - юнит будет причислен к категории ЖИВЫХ (alive)
    32 - юнит может ломать стены (как циклопы)
    64 - юнит не может двигаться
    1024 - юнит не восприимчив к заклинаниям разума (подобно титанам)
    2048 - юниты стреляют без пенальти через стены (подобно архимагам и бехолдерам)
    4096 - стреляющий юнит не имеет штрафа за ближний бой
    16384 - юнит не восприимчив к Огненной магии
    32768 - юнит стреляет дважды (подобно гранд-эльфам)
    65536 - враг не отвечает на атаки юнита (подобно дьяволам, нагам)
    131072 - не имеет морали
    262144 - юнит будет причислен к категории МЕРТВЯКОВ (undead)
    524288 - юнит атакует всех стоящих рядом врагов (гидры, элементалы разума/магии)
    1048576 - стреляющий юнит атакует подобно личам и магогам (задевает всех, стоящих рядом с целью)
    2147483648 - причисляет юнитов к категории Драконов, т.е. на них распространяется действие артефакта Vial Of Dragon Blood (+5 к атаке и защите драконам), а также спец. свойство героини Mutar (аналогично действию вышеупомянутого артефакта)

Разумеется, это только одна из многочисленных возможностей скриптового движка «Героев». Возможно мы ещё вернемся к этой теме в дальнейшем.

***использованы метриалы какого-то там сайта, только я уже не помню какого :)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Master Sandro
+

HoMM III: Рыцарь (1)
Сообщения: 395
Откуда: Россия

Цитировать ссылка ... Добавлено: 4.03.2004 13:34
Продолжение то будет?
Master Sandro
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка Будет, и даже есть... Добавлено: 5.03.2004 19:13
Собственно говоря, вполне независимое продолжение будет на сайте Гильдии Скриптописцев (ссылка в моей анкете), в разделе "школа ERM". :) Кое-какие материалы там уже есть, в ближайшее время будут выложены ещё.

P.S. Поправочка: ERM = Event Related Model. ;)
P.P.S. Те материалы, которые в данный момент уже выложены на сайте, взяты из моей старой темы "Школа ERM", так что, возможно, удобнее будет поглядеть их там: www.heroesportal.net/tavern/?forumid=1&id=17547
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка О редакторе скриптов... Добавлено: 5.03.2004 19:24
Сэр Dark Elf, 3.03.2004 20:05
Существует специальный редактор скриптов, но если их писать вручную, то сэкономится куча времени и сил, т.к. редактор неимоверно наворочен.

Позволю себе не согласиться с такой позицией. :) Я до сих пор использую для написания скриптов тот самый старый редактор, несмотря на то, что при его загрузке выскакивает табличка о том, что он устарел. biglol Причина - как раз в той самой "неимоверной наворочености", которую гораздо правильнее было бы назвать неимоверной наглядностью - с помощью этого редактора мне и удалось в своё время научиться писать скрипты почти с нуля - если не знаешь ничего, то хелп мало что прояснит, а редактор позволяет добиваться желаемого, просто выбирая нужные команды из списков, да и, например, порядковые номера тех же монстров там присутствуют - вы ведь не станете утверждать, что помните их все наизусть? biglol

Что же касается утверждения, что тот редактор "устарел", то это вообще бред - на мой взгляд, новая его версия абсолютно бесполезна, так как в ней нету никакой автоматизации, и фактически она мало чем отличается от "Блокнота". biglol Конечно, в старом редакторе не учтены некоторые из новых возможностей, но их уже можно подглядывать в последней версии html-хелпа...

В общем, для самых простых скриптов (вроде телепортации, изменения характеристик монстров и т.п.) редактор действительно не очень нужен, но в серьёзных случаях просто незаменим. :)
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Dark Elf

HoMM III: Безземельный
Сообщения: 491
Откуда: Россия

Цитировать ссылка Добавлено: 6.03.2004 15:07
Сказано же - статья писалась полтора года назад, когда я не слишком хорошо ещё знал ERM.
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка Добавлено: 7.03.2004 11:25
Я это понял, но, уж если есть, что сказать - то почему бы не сказать? biglol Иначе кто-то мог бы судить о ERM и о редакторе именно по старой статье.
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Berkut
Berkut

HoMM V: Безземельный
HoMM IV: Безземельный
HoMM III: Барон
HoMM II: Безземельный
Сообщения: 411
Откуда: Россия

Цитировать ссылка Добавлено: 9.03.2004 11:46
Друзья мои. Свои скрипты я создаю вручную. Здесь столько хорошего написано о редакторе. Не могли бы Вы рассказать поподробнее как с его помощью создавать грамотные скрипты недетсадовской сложности и проверять их на корректность.
Заранее благодарю. Berkut
Berkut
Особый статус:
Cупруги Married Berkut & Evgenia
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Talarasha
+ + + +
Talarasha

HoMM IV: Безземельный
HoMM III: Безземельный
HoMM II: Безземельный
Сообщения: 1124
Откуда: Россия

Цитировать ссылка Добавлено: 17.03.2004 12:29
Сделаем реку с мостом.
Поместим на карту две горы. Между ними реку, клеточек на 6. И генератор существ Мост Тролля. Поместим героя возле моста. Создадим новое событие и запишем туда следующее (без комментариев):
ZVSE
!#TR2/5/0:P1; /* !# означает, что идет инструкция. Инструкции выполняются при загрузке карты, то есть без определенного события. TR - это означает, что идет настройка территории. 2/5/ - координаты на карте, замените на ваши. 0 - уровень карты, 0 - земной, 1 - подземный. : - это озачает, что пошли свойства. P - это значит, что мы определяем проходимость. 1 - непроходит, 0 - проходит. ; - это конец скрипта. */
!#TR4/2/0:P1;
!#TR4/2/0:P1;
!#TR3/2/0:P1;
!#TR3/3/0:P0E0; /* E0 означает, что убирается триггер, то есть при заходе на эту клетку ничего не случится. */
!#TR2/2/0:P0;

Сохраните карту и загрузите ее в игре. Ваш герой не сможет перейти через реку, но перейдет по мосту.
Возможно, у вас появится сообщение о том, что по истечению 7 дней вы проиграете. Чтобы убрать это, необходимо создать следующую инструкцию:
!#OW:D0/254;

D означает цвет игрока, 0 - красный, 1 - синий и т.д. 254 означает, что герой сможет играть без замка вечно, но это может принимать еще значения от 0...127. В таком случае, герой не получит сообщения о замке еще 0...127 дней.
Talarasha
Особый статус:
Художник-Лунный (HoMM-III)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Перейти к столику:

Ответить

Таверна | Столик Летописца