Paradox
©
Fisana

Перейти к содержимому


"); //]]>
Фотография

M2TW: ТУТОРИАЛЫ [ АРХИВ ]

моддинг туториалы

Сообщений в теме: 148

#141 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 08:49

Вопрос №61

Подготовка к работе с файлами анимации M2TW

1. Устанавливаем Python25 в любую удобную директорию на компьютере, затем идем по адресу Python25 / Tools / Scripts и видим там много разных файлов. Создай здесь папку, к примеру "Animation_M2TW", которую будем использовать для дальнейшего извлечения анимации.

2.Удаляем все файлы из архива редактирования анимации, кроме трех (только они нужны): animationlibrary, animationlibrary, animationutilities.
Пробуем запустить animationutilities - если вылезло окошко с меню, значит все работает нормально.

3. Просто закидываем конвертер Mesh_2_Ms3d_beta_1_8 в любую удобную директорию на компьютере и запускаем .ЕХЕ файл. Появляется окошко - в строчке "File" открываем "Convert" > ".MESH to .MS3D" и выбираем файл модели юнита. Например, Medieval II Total War / data / unit_models / _units / en_highlander\highland_rabble_lod0.mesh - появляются 2 кнопки "Proceed" и "Cancel" - выбираем второе после чего появяется файл модели в формате MS3D. Теперь можно открыть и нажать кнопку "Clear All".
Следует обязательно проверить, чтобы возле кнопки "Clear All" стоял флажок, только тогда моделька получит нормальный вид.
Сохраняем, ибо потом предстоит на этой модельки проверять файлы анимации.
Как правило, эти действия необходимо выполнить прежде чем начинать совмещение модели с файлом анимации.

Вопрос №62

Совмещение файлов 3д-модели анимации

1. Берем файл, например "MTW2_Knifeman_at_hi_a_punch_success.cas" в директории animations / MTW2_Knifeman распакованной анимации.
2. Копируем этот файл и переносим в ранее созданную папку "M2TW_animations". Туда же переносим и отредактированную (то есть уже конвертированую из .MESH в .MS3D) модель требующегося юнита.
3. Далее открываем animationutilities.py. В появившемся окне выбираем самую верхную кнопку - Anim Merge - и выбираем текущую 3д-модель. Сразу же после выбора модельки предлагается выбрать файл анимации. Выбираем приведенный в примере "MTW2_Knifeman_at_hi_a_punch_success.cas".
4. После выбора программа создаст новый файл - highland_rabble_animby_MTW2_Knifeman_at_hi_a_punch_success - это обьединение модели и анимации. Открываем этот новый файл и в верхней строке включаем шкалу анимации. Появившаяся внизу шкала используется для проигрывания кадров анимации. Чтобы включить просмотр анимации, в правом нижнем углу нажимаем квадратную кнопку "Anim", а затем рядом простую стрелку в право. Должна начать проигрываться анимация.

Вопрос №63

Работа с анимацией в Milkshape3D

В процессе работы с анимацией в Milkshape3D происходит так называемый эффект, когда программа "своровывает" первый кадр анимации: после сохранения файла анимации, который мы открыли, в игре будет глюк с ее проигрыванием. Когда она начнет проигрыватся, солдат на секунду исчезнет, а потом начнет действовать, и в конце замрет на секунду, будто замороженный.
Решение проблемы состоит в том, просто нужно это делать всегда после обьединения модели и анимации. Нажимаем на нижную левую кнопку-квадрат "Anim" (далее именуемая просто "Кнопка-квадрат"). Это нужно затем, чтобы выйти из режима редактирования и просмотра кадров анимации - для того чтобы модель была "распята крестом", а не была в движении. Теперь идем на верхную панель, заходим в "Tools" > "Reverse Animation", то есть обращаем анимацию вспять. Жмем кнопку-квадрат, чтобы вписать кадр. Добавляем ещt один кадр. Опять выходим из редактирования анимации нажимая кнопку-квадрат. Затем обращаем анимацию опять. Опять нажимаем кнопку квадрат и уже убираем один кадр, там где вписывали, то есть, к примеру, с 46 вернули на 45 кадров. Следует сохраняться как можно чаще - MilkShape3D иногда выводит сообщение об неизвестной ошибке, что чревато вылетами на десктоп. Теперь у нас есть неущербный файл анимации, который можно теперь править по своему усмотрению. Все это делается для возврата ВСЕХ кадров на СВОИ места, а при слиянии файла модели и файла анимации ВСЕ кадры смещаются на ОДНУ позицию в сторону нуля. И из-за этого, если мы сохраним анимацию в таком неисправленном виде, в игре эта анимация будет отображатся некорректно. А все эти "Tools" > "Reverse Animation" нужны для того чтобы тот первый кадр, который ушел с линейки, вернуть на нужную сторону. Только после проведения этих манипуляций мы можем перейти к полноценному редактированию анимации.

1. Q: Зачем постоянно жать "кнопку квадрат" ?

