Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RMG и вода
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды
Sadness
Известно, что генерируемая RMG зона не может быть водой. У меня возникла мысль - а возможно ли заменить какую-либо местность на другую? В моём случае хотелось бы заменить песок на воду. То бишь все объекты песка и сам рельеф заменится на все объекты воды и рельеф соответственно. Хочется, разумеется, не внешний вид, это через дефки немудрено сделать. В принципе мне видится это просто, только надо знать что где и куда копировать и вставлять. Хелп %)
Foster
Конечно, сейчас тебе тут накидают то, что еще никто на форуме не смог. С таких ОП-постов и начинался ВоГ и ХоТа, да.
Sav
Вода может быть двух видов - без объектов (деревяшек и т. п.) - тогда это, видимо, действительно не зона; или с объктами, тогда это самая обычная зона, просто её размер - вся вода карты, а её наполнение прописано в коде и не управляется rmg.txt. И, насколько я помню, на воду как раз заменяется одна из зонм шаблона.
Sadness
Цитата(Sav @ 06 Sep 2012, 07:52) *
Вода может быть двух видов - без объектов (деревяшек и т. п.) - тогда это, видимо, действительно не зона; или с объктами, тогда это самая обычная зона, просто её размер - вся вода карты, а её наполнение прописано в коде и не управляется rmg.txt. И, насколько я помню, на воду как раз заменяется одна из зонм шаблона.

К сожалению, последний пунтктик не верен, я проверял на том же Джебусе, вода имеет свой рельеф, но настолько скудна сама по себе, что никак не может быть трежей... Да и все 5 зон на карте были, 5 островов, в принципе так и должно быть
Algor
Цитата(Sav @ 06 Sep 2012, 07:52) *
Вода может быть двух видов - без объектов (деревяшек и т. п.) - тогда это, видимо, действительно не зона; или с объктами, тогда это самая обычная зона, просто её размер - вся вода карты, а её наполнение прописано в коде и не управляется rmg.txt. И, насколько я помню, на воду как раз заменяется одна из зонм шаблона.

Ни одна из зон шаблона на воду не заменяется. Более того, если в шаблоне прописан фиксированный размер карты, соответствующий, например, строго L, то сгенерить L-ку с параметром "острова" не получится - выдаст ошибку. А вот островную XL по такому шаблону генератор сделает.

Т.е. сначала видимо генерится безводная L-ка (только зоны и связи), а затем локации разносятся по XL-площади с добавлением верфей в разрывы межзонных проходов (мои личные наблюдения при создании островных шаблонов, не факт, что верные, конечно же).

2 Vaflya:
Заменить песчаную территорию на водную можно ERM-скриптом. Поставить верфи рядом с обрывающимися дорогами тоже не должно быть большой проблемой. А вот сделать замену объектов на водные, да так, чтобы карта потом не смотрелась чудовищем Франкенштейна.... тут задача не совсем тривиальная. Да и при таким подходе карта получится не островная, а скорее "озерная".
Sadness
Цитата(Algor @ 06 Sep 2012, 12:00) *
Цитата(Sav @ 06 Sep 2012, 07:52) *
Вода может быть двух видов - без объектов (деревяшек и т. п.) - тогда это, видимо, действительно не зона; или с объктами, тогда это самая обычная зона, просто её размер - вся вода карты, а её наполнение прописано в коде и не управляется rmg.txt. И, насколько я помню, на воду как раз заменяется одна из зонм шаблона.

Ни одна из зон шаблона на воду не заменяется. Более того, если в шаблоне прописан фиксированный размер карты, соответствующий, например, строго L, то сгенерить L-ку с параметром "острова" не получится - выдаст ошибку. А вот островную XL по такому шаблону генератор сделает.

Т.е. сначала видимо генерится безводная L-ка (только зоны и связи), а затем локации разносятся по XL-площади с добавлением верфей в разрывы межзонных проходов (мои личные наблюдения при создании островных шаблонов, не факт, что верные, конечно же).

2 Vaflya:
Заменить песчаную территорию на водную можно ERM-скриптом. Поставить верфи рядом с обрывающимися дорогами тоже не должно быть большой проблемой. А вот сделать замену объектов на водные, да так, чтобы карта потом не смотрелась чудовищем Франкенштейна.... тут задача не совсем тривиальная. Да и при таким подходе карта получится не островная, а скорее "озерная".


Замену объектов делать вовсе не обязательно, поскольку достаточно разрешить в обжектс.тхт генерацию начинки трежи и охраны на воде. Речь идёт про SoD, скрипты не канают...
Sav
Цитата(Vaflya)
К сожалению, последний пунтктик не верен, я проверял на том же Джебусе, вода имеет свой рельеф, но настолько скудна сама по себе, что никак не может быть трежей... Да и все 5 зон на карте были, 5 островов, в принципе так и должно быть

Для воды насыщенность объектами заменяется на константы в коде. Но если количество зон не уменьшилось, значит действительно не заменяется, я не проверял специально.



Вообще, заменять почву на воду в процессе генерации (а иначе нет толку от правки текстовиков - ведь они грузятся и используются в процессе генерации) геморройно: на воде не генерируются города, монстры, дороги; нужно самостоятельно разбираться с верфями и т. п.
Sadness
Цитата(Sav @ 06 Sep 2012, 17:19) *
Цитата(Vaflya)
К сожалению, последний пунтктик не верен, я проверял на том же Джебусе, вода имеет свой рельеф, но настолько скудна сама по себе, что никак не может быть трежей... Да и все 5 зон на карте были, 5 островов, в принципе так и должно быть

