Голосование

Как вы относитесь к китайской школе модостроения?












Оформление



Пользователей
  • Всего: 29069
  • Последний: Flavor217
Сейчас на форуме
Пользователи: 5
Гостей: 361
Всего: 366

0 Пользователей и 1 Гость просматривают эту тему.

Тема: [MS] Вторая часть. Модульная система, файлы map_icons и parties .  (Прочитано 61372 раз)

  • Сообщений: 143
    • Просмотр профиля
   Вторая часть.
Как было отмеченно в предыдущей главе, ваша работа с модульной системой заключается в:
  1) Редактировании одного или более module-файлов (которые начинаются с “module_ ...“ и заканчиваются с  “.py”) и вносить в них любые изменения на ваш вкус. (Обычно, вам нужно щелкнуть правой кнопкой мышки и выбрать Edit with IDLE/редактировать с IDLE чтобы сделать это).
  2) Затем, дважды щелкнуть на файле build_module.bat в папке где расположена модульная система. Это действие позволит сконструировать ваш модуль (и доложит об ошибках, если они есть).
  3) Если ошибок не отмечено, вы можете загрузить ваш модуль с помощью загрузчика Mount&Blade и проверить измения, которые вы сделали. Иногда вам будет необходимо начать новую игру,  для того чтобы изменения возымели эффект.

2.1 Редактирование module-файлов.

Модульная система использует python-овские списки (прим: по-простому - это блоки данных; для более продвинутых - список это составной тип данных, в конкретном случае составными элементами для него послужит тип данных определямый как запись). Python-овские списки начинаются  с квадратных скобок, внутри скобок находится список объектов, отделенных друг от друга запятыми, и заканчиваются они (списки) закрытием квадратных скобок. Если вы откроете и посмотрите любой module-файл, вы увидете, что он состоит из подобных списков. Для примера, файл 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) . В дальнейшем мы будем определять тип таких объектов как “запись” (прим: в английском руководстве "tuple").  (прим. 2:  запись/tuple это объект, состоящий из нескольких элементов. Эти элементы могут быть разных типов). Записи, как и списки, включают в себя элементы отделённые запятой, но в отличе от списков, они заключены в круглые скобки. Структура каждого объекта типа  “запись” объясняется вначале module-файла и отличается от файла к файлу.

Запись каждого значка на карте содержит следущие элементы:

1) название значка, которое мы увидим на карте (набор символов)
2) метки - задаваемые условия, влияющие на отображение (это определённые параметры, о них позже)
3) название модели, которая будет отображена (должно соответствовать названию файла модели без расширения)
4) размеры модели (число; 1 соответствует 100% величине)
5) идентификатор звука - идентификатор записи, содержащей данные звукового сопровождения (должен соответствовать названию звукового файла без расширения)

Итак, первая запись это - (“player”,0,'player”,0.2,snd_footstep_grass) -
1) Название значка на карте = “player”
2) Флаги = 0
3) mesh name/название модели = “player”
4) mesh scale/масштаб = 0.2
5) индентификатор звука = snd_footstep_grass

Изучая шапку файла с описаниями и анализируя затем содержимое списков, вы можете самостоятельно разложить все структуры игровых объектов в каждом из module-файлов.


2.2 Добавление новых игровых объектов

Изучив структуру записи значков на карте, мы можем приступить к добавлению наших собственных значков. Давайте посмотрим на следущий python-овский список:

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-файле должен быть добавлен внутрь списка. Как мы видим, список в 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 с нашего нового значка. Для этого заменим метку 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” - используют меш/модель “City”, это значит что оба используют одну и ту же 3D модель “City” в resource-файлах игры. Изменяя этот элемент мы можем сменить графическое отображение значка на любую 3D модель из resourse-файлов.

Т.к. оба значка используют одну и ту же 3D модель, то наш новый значок "new_icon" будет выглядеть в точности как значок "town".

Давайте попробуем задать нашему значку немного отличный от "town" облик.

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", когда мы добавим его в игру.

Далее мы создадим новый отряд (party) в файле module_parties.py  (прим: все объекты на игровой карте ислючая ландшафт являются “отрядами”), который будет использовать наш значок на карте. Чтобы сделать это, нам необходимо “сослаться” на созданный нами значок из файла module_parties.py.


2.3 Ссылки на игровые объекты