A: Это предохраняет нашу модель от деформации, можете попробовать обратить анимацию во время включенного режима редактирования - кадры обратятся, а модель испортится. Конечно, и предохраняя модель, иногда получается деформации, но очень редко.

2. Q: Почему нельзя вернуть спрятанный кадр и убрать нерабочий, тот что последний на шкале ?

A: Все предельно просто - MilkShape3D примитивна, ей можно без проблем создавать простые лоуполи модели по типу M2TW, но такую вещь что случается с кадрами анимации при слиянии исправить нормальным способом невозможно. Поэтому приходится идти на хитрость.

3. Q: А откуда вообще этот кадр появляется?

A: Видимо при слиянии файлов, кадры анимации смещаются по шкале в сторону нуля, т.е. первый кадр становится нулевым, второй первым, и так далее, ну а в конце появляется пустой кадр, потому что в анимации, к примеру 45 кадров, и поэтому смещенный заменяется пустым.

Сообщение отредактировал Master_TW_DAR: 28 Июль 2014 - 09:58

  • 0

#142 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 10:31

Вопрос №64

Редактирование файлов анимации M2TW в MilkShape3D

Примечание: Вырезка из конкретного примера.. На конкретных названиях и числах не следует здесь зацикливаться, важна логика самого процесса...

1. Начнем непосредственно редактировать кадры анимации.
Открываем наш исправленный файл и находим там на шкале, к примеру, кадр № 18. Вообще мы видим, что удар наносится не острием кинжала, а как бы кулаком. Попробуем это исправить.

2. Выбираем кость в закладке Joints под именем bone_Rhand, затем в закладке Model, выбираем Rotate и крутим кость кисти, затем кость предплечия bone_Relbow, и затем немного кость плеча bone_Rupperarm.

Внимание: Крутить кости сначала нужно в одной плоскости. Если требуется, то можно крутить и в другой плоскости. Иначе будут некрасивые корявые движения.

3. Теперь ни в коем случае ничего не трогать на шкале, иначе придется все делать сначала, ибо сбросится результат.
Заходим на верхнюю панель в Animate > Set Keyframe, либо нажимаем сочетание клавиш Ctrl+K. Это приводит к сохранению на 18-том кадре.
Сохраняем наш файл.

4. Итак, у нас есть нужное нам движение на 18-м кадре, но на 17-м и 19-м, и даже других кадрах другие несинхронные движения, то есть на 15-м, 16-м, 17-м кадрах наш юнит делает замах кулаком, а на 18-м колет кинжалом, ну а 19-м, 20-м и т.п. снова двигает кулаком. Приступаем к исправлению подобной анимации.
Переходим на 16-й кадр и стираем его. Делается это сочетанием клавиш Ctrl+Shift+K, либо командой Animate > Delete Кeyframe. Тоже самое делаем и с 17-м кадром, и с 19-м, и с 20-м. Теперь запускаем нашу анимацию в движение, чтобы посмотреть что получилось. Теперь наш колющий удар виден глазу, а не мелькает за одну секунду. Но чтобы это сохранить, нам нужно закрепить кадры № 16, 17, 19, 20 на шкале, иначе когда они будут проигрыватся в игре, наш юнит исчезнет и появится на 18 кадре, а потом снова исчезнет. На 16-м,17-м,19-м,20-м кадрах делаем Set Кeyframe, то есть закрепляем их.
5. Теперь, чтобы наш файл можно было сконвертировать в файл анимации M2TW, нужно сделать следующее:
- Выходим из режима редактирования анимации, нажав кнопку квадрат Anim.
- Идем на верхную панель Tools > Zero Joints, жмем ОК и сохраняем наш файл.

6. Дальше открываем нашу утилиту animationutilities. Выбираем кнопку Anim Extract, затем выбираем наш файл, и он становится .CAS - файлом с припиской "_modified". В нашем случае, это будет файл "MTW2_Knifeman_at_hi_a_punch_success_modified.cas".

Вопрос №65

Какие команды существуют для тех или иных видов анимации в M2TW ?

Изображение Нажмите, чтобы прочитать

Сообщение отредактировал Master_TW_DAR: 28 Июль 2014 - 10:05

  • 0

#143 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 11:39

Вопрос №66

Как перекрасить текстуру, при этом улучшив ее качество ?

Шаг 1 - дублируем нашу текстуру на новый слой (ctrl+J)
Изображение Нажмите, чтобы прочитать


Шаг 2 - применяем к текстуре фильтр (выбираем параметр фильтра размерностью до 0,3)
Изображение Нажмите, чтобы прочитать


Шаг 3
- применяем функцию наложения слоя (при этом четкость текстуры заметно увеличится)
Изображение Нажмите, чтобы прочитать


Шак 4 - выделяем на нашем наложенном слое, область которую нужно перекрасить, далее остается только поменять цвет выделенного фрагмента, это делается путем манипулирования такими функциями как: цветовой баланс, яркость\контраст, кривые, микшер каналов, оттенок\насыщенность... (зачастую достаточно первых двух..)
Изображение Нажмите, чтобы прочитать


