Сообщество Империал: Создание моделей VariantMeshDefinitions. Часть 2. - Сообщество Империал

Стратегии, Игровые Миры, История, Total War
Стратегии, Игровые Миры, История, Total War
  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

K0rw1n Создание моделей VariantMeshDefinitions. Часть 2.
Разбираемся с моделями экипировки
Тема создана: 08 Февраль 2014, 00:54 · Автор: K0rw1nСообщений: 99 · Просмотров: 5 901

  • 10 Страниц
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
Crassus contra Spartacus* Tiberius S. Gracchus
K0rw1n
  • Imperial
Imperial
2 661
Imperial
45
Imperial
276
Imperial
3 661
Imperial
3

Дата: 08 Февраль 2014, 00:54

Первую часть туториала можно найти Для просмотра ссылки Зарегистрируйесь .
Туториал по работе с текстурами - Для просмотра ссылки Зарегистрируйесь .

В данной части туториала речь пойдет об создания моделей брони и оружия.
Итак начнем с головы, а если точнее с того, что на нее одевается – со шлемов.
Попробуем создать новый шлем для нашего гоплита.
За основу возьмем модель фригийского шлема, который был распространен среди греческих и эллинистических пехотинцев в то время.
Прописываем:
<VARIANT_MESH>
<SLOT name="helmets" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/helmets/hellenic_phyrgian_elite.rigid_model_v2" >
</VARIANT_MESH>
</SLOT>
</VARIANT_MESH>
И получаем рис 1.
Но простой шлем не годится для нашего гоплита (предположим он щеголь ). Добавим ему плюмаж, которые находятся в папке crests. А так как количество гопитов щеголей будет в отряде примерно 60%, то введем параметр ограничивающий наличие плюмажей на шлеме (probability ="0.6"). Тогда наш шлем будет выглядеть так (рис.2):
<VARIANT_MESH>
<SLOT name="helmets" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/helmets/hellenic_phyrgian_elite.rigid_model_v2" >
<SLOT name="top_crests" attach_point="crest_centre" probability ="0.6" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_white.rigid_model_v2" />
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_red.rigid_model_v2" />
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_black.rigid_model_v2" />
</SLOT>

</VARIANT_MESH>
</SLOT>
</VARIANT_MESH>
Кстати заметьте, что правило нескольких моделей действует и м модели снаряжения, т.е 1/3 из 60% гоплитов будет иметь плюмаж белого цвета, 1/3 – красного и 1/3 – черного.
Движок игры позволяет вешать плюмажи на правой и левой сторонах шлема. Пропишем, что появляться они будут только у 30% :
<VARIANT_MESH>
<SLOT name="helmets" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/helmets/hellenic_phyrgian_elite.rigid_model_v2" >
<SLOT name="top_crests" attach_point="crest_centre" probability ="0.6" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_white.rigid_model_v2" />
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_red.rigid_model_v2" />
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/phyrgian_crest_1_black.rigid_model_v2" />
</SLOT>
<SLOT name="side_crests" attach_point="crest_left,crest_right" probability ="0.3" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/white_horsehair_01.rigid_model_v2" />
<VARIANT_MESH model="variantmeshes/_variantmodels/man/crests/yellow_horsehair_01.rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
</SLOT>
</VARIANT_MESH>
Итоговый результат мы можем наблюдать на рисунке 3.
Imperial

Украшения на боковых сторонах шлема могут быть и только на одной стороне, тогда имя слота приобретет вид:
<SLOT name="side_crests" attach_point="crest_left " probability ="0.3" > - плюмаж только на левой стороне;
<SLOT name="side_crests" attach_point=" crest_right" probability ="0.3" > - плюмаж только на правой стороне.
Переходим к тому, из-за чего гоплит получил свое имя – щиту гоплону или аспису.
<VARIANT_MESH>
<SLOT name="shields" >
<VARIANT_MESH>
<SLOT name="shields" >
<VARIANT_MESH model="variantmeshes/_variantmodels/man/shield/hellenic_shield_hoplon.rigid_model_v2" /> – простой щит без рисунка (рис. 4)
<VARIANT_MESH model="variantmeshes/_variantmodels/man/shield/hellenic_shield_hoplon_decal. rigid_model_v2" decal_diffuse="variantmeshes/_variantmodels/man/patterns/hellenic/round_gorgona_medusa_diffuse" decal_normal="VariantMeshes/_VariantModels/man/patterns/hellenic/decal_normal" /> – щит с рисунком. Тут вы видите меш самого щита, а так же дополнительные текстуры diffuse и normal, они накладываются как маска поверх основной текстуры щита и имеют префикс decal – или наклейка, картинка. Это позволяет не создавая новых текстур назначить любые гербы, царапины, вмятины и т.д, Таким образом применяя различные текстуры декалей мы можем добиться большого разнообразия щитов. На самом деле, ссылка идёт не сам файл текстуры, а на файл в котором перечислены эти текстуры. В файле находится несколько текстур с разными орнаментами, т.е установив decal_ текстуру, вы выбираете не одну а сразу столько её вариаций сколько прописано в файле decal_. Изображение шита мы видим на рисунке 5.
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/shield/hellenic_shield_hoplon_painted2. rigid_model_v2" decal_diffuse="VariantMeshes/_VariantModels/man/patterns/hellenic/decal_diffuse" decal_normal="VariantMeshes/_VariantModels/man/patterns/hellenic/decal_normal" imposter_model="VariantMeshes/_VariantModels/man/shield/hellenic_shield_hoplon. rigid_model_v2" mask0="1" mask1="0" /> – тоже щит с декалью, но у него есть отличия от предыдущего. Обратите внимание на параметр " mask0="1" mask1="0" этот параметр позволяет накладывать маску: подкраску по вертексам меша, что делает возможным внести цветовое многообразие в меши. . Цвета масок установлены для фракций т.е у каждой фракции есть 3 варианта масок, которые находятся в таблице: data_rome2.pack\db\faction_uniform_colours_tables\faction_uniform_colours, в которой первый столбик фракции и три варианты цвета, на каждый по три колонки - это цвета Для просмотра ссылки Зарегистрируйесь . Еще один параметр на который стоит обратить внимание – imposter_model. Он используется для создания 2-D спрайтов моделей видимых на большом отдалении (вспоминаем первые сегун и медивал). Если спрайт блока не прописан, то эту часть юнита мы не увидим на отдалении. Потому важно прописывать их для одежды и щитов. Изображение шита мы видим на рисунке 6.
</SLOT>
</VARIANT_MESH>
</SLOT>
</VARIANT_MESH>