Откройте файл module_parties.py в папке с модульной системой. Нам предстоит разобрать другой python-овский список – parties = [.

Файл module_parties.py

Как видим, структура записей в module_parties.py отличается от module_icons.py. Впрочем как и многие - если не все - другие "module_" файлы. Пока есть возможность, изучим структуру этого.

В начале файла идёт расшифровка записи партий на английском.


 Далее идёт описание флагов:

...
no_menu = 0
#pf_town = pf_is_static|pf_always_visible|pf_hide_defenders|pf_show_faction
pf_town = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large
pf_castle = pf_is_static|pf_always_visible|pf_show_faction|pf_label_medium
pf_village = pf_is_static|pf_always_visible|pf_hide_defenders|pf_label_small
...


 Поговорим подробнее о Флагах:

 Флаги:

 pf_town
 pf_castle
 pf_village 

 В свою очередь содержат в себе несколько других флагов

 pf_is_static
 pf_always_visible
 pf_show_faction
 pf_hide_defenders
 pf_label_large
 pf_label_medium
 pf_label_small


 Насколько понимаю можно создать свой флаг и прописать ему нужные флаги, например как в module_parties.py из MS от TLD:

...
no_menu = 0
pf_tld_down  = pf_is_static|pf_always_visible|pf_show_faction|pf_label_large
...


 Таким образом например запись

...
  ("town_1","Sargoth",  icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-17.6, 79.7),[], 170),
...

 Реально выглядит

...
  ("town_1","Sargoth",  icon_town|pf_is_static|pf_always_visible|pf_show_faction|pf_label_large, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-17.6, 79.7),[], 170),
...

 Увидеть это можно сравнив флаги города Zendar с другими городами

...
  ("zendar","Zendar",pf_disabled|icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(18,60),[]),

  ("town_1","Sargoth",  icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-17.6, 79.7),[], 170),
...
  ("castle_1","Culmarr_Castle",icon_castle_a|pf_castle, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-101.3, -21),[],50),
...
  ("village_1", "Yaragar",  icon_village_a|pf_village, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-60, -9.5),[], 100),
...



 Рассмотрим свойства флагов

 Флаги разделяются между собой  |


 pf_disabled  -  исключает партию из игрового процесса

 pf_is_static  -  делает партию статичной на глобальной карте

 pf_always_visible  -  если убрать этот флаг, то объект будет виден на глобальной карте только при приближении игрока. Растояние видимости зависит от навыка ГГ - spotting , и от параметра seeing_range = 6.5(по умолчанию) который прописан в module.ini(находится...Warband\Modules\название мода)

 pf_show_faction  -  не могу точно сказать, как я понял от его наличия зависит возможность захватить замок или город

 pf_hide_defenders  -  не могу точно сказать, как я понял он противоположность к pf_show_faction его наличие отменяет возможность захватить замок или город

 pf_label_large, pf_label_medium, pf_label_small - по логике задают размер иконки, но на практике при присвоении иконки города(icon_town) - замку, уменьшения иконки не наблюдалось.



 Пару слов о "Повороте партии в градусах"

...
  ("town_1","Sargoth",  icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-17.6, 79.7),[], 170),
...

 Поворот партии в градусах изменяется от 0 до 360 (360=0, то есть фактически от 0 до 359 градусов), против часовой стрелки, при нуле ворота города смотрят на юг карты. Отсутсвие параметра в свойствах партии говорит о том, что он равен 0(как например у Zendar).

...
  ("zendar","Zendar",pf_disabled|icon_town|pf_is_static|pf_always_visible|pf_hide_defenders, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(18,60),[]),
...

Пример записи отряда:

