Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29191
  • Последний: dielit
Сейчас на форуме
Пользователи: 0
Гостей: 551
Всего: 551

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

Тема: [MS] Добавление новой секции для юнитов (NW)  (Прочитано 4102 раз)

  • Сообщений: 103
    • Просмотр профиля
Ссылка на оригинальный туториал

Какие преимущества добавления новой секции? Вы можете добавить целую кучу юнитов, без того чтобы искать место для них в существующих секциях. Это просто и эффективно, особенно для модификаций, которые могли бы использовать пространство.

Это результат, которого мы будем добиваться в этом уроке:

Файлы, которые мы будем изменять (выделены зеленым цветом):

- module_strings
- module_presentations
- module_constants
- module_scripts

Название раздела

Мы назовем наш новый раздел, например, "Bydanders". Вы можете изменить имя вашего раздела на какое вам заблагорассудится. Для этого вам придется везде заменить "bydanders" на Ваше название.

Начало работы

Давайте начнем с module_strings, так как мы должны начать с создания нового string, который будет использоваться в презентации.
Это будет название раздела.
Найдите ("cavalry", "Cavalry"),Поместите под этим:
  ("bydanders", "Bydanders"),
Теперь мы направимся в module_presentations, чтобы создать новый раздел.
 
Найдите         (create_mesh_overlay, reg0, "mesh_white_plane").
        (Overlay_set_color, REG0, 0x000000),
        (Overlay_set_alpha, REG0, 0xD0),
        (Position_set_x, Pos1, 370),
        (Position_set_y, Pos1, 660),
        (Overlay_set_position, REG0, Pos1),
        (Position_set_x, Pos1, 5500),
        (Position_set_y, Pos1, 1600),
        (Overlay_set_size, REG0, Pos1),

Поместите под этим (при этом оставьте одну строку между этими блоками текста):
        (create_mesh_overlay, reg0, "mesh_white_plane"),
        (overlay_set_color, reg0, 0x000000),
        (overlay_set_alpha, reg0, 0xD0),
        (position_set_x, pos1, 370),
        (position_set_y, pos1, 610),
        (overlay_set_position, reg0, pos1),
        (position_set_x, pos1, 5500),
        (position_set_y, pos1, 1600),
        (overlay_set_size, reg0, pos1),

Найдите         (create_button_overlay, "$g_presentation_obj_select_cavalry", "str_cavalry", 0),
        (try_begin),
          (eq, "$g_multiplayer_select_presentation_unit_type", troop_select_type_cavalry),
          (overlay_set_color,"$g_presentation_obj_select_cavalry",0xECEB82),
        (else_try),
          (overlay_set_color,"$g_presentation_obj_select_cavalry",0xFFFFFF),
        (try_end),
        (position_set_x, pos1, 255),
        (position_set_y, pos1, 660),
        (overlay_set_position, "$g_presentation_obj_select_cavalry", pos1),
        #(position_set_x, pos1, 1500),
        #(position_set_y, pos1, 1500),
        #(overlay_set_size, "$g_presentation_obj_select_cavalry", pos1),
        (troop_set_slot,"trp_x_pos","$g_presentation_obj_select_cavalry",250),
        (troop_set_slot,"trp_y_pos","$g_presentation_obj_select_cavalry",660),
        (troop_set_slot,"trp_x_size","$g_presentation_obj_select_cavalry",1000),
        (troop_set_slot,"trp_y_size","$g_presentation_obj_select_cavalry",1000),

Под этим, (пропустив одну строку) разместите следующее:
        (create_button_overlay, "$g_presentation_obj_select_bydanders", "str_bydanders", 0),
        (try_begin),
          (eq, "$g_multiplayer_select_presentation_unit_type", troop_select_type_bydanders),
          (overlay_set_color,"$g_presentation_obj_select_bydanders",0xECEB82),
        (else_try),
          (overlay_set_color,"$g_presentation_obj_select_bydanders",0xFFFFFF),
        (try_end),
        (position_set_x, pos1, 370),
        (position_set_y, pos1, 610),
        (overlay_set_position, "$g_presentation_obj_select_bydanders", pos1),
        #(position_set_x, pos1, 1500),
        #(position_set_y, pos1, 1500),
        #(overlay_set_size, "$g_presentation_obj_select_bydanders", pos1),
        (troop_set_slot,"trp_x_pos","$g_presentation_obj_select_bydanders",300),
        (troop_set_slot,"trp_y_pos","$g_presentation_obj_select_bydanders",660),
        (troop_set_slot,"trp_x_size","$g_presentation_obj_select_bydanders",1000),
        (troop_set_slot,"trp_y_size","$g_presentation_obj_select_bydanders",1000),

Найдите:       (else_try),
          (eq,":object","$g_presentation_obj_select_cavalry"),
          (assign, "$g_multiplayer_select_presentation_unit_type",troop_select_type_cavalry),
          (presentation_set_duration, 0),
          (start_presentation,"prsnt_multiplayer_item_select"),

Под этим поместите
        (else_try),
  (eq,":object","$g_presentation_obj_select_bydanders"),
          (assign, "$g_multiplayer_select_presentation_unit_type",troop_select_type_bydanders),
          (presentation_set_duration, 0),
          (start_presentation,"prsnt_multiplayer_item_select"),
(убедитесь, что между новым разделом и началом раздела артиллерии есть (else_try))

Следующий файл: module_constants

Найдите troop_select_type_artillery
Под этим поместите:troop_select_type_bydanders = 4
Теперь мы идем в последний файл, module_scripts для того, чтобы назначить юнитов для нового раздела.
Найдите:
(assign,":unit_type",troop_select_type_artillery),
Между этим и (try_end) поместите следующее:
(else_try),
  (is_between, ":troop_no", "trp_british_infantry2","trp_british_highlander"), # Brits

      (assign,":unit_type",troop_select_type_bydanders),

(Вы можете разместить тут тех юнитов, которые захотите. На данный момент в нашем новом разделе размещены british_infantry2 и british_highlander) [не знаю, почему у меня только один юнит получился в разделе, может где-то когда-то поменял порядок войск англичанам, не помню, но скрипты рабочие]

Запустите build_module.bat и проверьте, если ли ошибки, если нет ни одной - отличная работа!


Вы можете создать несколько разделов, просто повторите описанные выше шаги и немного поэкспериментируйте с положением раздела.

Если есть какие-либо вопросы, не стесняйтесь задавать их!

Удачи,
Gokiller

« Последнее редактирование: 02 Апреля, 2015, 13:21 от Ivkolya »
  • Ник в M&B: Ivkolya
  • Сообщений: 3
    • Просмотр профиля
0
« Ответ #1 : 14 Апреля, 2015, 11:22 »
Спасибо, отличный туториал! :)


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


Powered by SMF 2.0 | SMF © Simple Machines LLC