Imperial

И напоследок о создании одежды. Наш гоплит будет одет в тунику, поверх которой оденем линторакс (Рис.7).

Imperial

<VARIANT_MESH>
<SLOT name="tunics" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/hellenic_tunic_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>

<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/hellenic_tunic_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" mask0="2" mask2="0" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" mask1="2" mask2="1" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" mask1="2" mask2="1" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" mask0="1" mask1="0" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/tunics/italian_tunic1_cut.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/tunics/e3_tunic.rigid_model_v2" mask0="2" mask2="0" >
<SLOT name="armour" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_01.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_02.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/armour/linothorax_quilted_03.rigid_model_v2" imposter_model="VariantMeshes/_VariantModels/man/armour/carthaginian_linothorax_a. rigid_model_v2" />
</SLOT>
</VARIANT_MESH>
</SLOT>
</VARIANT_MESH>

Тут также повторяются все приемы, которые мы рассмотрели выше. Используя полученные навыки я думаю вы уже без труда разберетесь, как создавать различные модели для игры используя существующие меши и текстуры.
Счастливого вам творчества. И успехов в этом начинании.
    ZhoiYn
    • Imperial
    Imperial
    822
    Imperial
    2
    Imperial
    28
    Imperial
    727
    Imperial
    0

    Дата: 22 Сентябрь 2015, 14:51

    А возможно ли прописывать probability сразу у VariantMeshReference или VariantMesh model? Вроде этого:
    <VARIANT_MESH model="..." probability = 0.5/>
      K0rw1n
      • Imperial
      Imperial
      2 661
      Imperial
      45
      Imperial
      276
      Imperial
      3 661
      Imperial
      3

      Дата: 23 Сентябрь 2015, 15:59


      В большинстве случаев нельзя. Лучше создавать свои модели и потом вводить их в игру. Для примера создадим файл cloak1.VariantMeshDefinition с текстом :

      <VARIANT_MESH>
      <SLOT name="cloaks" probability ="0.6" >
      <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour.rigid_model_v2" />
      </SLOT>
      </VARIANT_MESH>

      Потом если понадобятся отряд с 60% плащами, то в файле модели просто пропишите свой файл с плащами:

      <SLOT name="cloaks" >
      <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\cloak1.VariantMeshDefinition" />
      </SLOT>

      Главное не забыть поместить свой файл в мод.
        ZhoiYn
        • Imperial
        Imperial
        822
        Imperial
        2
        Imperial
        28
        Imperial
        727
        Imperial
        0

        Дата: 27 Сентябрь 2015, 20:29

        А существуют ли ограничения на модели или их разновидности в VariantMeshDefinition?
          K0rw1n
          • Imperial
          Imperial
          2 661
          Imperial
          45
          Imperial
          276
          Imperial
          3 661
          Imperial
          3

          Дата: 27 Сентябрь 2015, 21:59


          Ну насколько я слышал, то игра вроде бы пропускает модели если их в списке больше 5, т.е.:
          <VARIANT_MESH>
          <SLOT name="cloaks" probability ="0.6" >
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour1.rigid_model_v2" />
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour2.rigid_model_v2" />
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour3.rigid_model_v2" />
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour4.rigid_model_v2" />
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour5.rigid_model_v2" />
          <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour6.rigid_model_v2" />
          </SLOT>
          </VARIANT_MESH>

          то <VARIANT_MESH model="variantmeshes\_variantmodels\man\cloak\celtic_chieftain_cloak/ celtic_chieftain_cloak_armour6.rigid_model_v2" /> и строки ниже в данном блоке игра не прочитает.

          В остальном ограничений вроде бы нет. Количество моделей тоже можно делать неограниченно, но не стоит забывать, что переизбыток контента приводит к увеличению размера мода и тормозам игры.
            ZhoiYn
            • Imperial
            Imperial
            822
            Imperial
            2
            Imperial
            28
            Imperial
            727
            Imperial
            0

            Дата: 11 Октябрь 2015, 10:57

            Уважаемый KOrw1n, в ходе манипуляций столкнулся с необходимостью менять распределение фракционных цветов по щитам и доспехам, но никаких туторов по этому вопросу не нашел. В связи с этим прошу помочь разобраться с параметрами mask0, mask1, mask2
              K0rw1n
              • Imperial
              Imperial
              2 661
              Imperial
              45
              Imperial
              276
              Imperial
              3 661
              Imperial
              3

              Дата: 11 Октябрь 2015, 14:23


              А их особо нет этих параметров. Все маски могут комбинироваться только в шесть комбинаций: 012, 120, 210, 021, 102 и 201.

              Если не указывать маски, то по умолчанию устанавливается комбинация масок 012.

              Первой маской идет окрашивание основной поверхности, второй и третьей маской - дополнительных поверхностей.


              Для примера посмотрим на маски итальянской туники italian_tunic1

              Imperial - комбинация 012 (цвета Карфагена)

              Imperial - комбинация 102

              Imperial - комбинация 210

              Рассмотрим файл маски italian_tunic1_mask.dds

              Imperial

              Маска_0 окрашена в красный цвет, маска_1 - в зеленый, маска_2 - синим цветом.

              Неокрашиваемые области отмечают черным цветом (в этом файле нет)
                ZhoiYn
                • Imperial
                Imperial
                822
                Imperial
                2
                Imperial
                28
                Imperial
                727
                Imperial
                0

                Дата: 12 Октябрь 2015, 07:27

                ничего не написано == 012
                mask0=1 mask1=0 == 102
                mask0=2 mask2=0 == 210
                Я верно понимаю?
                  K0rw1n
                  • Imperial
                  Imperial
                  2 661
                  Imperial
                  45
                  Imperial
                  276
                  Imperial
                  3 661
                  Imperial
                  3

                  Дата: 12 Октябрь 2015, 07:53

                  точно
                    Эpманарих
                    • Imperial
                    Imperial
                    256
                    Imperial
                    0
                    Imperial
                    1
                    Imperial
                    46
                    Imperial
                    0

                    Дата: 13 Декабрь 2015, 19:29

                    А можно ли к шлему приставить любой гребень?
                    И может это быть только один гребень?
                      • 10 Страниц
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • Последняя »
                      Дата: 24 Апрель 2018, 19:45
                      Дата: 26 Март 2018, 16:29
                      Дата: 20 Март 2018, 20:31
                      Дата: 15 Март 2018, 20:21
                      Дата: 08 Март 2018, 18:24
                      Дата: 21 Февраль 2018, 20:56
                      Дата: 20 Февраль 2018, 21:56
                      Дата: 23 Январь 2018, 20:00
                      Дата: 11 Январь 2018, 20:38
                      Дата: 30 Ноябрь 2017, 20:16
                      Дата: 28 Ноябрь 2017, 21:49
                      Дата: 14 Ноябрь 2017, 19:08
                      Дата: 26 Октябрь 2017, 20:23
                      Дата: 12 Октябрь 2017, 15:04
                      Дата: 10 Октябрь 2017, 04:11
                      Дата: 04 Октябрь 2017, 16:14
                      Дата: 28 Сентябрь 2017, 15:04
                      Дата: 19 Сентябрь 2017, 15:50
                      Дата: 25 Август 2017, 03:15
                      Дата: 24 Август 2017, 10:32
                      Дата: 24 Август 2017, 10:27
                      Дата: 05 Июль 2017, 23:05
                      Дата: 24 Май 2017, 06:23
                      Дата: 19 Май 2017, 22:57
                      Дата: 08 Апрель 2017, 18:57
                      Дата: 08 Апрель 2017, 18:38
                      Дата: 31 Март 2017, 19:31
                      Дата: 26 Март 2017, 15:26
                      Дата: 23 Март 2017, 22:37
                      Дата: 03 Март 2017, 00:14
                      Дата: 01 Март 2017, 22:04
                      Дата: 28 Февраль 2017, 21:19
                      Дата: 28 Февраль 2017, 20:46
                      Дата: 21 Февраль 2017, 20:31
                      Авторизация в Сообществе Империал:
                      Введите Ваше имя  
                      [Регистрация нового аккаунта]
                      Введите Ваш пароль 
                      [Восстановить пароль]

                      Воспользуйтесь одной из соц-сетей для входа на форум:


                      Внимание: Реклама отключена для зарегистрированных посетителей

                      Стиль
                         21 Май 2018, 05:54
                      © 2018 «Империал». Условия предоставления. Ответственность сторон. Декларация о Сотрудничестве. Лицензия зарегистрирована на: «Империал». Счётчики