("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) Идентификатор отряда. Служит для обращения к объекту из разных частей файла и из других файлов вообще.
2) Имя отряда. Это имя будет отображенно как название объекта в игре. Может быть отлично от индентификатора отряда, если пожелаете.
3) Метки отряда. Первая метка для каждого отряда (их может быть несколько, отделяются друг от друга значком “|”) должна указывать на значок, используемый при отображении отряда на карте.
4) Меню. Это поле устарело и с версии M&B 0.730 больше не используется.
5) Шаблон отряда. Индентификатор (ID) шаблона, к которому описываемый отряд принадлежит. Используйте метку “pt_none”, как значение по умолчанию.
6) Фракция отряда. Может иметь любое значение входящее в файл module_factions.py.
7) Характеристики отряда. Для объяснения значения Personality/характеристика смотри и разбирай записи из файла header_parties.py.
8) Поведение ИИ (искуственный интелект). Определяет как ИИ отряд будет действовать на глобальной карте.
9) Группы-цели для ИИ. Определяет цели для ИИ.
10) Инициализация координат. Определяет стартовое положение отряда на карте; X,Y.
       11.1) Идентификатор войска. Любое значение (как регулярные войска, так и герои) из файла module_troops.py.
       11.2) Число войск в описываемом стеке/отряде; не варьируется. То колличество, что введете, то и будет. (прим: имеетсе ввиду, что нельзя задать количество войск, определяющееся из заданного интервала, скажем: ..., (свадийские рыцари, от50..до60),...)
       11.3) Метки войска. Опционально, т.е. необязательно к заполнению. Используйте метку 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) Идентификатор отряда = “zendar"
2) Имя отряда = “Zendar”
3) Метки = icon_town|pf_is_static|pf_always_visible|pf_hide_defenders
4) Меню = "zendar"
5) Шаблон отряда = pt_none
6) Фракция отряда = fac_neutral
7) Характеристики отряда = 0
8) Поведение ИИ = ai_bhvr_hold
9) Отряды-цели ИИ = 0
10) Координаты отряда на глобальной карте = (2,46)
11) Список войск
       11.1) Индентификатор = trp_swadian_knight
       11.2) Число войск в этом стеке = 6
       11.3) Метки войск = 0

Рассматривая поле (3), мы можем заметить, что Zendar ссылается на значок  “town”  из файла module_icons.py, добавляя перед его именем префикс icon_. Этот префикс указывает системе на соответствующий module-файл, где описан данный объект. Для того, чтобы сослаться на файл module_icons.py мы будем использовать префикс icon_; для того, чтобы сослаться на module_factions.py мы будем использовать префикс fac_ ; для ссылки на module_parties.py префикс p_; и так далее. В конце статьи вы найдете список префиксов для каждого module-файла.

Теперь, когда мы знаем как "устроены" отряды, мы можем добавить свой. Но перед этим, стоит отметить следущее: в файле module_parties.py, как и в некоторых других module-файлах, не следует добавлять ваш новый объект в конец списка. Внутри самого файла вы даже найдёте предупреждение об этом. Добавление записи в неправильном месте может дизорганизовать работу кода игры. В файле module_parties.py, рекомендуется добавлять ваш новый объект в список parties между строками "training_ground"  и "castle_1".

Теперь, скопируем и вставим в место оговоренное выше строку начинающуюся как: ("town_14" ... 

  ("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 (объект town из файла icons_modules.py) и метку pf_town – метку, она добавляет общие свойства города. С полем меток мы ещё поэкспериментируем.
4) Mod Town принадлежит королевству Вегир.
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)]),

Мы поменяли значок нашего города на значок icon_new_icon, вставив вместо метки icon_town метку icon_new_icon. (прим. для несообразительных: префикс icon_ + название значка на карте;  icon_ +  new_icon =  icon_new_icon). А также, мы изменили координаты местоположения объекта на карте на (-1,-1) и изменили фракцию города на fac_neutral.

Город теперь использует наш значок при отображении на экран и обладает собственным местоположением на карте. И все это без особых проблемых. Побробуйте это сделать сами.

Сохраните ваш прогресс, а затем два раза щелкните на build_module.bat. И если все прошло хорошо, вы можете запустить ваш мод и увидеть новый город в центре карты.

Если все не прошло хорошо, внимательно проверьте синтаксические ошибки. Неправильно, в разных местах по разному, указаны свои же названия,  запятые и скобки не на своих местах. Плохой синтаксис наиболее распространенная причина всех ошибок. Не забывайте пробелы в начале записей, а также что надо ставить не кавычки на русской раскладке по shift+2, а двойной апостроф по shift+э на английской.

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

Как вы можете видеть, взаимосвязь различных файлов модульной системы может быть внешней. Каждая часть работы должна быть сделана в соответсвующем module-файле.


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


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

« Последнее редактирование: 17 Мая, 2015, 12:30 от Janycz »
  • Сообщений: 1
    • Просмотр профиля