Для воды насыщенность объектами заменяется на константы в коде. Но если количество зон не уменьшилось, значит действительно не заменяется, я не проверял специально.



Вообще, заменять почву на воду в процессе генерации (а иначе нет толку от правки текстовиков - ведь они грузятся и используются в процессе генерации) геморройно: на воде не генерируются города, монстры, дороги; нужно самостоятельно разбираться с верфями и т. п.

Да, я уже прикинул, не сахар.

Вообще, хотел джебус кросс с водной трежей. Вот попросту интересно, как оно будет выглядеть. Разве нельзя разрешить генерацию охран на воде? города - понятное дело, придётся без них обходиться. Верфи не проблема, просто надо добавить 4 зоны маленького размена типа "проход", причём соединение с водой широкое и без охраны, а проход в эти зоны как раз будет охраняться и это будет ГО.
Sav
Цитата(Vaflya)
Разве нельзя разрешить генерацию охран на воде?

Разрешить-то можно, только появляться они будут на островках рядом с некоторыми водными объектами.

Кстати, вспомнил: чтобы затопить зону, можно пожертвовать каким-нибудь типом города, установив ему тип родной земли "вода", поставить этот город в нужную зону, сделать территорию "match to town" - зона заполнится водой, а сам город исчезнет. Вроде наполнение генерируется, только не кучно, а рассеянно, может даже верфи (насчёт них не проверял).
Sadness
Цитата(Sav @ 07 Sep 2012, 10:33) *
Цитата(Vaflya)
Разве нельзя разрешить генерацию охран на воде?

Разрешить-то можно, только появляться они будут на островках рядом с некоторыми водными объектами.

Кстати, вспомнил: чтобы затопить зону, можно пожертвовать каким-нибудь типом города, установив ему тип родной земли "вода", поставить этот город в нужную зону, сделать территорию "match to town" - зона заполнится водой, а сам город исчезнет. Вроде наполнение генерируется, только не кучно, а рассеянно, может даже верфи (насчёт них не проверял).


С верфями вопрос решается просто, я уже вроде описывал, как.
Sav
Я не совсем понял сути решения - ну будут дополнительные зоны, а верфи-то кто поставит (они ведь всё равно необходимы)?
Sav
Только что проверил - наполнение для такой воды генерируется, а вот верфей нет.
Sadness
Цитата(Sav @ 07 Sep 2012, 19:42) *
Только что проверил - наполнение для такой воды генерируется, а вот верфей нет.


а как проверил? где, чем?
просто хочу тоже потестировать.

По идее любой выход на воду должен сопутствоваться верфью. Охрана прохода естественно обещаться не будет, поэтому охрану надо сделать на проходную зону, а собственно связь проходная зона-песок(вода) уже должна иметь верфь...
Sav
Проверил у себя. Подменить родную землю генератора городу можно таким нехитрым патчем:
_PI->WriteDword(0x6408D8 + 4*town_id, terr_id);
Где town_id - номер нужного города, terr_id - номер нужной территории (8 - вода).
Остальное делается правками шаблона.

Верфи не генерируются и всё тут. Видимо, генератор ставит их только к водной зоне не из шаблона.
Охрана прохода же вполне может просто охранять верфь, если бы она генерировалась, конечно.

Да, и такое не действует в зоне под землёй, а так же хз что будет, если вода и без того будет включена на карте.
Sadness
Цитата(Sav @ 07 Sep 2012, 20:43) *
Проверил у себя. Подменить родную землю генератора городу можно таким нехитрым патчем:
_PI->WriteDword(0x6408D8 + 4*town_id, terr_id);
Где town_id - номер нужного города, terr_id - номер нужной территории (8 - вода).
Остальное делается правками шаблона.

Верфи не генерируются и всё тут. Видимо, генератор ставит их только к водной зоне не из шаблона.
Охрана прохода же вполне может просто охранять верфь, если бы она генерировалась, конечно.

Да, и такое не действует в зоне под землёй, а так же хз что будет, если вода и без того будет включена на карте.


интересно!
а попробуй воды normal сделать. Тогда будет по сути водная трежа
Sav
Если создавать карты с водой, то водная зона сливается с ней и не учитывается при генерации охраны верфей. Хотя действительно получается такая более наполненная объектами область на воде, но неохраняемая.
Sadness
Цитата(Sav @ 07 Sep 2012, 21:55) *
Если создавать карты с водой, то водная зона сливается с ней и не учитывается при генерации охраны верфей. Хотя действительно получается такая более наполненная объектами область на воде, но неохраняемая.

В качестве охраны всегда использовалась охрана верфей, по-моему. Причём тот же водный джебус - охрана верфей как на островах, так и на пескотреже
Sav
Да, но в случае водной зоны он её не ставит, даже если поставить большую ценность прохода.
Sadness
Цитата(Sav @ 08 Sep 2012, 08:24) *
Да, но в случае водной зоны он её не ставит, даже если поставить большую ценность прохода.


Ну так опять же - сделать по одной зоне к каждовой стартовой ну и соединить с центральной, которая будет охраняться
Sav
Ну в общем да, должно работать.
Sadness
Цитата(Sav @ 08 Sep 2012, 12:01) *
Ну в общем да, должно работать.

YESS!))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.