Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Моды

Обсуждаем, делимся впечатлениями, новой информацией
offlineАватара пользователя
Orzie  
Ветеран
Ветеран
 
Сообщения: 698
Зарегистрирован: 12 сен 2013, 15:17
Откуда: Томск
Пол: Не указан
Награды: 3
Высшая медаль (1) 3 место 1 этапа по HMM1 (1) Бонусный шлем (1)
Поблагодарили: 457 раз.

Re: Моды

Сообщение Orzie » 04 мар 2016, 10:08

К нам на Forums of Enroth заглянул человек с забавными результатами по хекс-редактированию карт.

При помощи хекс-редактирования возможно добиться интересных эффектов для конкретно взятых карт без необходимости создавать новую платформу, чтобы в них играть.
[youtube]fZbcDzq6aRM[/youtube]
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 05 мар 2016, 00:01

Мы таким "Advanced hex-editing" при подготовке Новогоднего турнира занимались :smile16:
Вернуться к началу

offlineАватара пользователя
Orzie  
Ветеран
Ветеран
 
Сообщения: 698
Зарегистрирован: 12 сен 2013, 15:17
Откуда: Томск
Пол: Не указан
Награды: 3
Высшая медаль (1) 3 место 1 этапа по HMM1 (1) Бонусный шлем (1)
Поблагодарили: 457 раз.

Re: Моды

Сообщение Orzie » 05 мар 2016, 15:38

Собственно, чем больше таких людей и внятных гайдов для начинающих, тем, возможно, лучше)
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1057
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 638 раз.

Re: Моды

Сообщение Владимир » 06 мар 2016, 07:01

А кто-нибудь знает, можно ли таким образом посадить героя в корабль?
1) Вообще в принципе
2) Если это единственный герой, так чтобы игрок на карте не "потерялся"
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 06 мар 2016, 22:53

Цитата:
А кто-нибудь знает, можно ли таким образом посадить героя в корабль?
1) Вообще в принципе
2) Если это единственный герой, так чтобы игрок на карте не "потерялся"

1) Да.
2) Корректное редактирование в данном случае эквивалентно посадке героя в лодку. Если последний игрок после посадки в лодку "не теряется" в реальной игре, то он также "не потеряется" и после редактирования. Кавычки - т.к. не уверен, что понял, что значит "не потерялся". При редактировании мы: 1) убираем героя с карты приключений; 2) обнуляем его запас хода и прописываем его статус как "on board" (80h); 3) создаём объект TShip; 4) Заполняем поля объекта.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 08 мар 2016, 14:20

А вот это полезная информация. Если запустить редактор карт с ключом /pur, то можно напрямую редактировать тайлы (инструмент "?", клик по тайлу):

Изображение
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1057
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 638 раз.

Re: Моды

Сообщение Владимир » 09 мар 2016, 08:52

Я попробовал - получилось открыть этот режим, но не получилось что-нибудь изменить.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 09 мар 2016, 09:17

Проще всего проверить, что редактирование работает, это изменить groundIndex (индекс тайла ландшафта, Layer 0). Также легко заметить визуальные изменения тайла, если менять Layer 1 (objTileset + objectIndex) и Layer 2 (overlayTileset + overlayIndex). Но не все комбинации будут корректными. Некоторые изменения просто не даст сделать сам редактор, а некоторые (например, неправильный номер тайлсета) и вовсе могут привести к вылету.

Вот короткий пример. По остальным полям пройдусь подробнее, как будет время.

Ставим артефакт с номером N на карту:
objTileset = 11 (ICN, хранящий картинки артов).
objIndex = 2 * N + 1 (индекс картинки внутри ICN; таким образом на карту можно добавить новые UA).
objType = 169 ("функциональный тип" объекта, т.е. задаём, как объект будет вести себя в игре; 169 - интерактивный артефакт).

Экспериментируйте :)
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 09 мар 2016, 09:41

Заметил баг. Значение поля isRoad (флаг дороги) либо по ошибке записывается в поле objType, либо просто некорректно отображается в поле objType вместо своего поля (isRoad). Аналогично обстоит дело и с парой полей objType и extraInfo. Т.е. и здесь косяки присутствуют :)

Похоже, в редакторе карт поля animObject (флаг анимации объекта), animOverlay (флаг анимации оверлея), isShadow (наличие тени), isRoad (наличие дороги), а также extraIndex, Obj Link и Ovr Link (последние, скорее всего, предназначены для корректной работы инструмента "Erase") являются read-only. Остальные поля можно редактировать, учитывая баг, описанный выше.

animObject и animOverlay - это флаги, принимающие два значения: false (0), true (1). Собственно, как isShadow и isRoad.

Например, для тайла, на котором находится костёр (анимированный объект), поле animObject будет установлено в 1. А если костёр ещё закрыт дымом от вулкана, то и animOverlay будет равным 1.

extraInfo - "расширенная" информация об объекте. Обычно используется уже в игре (например, сюда пишется охрана артефактов, содержимое сундуков и т.п. при старте карты).
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Моды

Сообщение AlexSpl » 09 мар 2016, 16:36

Ещё несколько интересных наблюдений.

1. Почему для артефактов objIndex - нечётное число (2 * N + 1)? Дело в том, что кадры с чётными индексами - это тени артефактов, которые располагаются на соседнем слева тайле. Т.е. для артефакта с ID = N, изображение артефакта имеет objIndex = 2 * N + 1, а его тень - 2 * N.

2. Поля Obj (Object) Link и Ovr (Overlay) Link - это ссылки на уникальные идентификаторы объектов. Например, возьмём объект "Лаборатория алхимика". Пусть уникальный идентификатор (UID) этого объекта - 5502 (UID - это идентификатор всего объекта целиком, в данном случае состоящего из 6 тайлов). Тогда тайлы лаборатории, расположенные в слое 1 (нижние три тайла) получат Obj Link = 5502, а верхние, расположенные в слое 2 (оверлей), Ovr Link = 5502. Если теперь, например, горшочек с ртутью будет заслонять вершина горы с UID = 6092, то поля тайла с горшочком будут такими: Obj Link = 5502, Ovr Link = 6092.

* * *
До этого никогда такие вещи не замечал. Посмотрите на сундук [114; 118] на карте "Войны Драконов". Пример неправильного оверлея. Край сундука перекрывается "кратером" (такое название в русском редакторе, по мне - так это трещины). Даже если кликнуть правой кнопкой мыши на сундуке будет отображена подсказка "Кратер", а не "Ларец с сокровищами". Исправляется установкой полей оверлея: overlayTileset = 0, overlayIndex = 255. По-хорошему, нужно править ещё и Ovr Link, иначе "стёрка" при удалении сундука захватит кусок "кратера". Но это можно сделать только с помощью hex-редактора.

* * *
А вот для чего нужен extraIndex пока остаётся загадкой. Пока версия такова (после экспериментов с чиcтой картой): extraIndex отличный от 0 получают объекты, на которые падает тень от других объектов. Если, к примеру, поставить сундук на пустую карту, то его extraIndex будет равен 0. Если теперь:
1) поставить ещё один сундук слева от первого, то левый сундук получит уникальный extraIndex (поле isShadow не устанавливается в 1 для тайлов, занятых объектами);
2) поставить второй сундук справа, то уникальный extraIndex получит первый сундук.
Выходит, что объект, на который не падает тень, будет иметь extraIndex = 0. И это поле нужно для правильной отрисовки теней на объектах (а точнее, под ними).
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron