Всадники Кальрадии

Модификации => Обмен опытом (в помощь мододелу) => Тема начата: MasterLichLord от 02 Августа, 2017, 16:03

Название: Создание полнофункциональных стандартных поселений в версии 1.011
Отправлено: MasterLichLord от 02 Августа, 2017, 16:03
Я столкнулся с проблемой поиска кратких мануалов по этой теме и, героически ее освоив, предлагаю создать небольшой конкретный мануальчик.

Сделать поселения без модульки сложно и не нужно по причине сдвига ID партий. Настройка и первичное обучение модульке возьмут меньше времени, чем отлавливание блох даже после добавления деревни. Добавить же в конец файлов строчки нельзя, так как игровая логика делит их по классам, а классам отведено конкретное место в файле. Есть параметры типа чтототам_end, при нарушении которых игра не работает.
_____________________________________________________
Самое главное - меняйте номер населенного пункта. Деревня 200, старшина деревни 200, также со всем народом. Это самое нудное, но малейшая ошибка - и работать ничего не будет.

деревня -

module_troops.py - старшина с новым номером
module_scenes.py - копировать строчки сцен с новым номером плюс скопировать сцену с новым именем в папке sceneobj
module_parties.py - копировать партию и изменить чуть чуть координаты

замок -

module_troops.py - сенешаль с новым номером
module_scenes.py - копировать строчки сцен с новым номером плюс скопировать сцены с новым именем в папке sceneobj
module_parties.py - копировать партию и изменить чуть чуть координаты
module_scripts.py - добавить соответствие замка фракции. Учти, могут переназначиться ближайшие деревни, в том числе поменять фракцию. Строчка такого типа:
      (call_script, "script_give_center_to_faction_aux",
Скрипт атаки замка с осадной башней для соответствующих сцен. Строчка такого типа:
      (party_set_slot,"p_castle_1", slot_center_siege_with_belfry,

город - самое нудное -

module_troops.py - сенешаль, мастер арены, бронник, оружейник, тавернщик, торговец, гильдмастер (майор) с новыми номерами. У мастера арены, держателя таверны и магазина нужно заменить номер сцены в этой же строчке.
module_scenes.py - копировать строчки сцен с новым номером :центр, крепость с сенешалем, таверна, магазин, арена, тюрьма, стены, аллея - плюс добавить файлы сцен в папке sceneobj
module_parties.py - копировать партию и изменить чуть чуть координаты
module_scripts.py - добавить соответствие города лорду. С деревнями те же пироги. Строчка такого типа:
      (call_script, "script_give_center_to_lord",
Аренный скрипт тоже дописать надо. 7 строк, первая такого типа:
     (party_set_slot,"p_town_18", slot_town_arena_melee_1_num_teams,   2),
Город тоже может быть атакован с башней. Скрипт такого типа
  (party_set_slot,"p_town_1", slot_center_siege_with_belfry,
Караванные пути добавить (я вообще советую сменить логику караванных путей. Четвертая часть городов - торговые центры, каждый посылает по десятку караванов. Остальные только принимают и отправляют назад. Если добавляешь много городов - так проще редактировать). Строчка такого типа:
(call_script, "script_set_trade_route_between_centers"
_____________________________________________________

Таким образом, у вас получаются полнофункциональные населенные пункты. Насчет варбанда нужно проверять, работает ли этот мануал там.

Возможные баги и адреса решения:

1.Если город появляется нейтральный - ошибка в скриптах.
2. Нет действующего лица (торговца, старейшины) - ошибка в troops.py
3. Здания торчат над землей/под землей - код земли в scenes.py не соответствует высоте расположения зданий в файле sco в папке sceneobj.

Автор: High_priest_of_Ru
Название: Re: Создание полнофункциональных стандартных поселений в версии 1.011
Отправлено: Van от 03 Августа, 2017, 11:23
работает на Варбанде. должен