У меня чуток не сходится :( хотя делаю все как инструкции :-\, а этот город не появляется :(  :( кто знает подскажите.....буду очень признателен

  • Сообщений: 273
    • Просмотр профиля
У меня тоже не сходится. Тут написано так
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 = [
  ("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), и т. д.
Что делать?


Людям быстрее надоедает есть, пить, танцевать и спать, чем воевать...
  • Сообщений: 4313
  • За регистрацию на форуме не позже сентября 2008 года
    • Просмотр профиля
У меня тоже не сходится. Тут написано так


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


Добавлено: 26 Января, 2010, 12:42
У меня чуток не сходится :( хотя делаю все как инструкции :-\, а этот город не появляется :(  :( кто знает подскажите.....буду очень признателен
никто кроме тебя и твоего компа, наверняка, представить себе не может, что у тебя не сходится там чуток.
если при сборке выдает ошибку - скрин в студию. если в игре ошибка - скрин в студию. если без ошибок везде, но город на карте не появляется, то смело можешь сделать всё заново, если не можешь выявить ошибку. если результат прежний - никаких ошибок, никаких городов, то опиши процесс создания. может, люди знающие, скажут, в чем проблема %)

  • Ник в M&B: Zaharist
  • Сообщений: 3
    • Просмотр профиля
При запуске build_module.bat - ошыбка   name error: name 'icon_new_icon'  is not defined.

  • Сообщений: 933
    • Просмотр профиля
не используйте эту метку,она не пропиана,напишите стандартную

  • Ник в M&B: Flanir
  • Сообщений: 2740
  • За создание крупных модов и других особо сложных проектов
    • Просмотр профиля
Vetal509
Хотя в файле module_map_icons.py
  ("banner_124",0,"map_flag_f19", banner_scale,0),
  ("banner_125",0,"map_flag_f20", banner_scale,0),
  ("banner_126",0,"map_flag_15", banner_scale,0),
  ("towna",0,"map_flag_15", banner_scale,0),
]

Иконка прописана.

После где-то 3-х часов аццкого брейн фака было выяснено что модульная система попросту ... невсегда обновляет id_*.py
Если получили такую ошибку то сначала проверяйте файл индексов соответвующий:

icon_banner_121 = 159
icon_banner_122 = 160
icon_banner_123 = 161
icon_banner_124 = 162
icon_banner_125 = 163
icon_banner_126 = 164

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

  • Ник в M&B: DRZ_Mark7
  • Фракция: Вегиры
  • Сообщений: 3
    • Просмотр профиля
В модульке для 1.011 немного структура другая. В неё подойдут записи с этой версии, или надо подредактировать???

Добавлено: 14 Марта, 2010, 21:12
icon_banner_121 = 159
icon_banner_122 = 160
icon_banner_123 = 161
icon_banner_124 = 162
icon_banner_125 = 163
icon_banner_126 = 164

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

а в ручную можно прописать??

« Последнее редактирование: 14 Марта, 2010, 21:12 от Vetal509 »
  • Сообщений: 2740
  • За создание крупных модов и других особо сложных проектов
    • Просмотр профиля
Vetal509, можно, но зачем если она сама добавиться спустя некоторое время...

  • Ник в M&B: DRZ_Mark7
  • Фракция: Вегиры
  • Сообщений: 131
    • Просмотр профиля
а как сделать так, чтобы на карте иконка игрока была одинаковой, независимо от того есть ли лошадь в слоте для лошади, или нет?


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

« Последнее редактирование: 26 Марта, 2010, 14:55 от бобик »
  • Сообщений: 933
    • Просмотр профиля
не прописал сцены,это надо делать в scenes.py, копируешь похожие строчки и всталяешь ниже

  • Ник в M&B: Flanir
  • Сообщений: 5
    • Просмотр профиля
Тем, у кого ничего не выходит, в module_info, возможно, стоит прописывать путь к моду такими слэшами "/", и ставить один такой в конце, после папки с вашим модулем. У меня из-за этого ничего не выходило. Да, и начните новую игру. Все должно получиться :)

  • Сообщений: 933
    • Просмотр профиля
Duff
это  думаю все узнают кто прочитает главу,вот из-за этого основыные проблемы бывют
во первых не должно быть пробелов(могут быть подчёркивания),русских букв,и путь должен сожержать не больше 5 остановок)

« Последнее редактирование: 20 Апреля, 2010, 16:03 от §~Vov@~§ »
  • Ник в M&B: Flanir
  • Сообщений: 2
    • Просмотр профиля
Выдаёт ошибку name error: name 'icon_new_town'  is not defined
,когда пишу стандартое название town то размер и моего и других городов увеличивается ,как сделать чтоб только мой город увеличился,и вобше почиму такую ошибку выдаёт.

  • Сообщений: 11
    • Просмотр профиля
у меня вообще какаято белебирда!!

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_file version 1
165
player 0 player 0.150000 17 0.150000 0.173000 0.000000 0

player_horseman 0 player_horseman 0.150000 111 0.150000 0.173000 0.000000 0

gray_knight 0 knight_a 0.150000 111 0.150000 0.173000 0.000000 0

vaegir_knight 0 knight_b 0.150000 111 0.150000 0.173000 0.000000 0

flagbearer_a 0 flagbearer_a 0.150000 111 0.150000 0.173000 0.000000 0

flagbearer_b 0 flagbearer_b 0.150000 111 0.150000 0.173000 0.000000 0

peasant 0 peasant_a 0.150000 17 0.150000 0.173000 0.000000 0

khergit 0 khergit_horseman 0.150000 111 0.150000 0.173000 0.000000 0

khergit_horseman_b 0 khergit_horseman_b 0.150000 111 0.150000 0.173000 0.000000 0

axeman 0 bandit_a 0.150000 17 0.150000 0.173000 0.000000 0

woman 0 woman_a 0.150000 17 0.150000 0.173000 0.000000 0

woman_b 0 woman_b 0.150000 17 0.150000 0.173000 0.000000 0

town 1 map_town_a 0.350000 0 0 0 0 0

town_steppe 1 map_town_steppe_a 0.350000 0 0 0 0 0

village_a 1 map_village_a 0.450000 0 0 0 0 0

village_burnt_a 1 map_village_burnt_a 0.450000 0 0 0 0 0

village_deserted_a 1 map_village_deserted_a 0.450000 0 0 0 0 0

camp 1 camp_tent 0.130000 0 0 0 0 0

ship 1 boat_sail_on 0.230000 17 0.000000 0.050000 0.000000 0

ship_on_land 1 boat_sail_off 0.230000 0 0 0 0 0

castle_a 1 map_castle_a 0.350000 0 0 0 0 0

castle_b 1 map_castle_b 0.350000 0 0 0 0 0

castle_c 1 map_castle_c 0.350000 0 0 0 0 0

castle_d 1 map_castle_d 0.350000 0 0 0 0 0

town_snow 1 map_town_snow_a 0.350000 0 0 0 0 0

village_snow_a 1 map_village_snow_a 0.450000 0 0 0 0 0

village_snow_burnt_a 1 map_village_snow_burnt_a 0.450000 0 0 0 0 0

village_snow_deserted_a 1 map_village_snow_deserted_a 0.450000 0 0 0 0 0

castle_snow_a 1 map_castle_snow_a 0.350000 0 0 0 0 0

castle_snow_b 1 map_castle_snow_b 0.350000 0 0 0 0 0

mule 0 icon_mule 0.200000 17 0.150000 0.173000 0.000000 0

cattle 0 icon_cow 0.200000 17 0.150000 0.173000 0.000000 0

training_ground 1 training 0.350000 0 0 0 0 0

bridge_a 1 map_river_bridge_a 1.270000 0 0 0 0 0

bridge_b 1 map_river_bridge_b 0.700000 0 0 0 0 0

bridge_snow_a 1 map_river_bridge_snow_a 1.270000 0 0 0 0 0
]

кот знает в чем дело??? :cry:

Вот мне всегда было интересно, кто определяет что корм для Кошек стал вкуснее???
  • Сообщений: 449
    • Просмотр профиля
 Не уверен, но рискну предположить две вещи:
 1. Ты открыл не тот файл. Больше похоже на ТХТ-шник, чем на  *.py из модульки.
 2. Мануалы под МиБ, причем вроде под одну из беток, т.е на ВБ будет малость иначе.

  • Сообщений: 1705
  • ЗАБАНЕН!
    • Просмотр профиля
хМайоРх, ты открыл текстовый файл. Нужно открывать файл модульной системы map_icons.py

И да, советую бросить это дело. И прятать длинные куски текста под спойлер. =\

  • Сообщений: 449
    • Просмотр профиля
Цитировать (выделенное)
И да, советую бросить это дело.
Нет ну зачем так? Старается ведь товарищь. А опыт - дело наживное. Очень радует тот факт, что он с модульки начал (вернее пытается начать), а то модульщиков кот наплакал :(

  • Сообщений: 11
    • Просмотр профиля
Ага, значит через ТХТ не открываьт!  а тогда как???

Я, просто в этом деле еще новичок!!! И не все понимаю, но первая часть модульной системы у меня прошла на ура!!!, а вот со второй, тоесть с этой частью у меня не получается!!

А зачем нужен питон 2.6 и как с ним работаьт?

« Последнее редактирование: 11 Сентября, 2010, 07:13 от хМайоРх »
Вот мне всегда было интересно, кто определяет что корм для Кошек стал вкуснее???
  • Сообщений: 1705
  • ЗАБАНЕН!
    • Просмотр профиля
хМайоРх, вам сюда: http://rusmnb.ru/forum/index.php?topic=5710.0
И желательно начать с первого урока: http://rusmnb.ru/forum/index.php?topic=2940.0 а потом уже только читать об иконках и партиях.

  • Сообщений: 11
    • Просмотр профиля
А я уменя первй урок, получился, все работает ошибок нету!

А  Вот еще  у меня файл map_icons открывается ток через ТХТ а через питона не открывается выдает ошибку!!!

и если запустиьт MOUN and blade она будет работать а то  у меня начинается загрузка и выдает ошибку, что не может найти фал BRF!!!


« Последнее редактирование: 11 Сентября, 2010, 08:15 от хМайоРх »
Вот мне всегда было интересно, кто определяет что корм для Кошек стал вкуснее???
  • Сообщений: 1705
  • ЗАБАНЕН!
    • Просмотр профиля
GreyB, ты все еще так думаешь?)

Цитировать (выделенное)
А я уменя первй урок, получился, все работает ошибок нету!
Собсно что именно работает? Файлы модульки открываются? При запуске build_module мод нормально собирается?

Цитировать (выделенное)
А  Вот еще  у меня файл map_icons открывается ток через ТХТ а через питона не открывается выдает ошибку!!!
А вы пытались открыть .txt файл с помощью питона?  Ммда, месье знает толк в извращениях!

Еще раз советую ВНИМАТЕЛЬНО прочитать первый урок по МС, особенно начиная с пункта 1.3

Цитировать (выделенное)
и если запустиьт MOUN and blade она будет работать а то  у меня начинается загрузка и выдает ошибку, что не может найти фал BRF!!!
Трогать папку Resourse и файл module.ini, не разобравшись что там и зачем нужно, крайне нежелательно. Переустановите игру.


  • Сообщений: 11
    • Просмотр профиля
 При запуске build_module мод нормально собирается?

да работает все нормально, так как показано в пункте 1.5, в самом конце!!!
 
А вы пытались открыть .txt файл с помощью питона?  Ммда, месье знает толк в извращениях!

а как еще открыть???

[/quote]

а что ты хотел от 13 летнего подростка и на клаве я печатаю быстро!!!!! :laught:

и я уже несколько раз прочитал урок №1 но так нечего и не понял! может я где то что то пропустил?

Вот мне всегда было интересно, кто определяет что корм для Кошек стал вкуснее???
  • Сообщений: 1705
  • ЗАБАНЕН!
    • Просмотр профиля
хМайоРх, все файлы, которые нужно изменять, находятся в папке модульной системы. Текстовики вообще трогать не нужно.

  • Сообщений: 11
    • Просмотр профиля
Млин!!, не знаю что уже делать! >:( я уже и игру переустановил, сделал все как написано, на 2 часть модульной системы, даже не смотрел, а Игра не запускается >:( >:( В чем дело???

когда включаю игру сночала идет все нормально, но потом когда идет загрузка текстур,  останавливается,выдает ошибку и  ВЫЛЕТАЕТ!! я уже не знаю,что Делаьт! >:( >:(

И причем имменно мой мод не запускается, а обычный Native спокойно зходит!

Вот эта ошибка! http://floomby.ru/content/3hRgCYgvMk/

http://floomby.ru/content/fZfY4ityEE/ вот тут у меня все прально но может ты гдето найдеш шибку, а то я теряюсь в догатках!

« Последнее редактирование: 11 Сентября, 2010, 13:47 от хМайоРх »
Вот мне всегда было интересно, кто определяет что корм для Кошек стал вкуснее???

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC