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

Модификации => Обмен опытом: Mount&Blade => Обмен опытом (в помощь мододелу) => Инструкции и уроки по созданию модификаций => Тема начата: AlxCruel от 14 Октября, 2008, 08:41

Название: [MS] Модульная система ч.2
Отправлено: AlxCruel от 14 Октября, 2008, 08:41
Часть2: Редактирование файлов модульной системы

Внимание! Информация актуальна для модульной системы старой версии игры. В новой версии (под 1.011) возможны расхождения с текстом.

Как было описано в предыдущей главе, работа с модульной системой состоит в следующем:

1) Открываем для редактирования один или более модульных файлов(они начинаются с module_ и заканчиваются расширением .py) и вносим желаемые изменения.

2) После чего, запускаем файл build_module.bat(двойным кликом на него). Этим вы произведете сборку модуля и получите список ошибок, если таковые будут.

3) Если ошибок не будет, можно запустить Mount&Blade и проверить внесенные изменения. Иногда придется начинать новую игру, чтобы увидеть внесенные изменения.

2.1 – Редактирование модульной системы
Модульная система использует списки языка Python для представления коллекций игровых объектов.  (Python-список начинается '[', включает список объектов разделяемых запятыми и оканчивается ']' ) Если вы откроете и посмотрите любой модульный файл – увидите, что он содержит такие списки. Например module_map_icons.py содержит:

map_icons = [
  ("player",0,"player", 0.2, snd_footstep_grass),
  ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
  ("gray_knight",0,"knight_a", 0.2, snd_gallop),
  ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
  ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
  ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
  ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
  ("woman",0,"woman_a", 0.2,snd_footstep_grass),
  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
]


Тут map_icons описаны как Python-список и каждый элемент списка это описание объекта значка карты. Например, ("player",0,"player", 0.2, snd_footstep_grass) – такой объект. Эти объекты называются запись. Записи как и списки содержат элементы разделенные запятыми (но начинаются и оканчиваются круглыми скобками). Структура каждой записи описана вначале каждого модульного файла. Для значков карты каждая запись содержит:

1 ) название значка,
2 ) флаги,
3 ) название 3D модели,
4 ) масштаб,
5 ) звуковой идентификатор.

Для первой записи ("player",0,"player", 0.2, snd_footstep_grass)

1 ) название значка = "player"
2 ) флаги = 0
3 ) название 3D модели = "player"
4 ) масштаб = 0.2
5 ) звуковой идентификатор = snd_footstep_grass

Узнать структуру объектов для каждого модульного файла можно прочитав документацию вначале каждого из них.

2.2 –Добавление новых объектов
Теперь, зная структуру записей map_icons, мы можем добавить собственные значки карты. Еще раз посмотрим на список.

map_icons = [
  ("player",0,"player", 0.2, snd_footstep_grass),
  ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
  ("gray_knight",0,"knight_a", 0.2, snd_gallop),
  ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
  ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
  ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
  ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
  ("woman",0,"woman_a", 0.2,snd_footstep_grass),
  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
]

Новые игровые объекты в любом модульном файле можно добавлять только внутри списка. Как видно, список для module_map_icons  оканчивается записью  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass).   Чтобы освободить место для нашего нового объекта опустим квадратную скобку на строчку ниже. Теперь можно добавить объект. Проще всего это сделать, скопировав уже существующий объект и отредактировав необходимые параметры. Например:

map_icons = [
  ("player",0,"player", 0.2, snd_footstep_grass),
  ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
  ("gray_knight",0,"knight_a", 0.2, snd_gallop),
  ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
  ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
  ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
  ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
  ("woman",0,"woman_a", 0.2,snd_footstep_grass),
  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
  ("new_icon",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
]

В этом примере мы скопировали ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass) и дали ему новое имя  "new_icon". Этот новый значок имеет флаг. Флаги можно взводить и сбрасывать, включая или удаляя их названия из соответствуюшего поля. Например, флаг mcn_no_shadow нашего нового значка означает, что он не будет отбрасывать тень.  Уберем этот флаг у нашего нового значка. Чтобы это сделать , заменим mcn_no_shadow на 0, обозначив таким образом, что наш значок не имеет никаких флагов.