ЗЫ как результат имеем более четкую перекрашенную текстуру :buba:
Изображение Нажмите, чтобы прочитать

  • 0

#144 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 12:39

Вопрос №213

Какие текстовые файлы используются используются для редактирования голосов, издаваемых в игре ?

Всего существует 3 вида голоса: general, heavy, light - по типам юнитов. Озвучка отдельного юнита невозможна, только типа голоса. К отдельному юниту можно привязать звук отклика (при выборе юнита мышкой проигрывается звук).

Теперь непосредственно список требуемых файлов:

data/sounds - директория размещения файлов voice.idx и voice.dat, чтобы их распаковать нужно использовать idx-архиватор.
data/sounds/local/battle_map - голоса юнитов на тактической карте.
data/sounds/local/camp_map - голоса юнитов на стратегической карте.
export_descr_sound_unit.txt - текстовик озвучки юнитов на тактической карте (звуки, как правило, проигрываются после команд, данных игроком).
export_descr_sounds_soldier_voice.txt - текстовик озвучки юнитов (солдат, входящих в подразделение) на тактической карте (звуки проигрываются автоматически - звуки смерти, крика при чардже и т.д.).
export_descr_sounds_advice.txt - текстовик озвучки советов в игре.
export_descr_sounds_narration.txt - текстовик озвучки постановочных сражений.
export_descr_sounds_prebattle.txt - текстовик озвучки речей перед сражениями.

Вопрос №214

Краткое руководство по прописи звуковых акцентов в M2TW

accent English - акцент.
element VNV_OPENING - это скриптовая команда, означающая какие именно слова будут произнесены.
VnV
trait BadCommander - если трейт, плохой командир.
event
folder data/sounds/Voice/Human/Localized/Pre_Battle_Speech - путь к файлу.
xEnglish_Intro_1_1.mp3 - название файла.
xEnglish_Intro_1_2.mp3
xEnglish_Intro_1_3.mp3
end - конец проигрывания файлов для трейта плохой командир и т.д..

accent English - акцент, в файле descr_sounds_accents можно привязать акцент к определенной фракции.
class General - всего существует 3 типа голоса general, heave, light. Все они прописываются в export_descr_unit в строке voice type.
vocal Individual_Attack_Grunt - скриптовая команда, крик при замахе оружием.
event mindist 0.75 priority 120 volume -20 probability .4 - дистанция проигрывания звука от камеры, громкость.
folder data/sounds/Voice/Human/Localized/Battle_Map - путь к файлам.
Empire_General_Individual_Attack_Grunt_1.wav - название файла.
end


Вопрос №215

Скриптовые команды, отвечающие за озвучку юнитов на тактике

vocal Individual_Attack_Scream - скриптовая команда крика при ударе.
vocal Individual_Celebrate - крики отдельных воинов при победе.
vocal Individual_Charge - крики воинав при чардже.
vocal Individual_Confirm - ответ солдат на ваши приказы ("да, сэр", "выполняю, милорд").
vocal Individual_Death - звук смерти.
vocal Individual_Fall_Grunt - крики воинов при попадании по ним.
vocal Individual_Fall_Scream - предсмертный крики воина.
vocal Individual_Grunt - стоны, кряхтения, проигрываются в бою.
vocal Individual_Retreat - крики отдельных воинов, когда отряд бунтует и бежит с поля боя.
vocal Individual_Taunt - переговоры воинов перед битвой.
vocal Individual_Groan - стоны.
vocal Individual_Battle_Scream - разговоры воинов во время битвы. Различные выкрики, перебранки.

Примечание: С помощью редактирования этого файла можно придать особый колорит типу голоса. Именно озвучка отдельных солдат позволила придать атмосферы моду Call of Warhammer. Блягодаря этой возможности команде мода удалось озвучить различных монстров и женщин.

Сообщение отредактировал Master_TW_DAR: 28 Июль 2014 - 12:34

  • 0

#145 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 14:21

Вопрос №67

Как совместить файлы анимации и 3д-модель в M2TW ?

1) Требуется файл анимации, например "MTW2_Mace_ready_idle.cas", по адресу "\animations\MTW2_Mace\"

2) 3д-модель любого солдатика, без лишних вариантов и обьектов, только необходимое - голова, тело, руки, ноги, оружие (одно ближнебойное), щит (необязательно). Чем меньше всяких сумок, доспехов, одежд и прочая на модели, тем удобнее и проще работать с анимацией. Можно дойти до того, что вместо солдатика использовать геометрические фигуры, имитирующие скелет и сочленения. Моделька должна быть в конвертированном виде, т.е. в формате .MS3D.

Эти 2 файла нужно разместить в ту папку, установлен Goat.

Вопрос №68

Основные инструменты MilkShape3D, полезные для работы с анимацией

Все нижеуказанные команды для редактирования кадров анимации находятся в верхней строке, кнопка "Animate" и там уже выпадает следующее:

Operate On Selected JointsOnly - пока мы ее пропустим, но вернемся потом. Для начальных редактирования анимации, следует убрать галочку с этой кнопки.