map_icons = [
  ("player",0,"player", 0.2, snd_footstep_grass),
  ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
  ("gray_knight",0,"knight_a", 0.2, snd_gallop),
  ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
  ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
  ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
  ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
  ("woman",0,"woman_a", 0.2,snd_footstep_grass),
  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
  ("new_icon",0,"City", 0.9,snd_footstep_grass),
]

Оба значка "town" и "new_icon" используют 3D модель "City", которая хранится в ресурсных файлах игры. Изменяя это поле, мы можем использовать любую 3D модель из ресурсных файлов.
Т.к. оба значка "town" и "new_icon" используют одну и туже 3D модель, в игре они будут выглядеть абсолютно одинаково.  Сделаем так, чтобы "new_icon" выглядела немного подругому.

map_icons = [
  ("player",0,"player", 0.2, snd_footstep_grass),
  ("player_horseman",0,"player_horseman", 0.2, snd_gallop),
  ("gray_knight",0,"knight_a", 0.2, snd_gallop),
  ("vaegir_knight",0,"knight_b", 0.2, snd_gallop),
  ("peasant",0,"peasant_a", 0.2,snd_footstep_grass),
  ("khergit",0,"khergit_horseman", 0.2,snd_gallop),
  ("axeman",0,"bandit_a", 0.2,snd_footstep_grass),
  ("woman",0,"woman_a", 0.2,snd_footstep_grass),
  ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass),
  ("new_icon",0,"City", 5.0,snd_footstep_grass),
]

В этом примере мы изменили масштаб значка с 0.9 на 5.0. Это означает, что он будет отображаться в пять раз больше своего нормального размера. Это поможет нам отличить его от "town" после внедрения в игру.
Далее мы создадим новую группу в module_parties.py, которая будет использовать новый значок. Для этого нужно сослаться на значок из module_parties.py.

2.3 – Использование объектов в других модулях
Откроем файл module_parties.py. В нем, мы видим другой Python-список - parties = [.
Как видно, структура записи в module_parties.py сильно отличается от module_icons. Это справедливо почти для всех модульных файлов. Изучим подробнее структуру записей, описывающих группы.
Например группа:

("zendar","Zendar",icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, "zendar", pt_none, fac_neutral,0,ai_bhvr_hold,0,(2,46),[(trp_swadian_knight,6,0)]),

Эта запись располагает город  Zendar на карте. Различные свойства Zendar-а описаны в соответствующих полях, аналогично тому, как это было в module_icons.py.

Разберем структуру записи:
1 ) Party-id  - Используется для ссылки на объект из других файлов.
2 ) Party name – Название игры, которое будет использоваться в игре. Оно может отличаться от Party-id.
3 ) Party flags – Поле содержащее флаги. В качестве первого флага указывается название значка на карте, который будет использовать группа.
4 ) Menu – Это поле не используется в игре после версии 0.730.
5 ) Party-template – Идентификатор принадлежности к группе. По умолчанию - pt_none.
6 ) Party faction – Указывается фракция к которой принадлежит группа. Это может быть любая фракция из module_factions.py.
7 ) Party personality –За пояснения можно посмотреть в header_parties.py.
8 ) AI-behaviour – Описывает поведение группы на глобальной карте.
9 ) AI-target party - Цель деятельности группы.
10 ) Initial coordinates – Начальные координаты на глобальной карте ( X, Y).
11 ) List of troop stacks – Стек войск, каждый элемент стека содержит следующие поля:
 11.1 ) Troop-id – идентификатор вида войска из module_troops.py.
 11.2 ) Number of troops in this stack – Количество войск данного вида в стеке.
 11.3 ) Member flags – Используется по необходимости. (Флаг pmf_is_prisoner спользуется, чтобы показать войска или персонажей находящихся в плену).


Рассмотрим запись группы Zendar:

("zendar","Zendar",icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, "zendar", pt_none, fac_neutral,0,ai_bhvr_hold,0,(2,46),[(trp_swadian_knight,6,0)]),

1 ) Party-id = "zendar"
2 ) Party name = "Zendar"
3 ) Party flags = icon_town|pf_is_static|pf_always_visible|pf_hide_defenders
4 ) Menu = "zendar"
5 ) Party-template = pt_none
6 ) Party faction = fac_neutral
7 ) Party personality = 0
8 ) AI-behaviour = ai_bhvr_hold
9 ) AI-target party = 0
10 ) Initial coordinates = (2,46)
11 ) List of troop stacks:
 11.1 ) Troop-id = trp_swadian_knight
 11.2 ) Number of troops in this stack = 6
 11.3 ) Member flags = 0

Как видно, в 3-м поле записи Zendar-а ссылка на значок  "town" из module_icons.py с добавленным префиксом «icon_».  Этот префикс указывает системе нужный модульный файл. Соответсятвенно используются : icon_ для module_icons; fac_ для module_factions; p_ для module_parties и т.д. Префиксы соответствующие каждому файлу можно найти в конце этого раздела.


Попробуем добавить новую группу. Но прежде обратите внимание: Не стоит добавлять свой город в конец списка групп. Это может привести к нарушению функций оригинального кода. В модуле module_parties.py рекомендуется вставлять новые города между "training_ground" и "castle_1".
Скопируй те "town_14" и вставьте между "training_ground" и "castle_1".

  ("training_ground","Training Ground",  icon_town|pf_town|pf_disabled, "training_ground", pt_none, fac_vaegirs,0,ai_bhvr_hold,0,(-2,-3),[(trp_vaegir_knight,6,0)]),

  ("new_town","Mod_Town",  icon_town|pf_town, "town", pt_none, fac_vaegirs,0,ai_bhvr_hold,0,(-4,-37),[(trp_vaegir_knight,6,0)]),

  ("castle_1","Culmarr_Castle",icon_town|pf_is_static|pf_always_visible, "castle", pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-47,-51),[(trp_swadian_knight,5,0),(trp_swadian_crossbowman,25,0)]),

В этом примере мы сменили идентификатор группы с "town_14" на "new_town" и название с "Halmar" на "Mod_Town".
Таким образом:

1) Чтобы сослаться на этот объект из других файлов нужно использовать идентификатор "new_town" с префиксом "p_", т.е.  "p_new_town".
2) В игре мы будем видеть название "Mod Town" описывающее группу и никогда идентификатор.
3) Эта группа использует значок icon_town и флаг pf_town.Этот флаг дает группе общие свойства города.
4) "Mod Town" принадлежит фракции Vaegir-ов.
5) Координаты нашего города на глобальной карте те же, что и у Halmar-а.
 
  ("training_ground","Training Ground",  icon_town|pf_town|pf_disabled, "training_ground", pt_none, fac_vaegirs,0,ai_bhvr_hold,0,(-2,-3),[(trp_vaegir_knight,6,0)]),

  ("new_town","Mod_Town",  icon_new_icon|pf_town, "town", pt_none, fac_neutral,0,ai_bhvr_hold,0,(-1,-1),[(trp_vaegir_knight,6,0)]),

  ("castle_1","Culmarr_Castle",icon_town|pf_is_static|pf_always_visible, "castle", pt_none, fac_outlaws,0,ai_bhvr_hold,0,(-47,-51),[(trp_swadian_knight,5,0),(trp_swadian_crossbowman,25,0)]),

Итак, мы сменили значок нашего города с town на icon_new_icon, координаты на (-1,-1), а фракцию на fac_neutral.
Итак, все готов, чтобы увидеть новый значок на карте. Сохраните все изменения внесенные в файлы модульной системы и запустите build_module.bat. Если все пройдет успешно, можно запустить наш мод и увидеть новый город с новый город с новым значком в центре карты.
Если сборка модуля не удалась, внимательно проверьте все выполненные действия. Тщательно проверьте, что все скобки и запятые расставлены правильно. Наиболее частая причина ошибок -  неверный синтакиси.
Игровой заезд в город сейчас приведет к сражению, т.к. у города нет присвоенного игрового меню. Этой задачей мы займемся в более поздних главах документации.

Список префиксов:

fac_   -- module_factions.py
icon_   -- module_map_icons.py
itm_   -- module_items.py
mnu_   -- module_game_menus.py
mno_   -- module_game_menus.py -- References an individual menu option in module_game_menus.
mt_   -- module_mission_templates.py
psys_   -- module_particle_systems.py
p_      -- module_parties.py
pt_   -- module_party_templates.py
qst_   -- module_quests.py
script_   -- module_scripts.py
scn_   -- module_scenes.py
spr_   -- module_scene_props.py
str_   -- module_strings.py
trp_   -- module_troops.py
Название: Re: Перевод документации по мддингу
Отправлено: ReGeST от 17 Октября, 2008, 15:10
Странно. Почему нет остальных. И почему именно 2-я?)
Название: Re: Модельная система ч.2
Отправлено: ReGeST от 30 Октября, 2008, 04:29
Этот новый значок имеет флаг. Флаги можно взводить и сбрасывать, включая или удаляя их названия из соответствуюшего поля.


Это как? ;)
Название: Re: Модельная система ч.2
Отправлено: Unknown от 31 Октября, 2008, 19:13
А где инструкция по диалогам и квестам?
Название: Re: Модельная система ч.2
Отправлено: Zaharist от 01 Ноября, 2008, 00:55
А где инструкция по диалогам и квестам?

есть в английском варианте публикации на эти темы.
 а вообще, модули схожи очень. да и они написаны с достаточным количеством коментариев и вообще сами по себе понятны.
Название: Re: Модельная система ч.2
Отправлено: Trimod от 03 Ноября, 2008, 00:13
Вы забыли дописать одну маленькую, но ОЧЕНЬ важную деталь. Чтоб увидеть изменения надо начинать новую игру.(Долго до меня доходило почему нет изменений:-)
Название: Re: Модельная система ч.2
Отправлено: Unknown от 03 Ноября, 2008, 18:35
Напишите, пожалуйста, все идентификаторы - лордов, городов и т.д. Или скажите, как их найти
Название: Re: Модульная система ч.2
Отправлено: Unknown от 03 Ноября, 2008, 20:52
Звиняй, пожалуйста. Я просто ещё не понял, что и куда. Вот щас думаю, как создать персонажа, чтобы он был только в таверне саргота.... Пробовал на основе рамуна из Тихра, но что-то не получилось...
Название: Re: Модульная система ч.2
Отправлено: ShadowMas от 06 Ноября, 2008, 01:07
Люди тут вопрос возник можно ли с помощью модульной системы добиться,что бы при надивании к шлема(в данном случаи короны или обруча) не исчезали волосы или голова? А то как то интересно смотрица все лысые :)
Или это особенность движка игры?
Название: Re: Модульная система ч.2
Отправлено: ConstantA от 06 Декабря, 2008, 04:46
Люди тут вопрос возник можно ли с помощью модульной системы добиться,что бы при надивании к шлема(в данном случаи короны или обруча) не исчезали волосы или голова? А то как то интересно смотрица все лысые :)
Или это особенность движка игры?
Можно. Надо волосы из разряда "волосы" перенести в разряд "бороды" и они перестанут исчезать. Только вот такие "бородоволосы" с нормальными бородами совместить нельзя будет.
Название: Re: Модульная система ч.2
Отправлено: Rongar от 06 Декабря, 2008, 12:40
можно ещё флаг itp_doesnt_cover_hair выставить у головнового убора, тоже будут волосы видны.
Название: Re: Модульная система ч.2
Отправлено: ShadowMas от 06 Декабря, 2008, 19:57
Ок спасибо этот вопрос задавали как то по поводу модели короны...Так как король какой то лысый получался :)
Название: Re: Модульная система ч.2
Отправлено: секатор от 06 Декабря, 2008, 21:46
а разве при добавлении ,не возникнут проблемы (допустим  через макушку шлема торчит хвост,или еще там какая то шевелюру?) .Зачастую в некоторых шлемах при длинной бороде так и выходит(токо не намакушке))
Название: Re: Модульная система ч.2
Отправлено: Rongar от 07 Декабря, 2008, 18:06
а разве при добавлении ,не возникнут проблемы (допустим  через макушку шлема торчит хвост,или еще там какая то шевелюру?)
Для короны будет нормально.
Зачастую в некоторых шлемах при длинной бороде так и выходит(токо не намакушке))
чтобы усы из-под шлема не торчали, можно поставить флаг itp_covers_head, но подходит только для совсем закрытых шлемов.
Название: Re: Модульная система ч.2
Отправлено: TKane от 07 Декабря, 2008, 18:23
Технически, в facegen волосы и шлем - это одно и то же, а именно, модель, надеваемая на голову. Если одновременно надеть несколько таких моделей (волосы и шлем), то они и показаны будут одновременно, что приведёт к пролезанию волос сквозь шлем. Если "шлем" (или "волосы") сделаны с учётом их взаимоналожения, проблем не будет (например, та же корона), в прочих случаях может быть забавно :)

Флаг "itp_covers_head" запрещает показывать всё, кроме самого объекта с этим флагом :)
Название: Re: Модульная система ч.2
Отправлено: 111Hunter от 13 Декабря, 2008, 23:56
Часть2: Редактирование файлов модульной системы

2.3 – Использование объектов в других модулях
Откроем файл module_parties.py. В нем, мы видим другой Python-список - parties = [.
Как видно, структура записи в module_parties.py сильно отличается от module_icons. Это справедливо почти для всех модульных файлов. Изучим подробнее структуру записей, описывающих группы.
Например группа:

("zendar","Zendar",icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, "zendar", pt_none, fac_neutral,0,ai_bhvr_hold,0,(2,46),[(trp_swadian_knight,6,0)]),

чтобы сделать Зендар принадлежащим например фракции Kalridian Empire, нужно поменять fac_neutral на  fac_Kalrid_Empire (такой y нее  ID), правильно?
и вся инфа об этом храниться в parties.txt  или изначальная принадлежность городов фракциям задаеться гдето еще?
Название: Re: Модульная система ч.2
Отправлено: Rongar от 14 Декабря, 2008, 00:06
Изначальная принадлежность задается в parties. Но она может меняться и для большинства городов она меняется на нужную в script_game_start.
Название: Re: Модульная система ч.2
Отправлено: 111Hunter от 14 Декабря, 2008, 10:16
Изначальная принадлежность задается в parties. Но она может меняться и для большинства городов она меняется на нужную в script_game_start.
а можно об этом по подробней, плиз
Название: Re: Модульная система ч.2
Отправлено: Rongar от 14 Декабря, 2008, 13:18
В module_scripts.py
есть скрипт game_start
в нём есть
вызовы
script_give_center_to_lord
script_give_center_to_faction_aux
которые определяют, кому что достанется.

Название: Re: Модульная система ч.2
Отправлено: upucka от 16 Декабря, 2008, 21:33
проблема. сделал все как написано. запускаю буилд_модуль всё проходит как по маслу, а при запуске игры игра  вылетает


взял мод_сис из темы парт1
v1.011
Взял под ученическую основу мод SoD - Invasion (русифицирован)
Название: Re: Модульная система ч.2
Отправлено: Rongar от 16 Декабря, 2008, 23:30
upucka,
нефига не понял, поэтому общий траблшутинг.
Модульная система создаёт только часть файлов, для полноценной работы мода  необходимы сцены (*sco), карта, module.ini, game_variables.txt.
Кроме того, если мод добавляте свои объекты, то могут быть нужны текстуры, brf,
музыка.
Название: Re: Модульная система ч.2
Отправлено: upucka от 17 Декабря, 2008, 00:49
не. я скопировал целый мод и использовал только имеющиеся там ресурсы. нового ничего не добавлялнеумею.
Название: Re: Модульная система ч.2
Отправлено: Rongar от 17 Декабря, 2008, 01:28
Честно говоря не знаю, в чем может быть дело. На всякий, случай спрошу.
Билдишь сурсы мода?
Название: Re: Модульная система ч.2
Отправлено: upucka от 17 Декабря, 2008, 14:44
как я понял приустановке мод-сустема, в нем файлы содержат собственно мод native. И при запуске буилдера он собирает Натив?

а как в него засунуть мод то.

непонятно....
Название: Re: Модульная система ч.2
Отправлено: Rongar от 17 Декабря, 2008, 14:54
как я понял приустановке мод-сустема, в нем файлы содержат собственно мод native. И при запуске буилдера он собирает Натив?
угу.

а как в него засунуть мод то.
Никак. Нужны иходники мода, то, во что превратил модульную систему автор мода, то, из чего он собирате мод.
Название: Re: Модульная система ч.2
Отправлено: секатор от 18 Декабря, 2008, 20:19
Rongar.
в открытом шлеме как я понял есть скрипт при котором видны черты и   растительность головы(я просто сдел был открытый шлем ,а в итеме взял характеристику с закрытого.в итоге после чего у гг небыло видно лица).можно ли как то им воспользоватся в броне?сделать определенные части туловища открытыми?
Название: Re: Модульная система ч.2
Отправлено: Rongar от 19 Декабря, 2008, 00:08
Насколько я знаю, нельзя. Единственно, что можно сделать - это нарисовать доспех с участками тела, но, понятно, что это подходит только для неписей.
Название: Re: Модульная система ч.2
Отправлено: TKane от 19 Декабря, 2008, 19:36
Шлем - это часть комплексной модели головы, которая "собирается" из частей. Этим управляет не какой-то особый для открытых шлемов скрипт, а сам facegen. У закрытых шлемов выставлены флаги, отключающие отрисовку остальной части complex head.

Модели нательной брони [в M&B] более просты по устройству - это просто модели "тела в доспехах", которые заменяют собой "голую" модель. Здесь не реализована подгонка текстур открытых частей тела под модель головы (для совпадения расы, например), поэтому, если сделать, скажем, безрукавную накидку, то руки (кроме кистей) будут одного цвета у любого персонажа. В игре такое тоже есть - например, "синее платье" не имеет рукавов. При надевании его на мою кергитку результат был забавным - лицо смуглое, а руки бледные :)
Название: Re: Модульная система ч.2
Отправлено: Arsonist от 24 Января, 2009, 16:42
Задавал этот вопрос в нескольких местах уже, может непосредственно в теме по модульной кто ответит - " Квесты завязаны на скриптах, править их можно через Модульную систему и Питон непосредственно, так? Может опытные M&B мододелы подскажут -  есть ли где что нить типа мануала/тутора по этой теме или творческого обсуждения? "
P.S. Может кто подскажет с какими нибудь уроками скриптов на Питоне вообще
Название: Re: Модульная система ч.2
Отправлено: Rongar от 24 Января, 2009, 17:30
Arsonist, для работы с модульной системой знание питона не нужно ваще, ну там за исключением некоторых специфических вещей, которые в начале вообще не всплывут. 