Set Keyframe - эта кнопка сохраняет положение скелета и его костей в пространстве. Т.е. как надо сгибаешь скелет, нажав на эту кнопку, сохранишь положение всех костей и именно на том месте во времени, где располагается ползунок на шкале времени, которая отсчитывает кадры.

Delete Keyframe - если нужно стереть всю информацию по положению костей в пространстве, жмем эту кнопку. В случае, если нажата эта кнопку, а до ползунка шкалы времени-кадров и после ползунка есть сохраненные кадры, то на удаленном кадре кости расположатся по среднему значению, предыдущего и последующего кадров. Иногда полезно применять, чтобы сгладить движения в анимации, но если злоупотреблять, движения могут превратится в неестественные и "пластмассовые".

Copy Keyframe - копирует в буфер положение всех костей кадра, чтобы вставить в другой кадр с помощью Paste Keyframe.

Remove Keyframe - стирает ВСЕ кадры, вернее расположения костей на всех кадрах шкалы.

Rotate All - вращает кости, для работы с анимацией M2TW не пригодится, разве что в некоторых случаях, когда нужно точное изменение положения кости на своей оси.

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

Вопрос №69

Как правильно сохранить файл анимации для дальнейшего внедрения в игру ?

Чтобы сохранить ВСЮ анимацию в файле MilkShape3D, то нажимаем Save, никакие экспорты делать не нужно. Стоит отметить, что отдельно кадры не сохраняются. В итоге, готовую анимацию без пустых кадров нужно конвертировать в .CAS-формат.

Закрепляем ВСЕ КАДРЫ, конвертируем в .CAS и кидаем в data\animations\"любое название"\ или куда угодно, главное прописать адрес в скелетоне .ТХТ.

Вопрос №70

Типы анимации смерти, используемые в M2TW

Игра подразумевает несколько стандартных видов анимаций смерти:

1. die_forward_1 - смерть от удара спереди 1.
2. die_forward_2 - смерть от удара спереди 2.
3. die_backward_1 - смерть от удара сзади 1.
4. die_backward_2 - смерть от удара сзади 2.
5. die_to_back_right_1 - смерть от удара справа.
6. die_to_back_left_1 - смерть от удара слева.
7. die_falling_cycle - летит, но пока не падает.
8. die_falling_end - летит, падает и умирает, то есть завершает анимацию №7.

Но есть так называемые фаталити - связки плотные между атакой и смертью двух солдат. Тут тоже нет жесткой необходимости в двух скелетах, просто нужно запоминать, где, на каком кадре, что важного происходит. Но можно сделать и сразу с двумя солдатиками в одном файле, так сказать, для наглядности, что получается - берем два файла модельки MilkShape3D солдат, в одном всем костям в название добавляеv любой символ, логика подсказывает цифру 2, во второй файл вставляеv анимацию удара с помощью GOAT`а, затем В ФАЙЛЕ С МОДЕЛЬКОЙ, У КОТОРОЙ К НАЗВАНИЯМ КОСТЕЙ ПРИПИСАНО 2, наживаем в верхней строке file > merge и выбираем тот файл, в котором анимация удара и обьединяем.
Получится два скелета на одну анимацию, один, который не переименованный, будет анимирован, а вот второй придется анимировать.

Вопрос №71

Процесс внедрения анимации в M2TW

Первое и самое выжное. Для создания анимационного пака для игры, нужна распакованная анимация ВСЕХ анимационных наборов из файла descr_skeleton.txt из data папки ванилы или директории мода.

Существует возможность работы модов без анимационного пака, просто с папками незапакованной анимации за место паков.

Создавать анимационный пак прийдется на ваниле, т.е. оригинальном, не дополненном Kingdoms, M2TW. Если есть мод, использующий экзешник Kingdoms и при этом размещающийся в главной data папке ванилы, а не в папке mods, то можно пробовать создавать пак через запуск экзешника Kingdoms. В общем, если через двойной щелчек по эксешнику Кингдомса при загрузки игры не выдает ошибку, а нормально загружает до меню, то все хорошо, если же у игра вылетает, тол запускайте оригинальный medieval2.exe.

Собственно при запуске игры, игра создаст паки анимации по образу и подобию descr_skeleton.txt. Существуют следующие варианты развития событий при запуске игры (не считая вышеописанного вылета из за несовместимости ванильных файлов с kingdoms.exe):

1. При запуске игры, выдает черный экран или экран загрузки, с окошечком ошибки. Причины - ошибки в EDU и прочих файлах, поэтому перед тем как редактировать descr_skeleton.txt, убедитесь, что все работает без замены анимации. Если все работало до, но вылетает теперь, ошибка допущена в descr_skeleton.txt.
2. Меню игры загрузилось, выбрав пользовательское сражение и загружая его, происходит вылет, значит, допущена ошибка в descr_skeleton.txt.
3. Все работает, меню, битва и сам процесс битвы работают.

Принцип работы с descr_skeleton.txt заключается в следующем:

1. Делаете анимацию.
2. Открываете descr_skeleton.txt, выбираете анимацию, которой собираетесь добавить супер-удар, допустим, анимация пикенера:

anim eager_attack_centre_overhead_e_stab_success data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.cas -fr -id:0.129,0.970,3.954 -if:14 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.evt
anim eager_attack_centre_overhead_e_stab_fail data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_fail.cas -fr

anim eager_attack_centre_lo_a_stab_success data/animations/Warhammer_pike&halberd/W_Pike_at_lo_a_stab_success.cas -fr -id:0.276,0.305,4.409 -if:27 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_success.evt
anim eager_attack_centre_lo_a_stab_fail data/animations/Warhammer_pike&halberd/W_Pike_at_lo_a_stab_fail.cas -fr -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_fail.evt

Вставляем после последней анимации атаки (желательно все держать в кучках, чтобы не было все разбросано):

anim eager_attack_centre_overhead_e_stab_success data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.cas -fr -id:0.129,0.970,3.954 -if:14 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.evt
anim eager_attack_centre_overhead_e_stab_fail data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_fail.cas -fr

anim eager_attack_centre_lo_a_stab_success data/animations/Warhammer_pike&halberd/W_Pike_at_lo_a_stab_success.cas -fr -id:0.276,0.305,4.409 -if:27 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_success.evt
anim eager_attack_centre_lo_a_stab_fail data/animations/Warhammer_pike&halberd/W_Pike_at_lo_a_stab_fail.cas -fr -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_fail.evt

anim eager_attack_centre_mid_a_stab_success data/animations/SUPERPOWER/PWNED.cas -fr -id:0.276,0.305,4.200 -if:17 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_success.evt
anim eager_attack_centre_mid_a_stab_fail data/animations/SUPERPOWER/EPIC_FAIL!!!!1111.cas -fr -evt:data/animations/MTW2_Pike/MTW2_Pike_at_mid_e_stab_fail.evt


Итак, готово, сохраняем.

Но, разбирем подробнее. Желтым обозначены координаты нанесения удара, ИМЕННО она регулирует дальность, высоту и направление удара, это для математических расчетов, ваша же анимация может хоть воина вверх подбросить, главное поставить цифры. Далее, синим обозначен кадр, последний кадр перед самим ударом в анимации, т.е чисто визуально регулирует, чтобы защищающийся успел вовремя проиграть анимацию защиты. Возможно, играет роль и в обсчетах механики. Красным обозначен путь к текстовому файлу, в котором описано: какие звуки проиграть при анимации, когда и как долго.

3. Запускаем M2TW, загружаем битву и того юнита, у которого есть эта анимация. Смотрим бой и ждем момента проигрывания анимации, а он рано или поздно будет.

ВНИМАНИЕ, после каждого редактирования descr_skeleton.txt, удаляйте в data\animations\:
pack.dat
pack.idx
skeletons.dat
skeletons.idx

Рассмотрим подробнее саму строку:

anim eager_attack_centre_overhead_e_stab_success data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.cas -fr -id:0.129,0.970,3.954 -if:14 -evt:data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.evt

anim - начало каждой строки, в которой будет обозначена анимация, без этого игра не поймет что это анимация и ее надо использовать
eager_attack_centre_overhead_e_stab_success - команда анимации, об этом мы позже еще поговорим, пока же скажу, что именно команда определяет характер анимации, бег, защита, бездействие и т.п.
data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.cas - полный путь к анимации
-fr -id:0.129,0.970,3.954 - координаты удара в момент...
-if:14 - ...в момент определяемый этой величиной
-evt:data/animations/MTW2_Pike/MTW2_Pike_at_overhead_e_stab_success.evt - полный путь к текстовому файлу звуков

На этом примере - -fr -id:0.276,0.305,4.200

4.200 - дальность
0.305 - высота
0.276 - ширина

Все это прекрастно просматривается в MilkShape3D, если загрузить туда анимацию и на пике удара замерит окончание или около оружия, но естьодин ньюанс. Измерение НУЖНО вести от кости pelvis, потому и высота такая невысокая, иначе ваши воины буду бить только всадников в лучшем случае. Минусовые величины тоже возможны.
Также для того чтобы игра заработала без запаковывания анимации, нужно прописать в .CFG-файл следующие строки:

[util]no_animdb = true

Сообщение отредактировал Master_TW_DAR: 28 Июль 2014 - 13:59

  • 0

#146 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 28 Июль 2014 - 16:33

Вопрос №216

Как создать юнита с одним бойцом ?

Здесь описан способ создания отряда с единственным воином. Это может быть полезно для создания героев, монстров или уникальных персонажей, не обремененных "телохранителями". Итак, краткое руководство:

1. Создайте юнит типа слона (то есть использующий одиночную модель всадника в descr_model_battle.txt).

2. Создайте маленькую, невидимую модель, которая будет использована в качестве 'солдат' и разместите ее 'в модели всадника', в descr_mount.txt.

3. Пропишите только 2 всадника в descr_mount.txt.

4. Сделайте юнит из 20 солдат и 1 одного всадника в строке 'soldier' EDU.

5. Назначьте параметр "general_unit" отряду.

6. Создайте и пропишите трейт (характеристику) одиночных персонажей, который сильно уменьшит их Командование и Личную Безопасность. (-50).

Этот способ работает только в кампаниях, но не в кастомных битвах. Количество солдат, отображаемое на иконке юнита в режиме страткарты будет изменяться в зависимости от игровых настроек размера отряда, но в режиме боя у юнита будет виден только один всадник (единственный уникальный солдат, чьи спутники будут невидимы). Недостатки состоят в том, что эти персонажи будут уязвимы для убийц, вести себя в бою будут, как слоны, а после загрузки сэйва юнит будет полностью восстановлен (вновь станет иметь 2 или 4, в зависимости от размера солдата).

Вопрос №217

Каково назначение скриптовой команды add_settlement_turmoil ?

add_settlement_turmoil - добавляет волнения в указанный город.

Пример:

strat        [color="#FF0000"]newShortcut    F5[/color]        save_stratmap                S CTRL        load_stratmap                L CTRL        speedup_ai                    SPACE        stop_character                BACKSPACE        capital_zoom                HOME    H        burdel                F4        display_standards            J        toggle_character_labels        N CTRL        toggle_settlement_labels    T CTRL        diplomacy_overview_button    D        finances_button                F        construction_button            B        recruitment_button            R        faction_button                O        automerge_units                M        mission_button              C        zoom_in                        NUM_ADD            repeating        zoom_out                    NUM_SUBTRACT    repeating        reset_rally_point            DEL        disband                        D    CTRL        show_multi_turn_paths        EQUALS        select_next_selected        CLOSE_BRACKET        select_prev_selected        OPEN_BRACKET        end
Не забудьте сделать то же самое для множества камер FPS.

Теперь нам нужно назначить отображение для нашего ключа, так чтобы движок знал, в какой части игры наш ярлык будет использоваться.
Идем в секцию KEY MAPPINGS и в подразделе strat , добавим ярлыки. Это то, что я сделал:

strat        [color="#FF0000"]newShortcut    strat_ui[/color]        save_stratmap                    strat_ui        load_stratmap                    strat_ui        speedup_ai                        strat_ui        stop_character                    strat_ui        capital_zoom                    strat_ui        display_standards                strat_ui        toggle_character_labels            strat_ui        toggle_settlement_labels        strat_ui        quit                            strat_ui        diplomacy_overview_button        strat_ui        finances_button                    strat_ui        zoom_in                            strat_ui        zoom_out                        strat_ui        reset_rally_point                strat_ui        mission_button                  strat_ui        disband                            card_manager        show_multi_turn_paths            strat_ui        inc_scale                        radar            dec_scale                        radar        construction_button        recruitment_button        faction_button        automerge_units        campaign_hud        step_l                camera        step_r                camera        step_fwd            camera        step_bck            camera        rot_l                camera        rot_r                camera        select_next_selected            hud_select_next_item_cycle        select_prev_selected            hud_select_prev_item_cycle        end
Затем удалите preferences\keys.dat, в противном случае m2tw не будет разбирать наши descr_shortcuts.txt!

Если вы хотите добавить описание ярлыков, вы можете сделать это в shortcut.strings.bin. Это описание будет отображаться в меню F1, а также в главном меню опций.

Теперь campaign_script. Сейчас мы можем определить когда сработает наш ярлык

monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutend_monitor
"newShortcut" был назначен на F5, так что теперь всякий раз, когда нажата F5 и игра на страткарте, событие срабатывает.


Практическое применение
Это, конечно, будет бесполезно, если мы не можем делать интересные вещи с ним!
Например, мы можем позволить нашим генералам "покупать" определенные анчи.

monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutand I_AgentSelected named character    historic_event buying_ancillary trueend_monitormonitor_conditions I_EventCounter buying_ancillary_accepted = 1and         console_command give_ancillary this     set_event_counter buying_ancillary_accepted = 0end_monitor
Или, мы можем создать "депопуляцию" для города. Мы можем убить половину населения города в то время как завоевываем, но мы не можем сделать это когда уже правим городом.

monitor_event ShortcutTriggered ShortcutTriggered strat_ui newShortcutand I_ScrollOpen own_settlement_info_scroll    historic_event kill_citizens trueend_monitormonitor_conditions I_EventCounter kill_citizens_accepted = 1    if I_SettlementSelected         console_command add_population  -500    end_if    if I_SettlementSelected         console_command add_population  -500    end_if   ...    set_event_counter kill_citizens_accepted = 0end_monitor
]]> Оригинал тутора на всяк случай ]]>

Вопрос №219

Что отвечает за возможность краки плавать в океанической воде? Это строка ship в EDU, типа heavy warship или нет ?

В файле descr_ship.txt параметр ocean_going у heavy warship он стоит.

Вопрос №220

Где находятся файлы ресурсов на стратегической карте ?

Размещение файлов: data / models_strat.
Пути к файлам прописываются в descr_sm_resources.txt.



Вопрос №221

Как работает монитор I_CharacterTypeNearTile ?

Рассмотрим пример:

monitor_conditions I_CharacterTypeNearTile novgorod named_character, 2 126, 234
2 - это расстояние от координат: если указать 0, то будет только при нахождении его в этой точке срабатывать.
Соответственно если 2, то сработает в этой точке и в точках удаленных на 1 и на 2.
Чтобы задать область можно использовать несколько таких условий с подходящими "окружностями".

Вопрос №222

Где правится стоимость содержания персонажей ?

Стоимость содержания персонажа определяется параметром wage_base в descr_character.txt.

Вопрос №223

Как добавить новую культуру в M2TW ?

1. Работаем с текстовыми файлами :

- descr_movies.xml
- descr_cultures.txt
- descr_engines.txt
- descr_offmap_models.txt
- descr_sm_factions.txt
- descr_sounds.txt
- descr_sounds_music.txt
- descr_sounds_units_anims.txt
- export_descr_advice.txt
- export_descr_ancillaries.txt
- export_descr_character_traits.txt

2. Создаем папку с названием нашей новой культуры в каталоге data / ui и размещаем в ней графический контент аналогично другим культурам.

Сообщение отредактировал Master_TW_DAR: 28 Июль 2014 - 16:34

  • 0

#147 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Мастер
  • 2 717 сообщений
  • Откуда:РФ, Нижний Новгород
  • Награды:
Регистрация: 30.сен.12
Слава: 134

Отправлено 10 Сентябрь 2014 - 06:05

Вопрос №224

Алгоритм внедрения / удаления провы:

1. imperial_campaign_regions_and_settlement_names.txt
2. descr_regions.txt
3. descr_strat.txt
4. descr_win_conditions.txt
5. descr_mercenaries.txt
6. export_descr_buildings.txt
7. map_regions.tga

1,2,3,7 - обязательны для редактирования.
4,5,6 - в исключительных случаях.

После правки 2 и 7 обязательно удаляем map.rwm
  • 0

#148 Vendigo

Vendigo

    Кошовий ПисарЪ

  • Старшина
  • 13 115 сообщений
  • Откуда:Ukraine. Lemberg(Leopolis)
  • Награды:
Регистрация: 16.май.06
Слава: 2 532

Отправлено 10 Июль 2017 - 22:17

Ну в общем, как-то так.
 
Создание Мира - Расширенный рекрутинг в ходе событий.
Кредиты:
Это пособие представляет собой обобщение идей и кода, обсуждаемых в двух темах под ними, все кредиты идут участникам:
Могут ли наемники быть ограниченными, чтобы только ИИ мог нанять их?
Как добавить наемников
Введение:
Запуск и остановка рекрутинга в ходе событий не является чем-то новым - это было сделано после того, как игра была опубликована, так что же здесь нового? Проблема использования условий event_counter заключается в том, что отключение приводило к сбросу пула, что сделало условие непригодным для частого включения\отключения - оставив только команду сценария «замораживания», которая в лучшем случае была «неуклюжей».Вопрос был в том, когда это происходит (по завершении хода мятежников), когда вы снова включаете условие, чтобы сохранить предыдущий накопленный пул - в отличие от принципа «Повторное включение после отключения» ,в другом моем пособии:
Создание Мира - постройка и поддержание уникальных зданий
Кодирование:
Вербовка наемников ограничивается фракциями
imperial_campaign_script
Два монитора [фракции] требуют репликации для каждой фракции, имеющих права.В качестве альтернативы можно использовать специальные счетчики фракций, что потребует клонирования линии наемников с этими счетчиками.
 Код:


monitor_event PreFactionTurnStart FactionType [faction]
  set_event_counter merc_turn 1
end_monitor
monitor_event PreFactionTurnStart not FactionType [faction]
  set_event_counter merc_turn 0
end_monitor
monitor_event FactionTurnEnd FactionType slave
  set_event_counter merc_turn 1
end_monitor

descr_mercenaries
Код:

pool [pool name]
    regions [region names]
    unit [unit name]            exp 0 cost 220 replenish 0.15 - 0.35 max 3 initial 5  events { merc_turn }

Сезонный набор
imperial_campaign_script
Часть скрипта подразумевает 12 оборотов в год, начиная с кампании, начинающейся зимой. Время рекрутинга будет с октября по март.
Код:

monitor_event PreFactionTurnStart FactionIsLocal
  inc_event_counter season_time 1
  if I_EventCounter season_time > 9            ; from October
    and I_EventCounter season_time  3            ; from April
    and I_EventCounter season_time  12
    set_event_counter season_time 0            ; resetting season counter
  end_if
end_monitor

export_descr_buildings
Код:
           

capability
            {
                recruit_pool "[unit name]"  1   0.2   2  0  requires factions { [faction name], } and event_counter recruit_season 1
            }

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


  • 1

Убей бобра - спаси дерево!
Революцию подготавливают гении, осуществляют фанатики, а плодами ее пользуются проходимцы. © Отто фон Бисмарк
Может мы и динозавры, но зубы ещё целы © Paul
Я добрый, а Вендиго - это Вендиго. © Adasyg
plus.gif pernach.gif 
Fuer Grissa Ost Drauka
Vendigo.gif
 
 


#149 lekseus

lekseus

    CiЧовий дiд

  • ТовмачЪ
  • 1 609 сообщений
  • Награды:
Регистрация: 16.сен.09
Слава: 364

Отправлено 18 Декабрь 2017 - 06:43

                                           Скрипт присоединения фракции посредством династического брака

(автор Miguel_80)

 

Этот скрипт позволяет объединить две фракции посредством брака между наследником (или правителем) и Принцессой.  После смерти лидера фракции вы унаследуете все владения.

В этом примере показано объединение Сицилии (ИИ) и Франции.

Для начала надо обратиться дипломатом напрямую к Принцессе для установления дипломатических отношений и проведения свадьбы.

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

 

Добавляем следующий код в "...\data\export_descr_character_traits.txt"

Спойлер

 

Спойлер

 

Добавляем трейт Принцессе в  "...\data\world\maps\campaign\imperial_campaign\descr_strat.txt"

Спойлер

 

 

И добавляем это в "...\data\world\maps\campaign\imperial_campaign\campaign_script.txt"

Спойлер

 

В первых двух событиях происходит определение, женился ли ваш персонаж на Принцессе и кто это был в точности. Третье событие определяет между какими фракциями это происходит. Упоминается другая фракция, в данном примере Сицилия.

 

После придания значения 1 параметру "union" добавляется событие, приводящее в исполнение сообщение с вопросом. Условия на ваш выбор. Если правитель мертв и ответ на вопрос дан происходит объединение Сицилии с Францией через команду "give_everything_to_faction".

 

Добавляем описание события в "...\data\text\historic_events.txt"

Спойлер

 

Если хотите изменить герб и флаги, то добавляйте эту команду

Спойлер

 

Для добавления изображения к сообщению вам потребуется TGA файл с названием события в папке "eventpics".

В нашем примере это "...\data\ui\northern_european\eventpics\sicily_crown.tga"

Спойлер


Сообщение отредактировал lekseus: 18 Декабрь 2017 - 13:23

  • 2





Темы с аналогичным тегами моддинг, туториалы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Total War: WARHAMMER

Мы ждали, мы верили. И наша вера была вознаграждена! Анонс Total War: WARHAMMER состоялся! Скептики были посрамлены, а вахоманы возликовали! Но разработчики на форумах успели уже рассказать немало подробностей. Во первых стало известно? что это будет не одна игра, а трилогия сдобренная целым сомном аддонов и дополнительного платного и бесплатного контента. Во-вторых фракций будет только четыре (Империя Сигмара, Зеленокожие, Гномы и Графы-Вампиры) но обещают сделать их максимально проработанными, богатыми на юниты и реально отличающимися друг от друга по геймплею. В третьих - главы фракций теперь не просто генералы которых не жалко потерять в бою. Теперь это Легендарные Лорды (Карл Франц, Гримгор, Торгрим и Маннфрэд фон Карштайн), герои со уникальным оружием, верховым животным, шмотками и набором квестов. Еще обещают такие новинки как летающие юниты, магию, танки, пушки и мущкеты... в общем вкуснятинка! В общем ждем больше информации и надеемся, что игра станет прорывом в серии.

Ну а апологетам историчности спешим успокоить - над Вархаммер трудится отдельная команда. Исторические игры Тотал Вар производство фэнтэзийной игры не тормозит.

Подробней о Total War: WARHAMMER

Total War: Attila

Анонс Total War: Attila с одной стороны немало удивил нас, а с другой еще раз доказал, что СА идет проторенной дорожкой. Ведь Аттила по сути это сиквэл аддона "Вторжение варваров" для Рима 1. Правда на этот раз они не стали скромничать и назвали его "новой игрой". Ок, мы не будем спорить. Отдельная игра про нашествие варварских племен на цивилизации античного мира - это прекрасно. Нужно отметиьт что разработчики действительно поработали на славу. По мнению большинства игроков, Аттила действительно оказался достойным продуктом, позволившим окунутся в мрачные эпохи.

Подробней о Total War: Attila Часть 1 и Часть 2

Total War: Rome 2

Анонс Rome II Total War состоялся 2 июля и это вызвало настоящую бурю восторга нашего сообщества! Настолько люди истосковались по рукопашному бою и легионерам, что анонс сиквела восприняли как настоящее чудо и "сбычу мечт". Снова вести в бой скованные железной дисциплиной легионы, непоколебимых греческих гоплитов и македонских сариссофоров, топтать врагов слонами и забрасывать отрубленными головами - это ли не счастье! Но ведь новые игры Total War это еще и морские баталии. И тут уж будет море фана, ведь разработчики обещают активное взаимодействие между сухопутными и военно-морскими силами. Обоюдный обстрел между береговыми укреплениями и боевыми кораблями на рейде даст новую степень свободы "стратегосам" античного мира.

Подробней о Total War: Rome II