Простейший квест делается так, добавляется диалог какой-нить неписе (в module_dialogs.py)
В условие диалога пишется что-то типа
(eq,"$My_quest_is_given",0),
В исполняемом коде диалога прописывается константа
(assing,"$My_quest_is_given",1),
Пишется доп. диалог с условиями
(eq,"$My_quest_is_given",1),
(player_has_item,"itm_quest_item"), #условие выполнения квеста
В исполняемом коде диалога прописывается
(eq,"$My_quest_is_given",2), #больше не давать.




Название: Re: Модульная система ч.2
Отправлено: Arsonist от 24 Января, 2009, 17:53
Rongar
Благодарю за пояснение.
P.S. Про уроки в питоне не в тему квестов спросил, так - вообщем)
Название: Re: Модульная система ч.2
Отправлено: SanekD от 02 Марта, 2009, 10:54
Кто-нить если возможно, сделай поправку, чтобы войско в замке не брало выплату. А то у меня недельная выплата составляет 2500. Где взять деньги, если будет 5 замков и два города?
Название: Re: Модульная система ч.2
Отправлено: Awallon от 14 Марта, 2009, 23:04

Вопрос снимается с повестки дня :) - надо было в инфо добавить последний "/" и всё встало на свои места...
Название: Re: Модульная система ч.2
Отправлено: Glit от 25 Марта, 2009, 14:02
А у меня почемута нет в конце ("town",mcn_no_shadow,"City", 0.9,snd_footstep_grass)

map_icons = [
  ("player",0,"player", avatar_scale, snd_footstep_grass, 0.15, 0.173, 0),
  ("player_horseman",0,"player_horseman", avatar_scale, snd_gallop, 0.15, 0.173, 0),
  ("gray_knight",0,"knight_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
  ("vaegir_knight",0,"knight_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
  ("flagbearer_a",0,"flagbearer_a", avatar_scale, snd_gallop, 0.15, 0.173, 0),
  ("flagbearer_b",0,"flagbearer_b", avatar_scale, snd_gallop, 0.15, 0.173, 0),
  ("peasant",0,"peasant_a", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
  ("khergit",0,"khergit_horseman", avatar_scale,snd_gallop, 0.15, 0.173, 0),
  ("khergit_horseman_b",0,"khergit_horseman_b", avatar_scale,snd_gallop, 0.15, 0.173, 0),
  ("axeman",0,"bandit_a", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
  ("woman",0,"woman_a", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
  ("woman_b",0,"woman_b", avatar_scale,snd_footstep_grass, 0.15, 0.173, 0),
  ("town",mcn_no_shadow,"map_town_a", 0.35,0),
  ("town_steppe",mcn_no_shadow,"map_town_steppe_a", 0.35,0),
  ("village_a",mcn_no_shadow,"map_village_a", 0.45, 0),
  ("village_burnt_a",mcn_no_shadow,"map_village_burnt_a", 0.45, 0),
  ("village_deserted_a",mcn_no_shadow,"map_village_deserted_a", 0.45, 0),
Название: Re: Модульная система ч.2
Отправлено: DenVer от 29 Марта, 2009, 14:49
кто нить подскажите как сделать на 1-2 фракции меньше?
Название: Re: Модульная система ч.2
Отправлено: Kain NOD от 31 Марта, 2009, 09:49
AlxCruel
 Подскажи если сможешь:
Как вставить новый город?( Модулька 1.011,Питон 2.6.1)
Название: Re: Модульная система ч.2
Отправлено: джуба от 26 Апреля, 2009, 01:43
как в мод добавить новый юнит через модульку?
Название: Re: Модульная система ч.2
Отправлено: ajurlov от 30 Апреля, 2009, 10:11
http://forums.taleworlds.net/index.php?PHPSESSID=8a4b75dd38d8dab7936cad190e3756ff&topic=8652.msg1525822#msg1525822
Вопрос к людям знающим модульную систему и английский язык. Вернее просьба. Если не трудно, сделайте пожалуйста этот хинт на русском. Очень нужно, а знаний маловато.
И как задавать в модульной системе стартовые отношения между фракциями, подскажите плиз.
Название: Re: Модульная система ч.2
Отправлено: бобик от 05 Июня, 2009, 14:06
огромная просьба к людям, знающим модульную систему: напишите подробно, как через модульку добавить нового наемника, или ветку наемников, чтобы они появлялись в тавернах
Название: Re: Модульная система ч.2
Отправлено: РокДракон от 09 Июня, 2009, 17:51
Результат моего вмешательства в модульку) Йа плакалЪ(от смеха) :D
Название: Re: Модульная система ч.2
Отправлено: Glit от 14 Июня, 2009, 21:38
как сделать чтоб когда враги наносят удар здоровье само восстанавливалась по техоньку
Название: Re: Модульная система ч.2
Отправлено: DenVer от 11 Июля, 2009, 16:43
у меня такой вопрос как сделать что бы патроны продавались?
Название: Re: Модульная система ч.2
Отправлено: секатор от 11 Июля, 2009, 23:22
DenVer В итеме ставиш галку напротив "в продаже".
Название: Re: Модульная система ч.2
Отправлено: DenVer от 12 Июля, 2009, 08:37
смертник, спс)))))