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

Модификации => Гильдия модостроителей "Всадников Кальрадии" => Обмен опытом (в помощь мододелу) => Архив гильдии => Тема начата: Romitas от 03 Апреля, 2012, 21:59

Название: Создание темы "Вводный курс в моддинг игры"
Отправлено: Romitas от 03 Апреля, 2012, 21:59
Хантер, вот то, что я наваял по поводу скелетной анимации и module.ini. В module.ini я, правда, в основном только перевел те комменты, которые там уже были - моих добавок там совсем немного.

Скелетная анимация

Module.ini
module. ini- Initialization file. Как мы видим из названия- это файл инициализации (от англ. initialization, инициирование) — создание, активация, подготовка к работе, определение параметров. По другому, это файл конфигурации. В этом файле задаются параметры загрузки ресурсов игры и к тому же определяются некоторые общие параметры (переменные), которые задают, определённые числовые переменные- определяющие характеристику действия. В некоторых параметрах указаны конкретные числовые значения, где то указаны переменные используемые, при вычислении, а где то просто включение или отключение этого параметра, путём указания значения, или 0- выключено, или 1 - включено. Сейчас мы разберёмся, что там внутри этого файла. Сразу замечу что вот этот знак #- комментарий, определяет игнорирование этой строки( просто пояснение для нас). Основной записью этого файла является- значения параметров — строки вида «имя_параметра = значение».
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: HunterWolf от 05 Апреля, 2012, 04:18
Постараемся отобразить всё, что может быть подвергнуто моддингу и все файлы игры.
Что есть на данный момент:

http://rusmnb.ru/index.php?board=160.0 (http://rusmnb.ru/index.php?board=160.0)
http://rusmnb.ru/index.php?topic=671.0 (http://rusmnb.ru/index.php?topic=671.0)
http://rusmnb.ru/index.php?topic=3091.0 (http://rusmnb.ru/index.php?topic=3091.0)
Может что упустил, =/ подскажите.

План темы
1. Общие понятия моддинга и вообще структуры функционирования игры.
2. Перечень всех файлов игры, их функционал и общие понятия.
3. Перечень большинства используемых программ, и их принадлежность к файлам. Тут постараться упомянуть все возможные, плюс дать ссылку на наш инструментарий.  Все программы надо упомянуть с точным названием, что бы был смысл скопипастить и гуглить, если у нас нет.
4. Словарь терминов, вообще не плохо и жаргон сюда включить, так как часто мы не осознано пользуемся им при каком то объяснении или ответах.

 
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: HunterWolf от 06 Апреля, 2012, 02:54
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Leon473 от 18 Апреля, 2012, 16:24
Цитировать (выделенное)
3. Интервалы у module_mission_templates действительно в секундах, а у module_simple_triggers и module_triggers в игровых часах. (24 - игровые сутки).
В module_mission_templates интервалы не в секундах, а если честно в фиг знает чем. Скорее всего в в фреймах (кадрах), а если точнее, то я так понял что в игре существуют определенные ключевые фреймы. Объяснить мне это сложно, если например выставить в триггере время срабатывания 1, то триггер будет срабатывать не один раз в секунду, а в каком то определенным движком фрейме, если выставить время срабатывания 0, то триггер будет срабатывать каждый фрейм (если в игре будет например 120 фпс - то триггер будет срабатывать 120 раз в секунду, если 15 - то 15 раз в секунду). Каким образом движок выбирает ключевой фрейм я не знаю.
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Romitas от 26 Апреля, 2012, 18:17
Этот материал подходит даже скорее не для вводного курса, а для уже более продвинутых моддеров, но все равно довольно интересно. Для вводного курса попробую из этого вычленить и перекомпилить более-менее простые вещи, но пока что вот полный вариант перевода. Автор - Swyter, источник - http://forums.taleworlds.com/index.php/topic,187434.0.html. (http://forums.taleworlds.com/index.php/topic,187434.0.html.)



Итак, что содержит этот список:

Все это было обнаружено при исследовании движка Warband.

ПРИНИМАЕМЫЕ ФОРМАТЫ ТЕКСТУР

ПРИНИМАЕМЫЕ ФОРМАТЫ РЕСУРСОВ

HTTP-ЗАПРОСЫ

ПОРЯДОК ЗАГРУЗКИ ФАЙЛОВ

ДОПОЛНИТЕЛЬНЫЕ КЛЮЧИ РЕЕСТРА

КОМАНДЫ ЗАПУСКА INTRO-ВИДЕО ПРИ ЗАПУСКЕ

ПАРАМЕТРЫ (КОМАНДЫ) MODULE.INI

МАТЕРИАЛЫ, ЗАШИТЫЕ В ДВИЖОК

ИГРОВЫЕ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ (GAME VARIABLES)
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Romitas от 27 Мая, 2012, 23:24
HunterWolf (http://rusmnb.ru/index.php?action=profile;u=20773), есть скелетная анимация и module.ini. Посмотри первое сообщение.
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: HunterWolf от 28 Мая, 2012, 00:04
Romitas (http://rusmnb.ru/index.php?action=profile;u=16551), Спс, в ответ глянь я там по моделям написал, а что то скопипастил у Константы. Посмотри, как подходит
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Romitas от 28 Мая, 2012, 17:14
HunterWolf (http://rusmnb.ru/index.php?action=profile;u=20773), похоже, что все как нельзя лучше.

Название: Re: Создание темы \"Вводный курс в моддинг игры\"
Отправлено: HunterWolf от 28 Мая, 2012, 17:20
справлю орфографические, пунктуационные ошибки, стилистические шероховатости и др.
Ну тут ты ты прав это самый что не на есть:рабочийвариантчерновикпростоинфаводномместе  :D
Так что будет совершено по другому, я пока не проверял вообще не чего и вообще не чего не стилизовал и не подгонял слог. Всё это сделаю, как только добью в новой созданной теме , которая потом и перейдёт в раздел(общий), а эту переименую потом в другой проект что бы не удалять лишний раз.
Как добью пару моментов(жду когда человек напишит) , думаю завтра =/ сегодня уже начну готовую тему
 

Добавлено: 28 Мая, 2012, 17:21

Готов полностью принять это на себя и приму, если ты не возражаешь.
Я таки даже за, напишу готовый вариант и с удовольствием приму твою помощь по нему
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Romitas от 28 Мая, 2012, 19:25
Инструментарий

Модульная система

3D графика

Текстуры
Название: Re: Создание темы "Вводный курс в моддинг игры"
Отправлено: Janycz от 29 Июня, 2013, 21:53
Диалоги
Инфа переведена с модвики


Стандартные переменные

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

  Переменная                                                         Значение

  $g_talk_troop                                                     Воин, с которым вы говорите
  $g_talk_agent                                                    Агент, с которым вы говорите
  $g_talk_troop_faction                                        Фракция воина, с которым вы говорите
  $g_talk_troop_relation                    Отношение игрока и воина, с которым вы говорите. От -100 до 100
  $g_talk_troop_effective_relation     Изменение уровня отношений, который удваивает положительное отношение игрока в Убеждение уровне 10 или удваивает отрицательное отношение игрока в Убеждение уровня 0.(???)
  $g_talk_troop_faction_relation       Отношения между фракцией игрока и воина, с которым вы говорите
  $g_talk_troop_party                                        Отряд говорящего (если есть)
  $g_current_hours                          Текущий час игры с самого начала, считая вверх от 0 до бесконечности.   
  $g_talk_troop_last_talk_time        Последний час игры с самого последнего диалога.
  $g_time_since_last_talk                 Разница между этими двумя значениями, в часах, для удобства.
  $g_talk_troop_met                       1, если игрок говорил с имеющим флаг tf_hero.
  $g_enemy_strength                       Сила всех отрядов врагов которые на глобалке.
  $g_ally_strength                           Сила всех отрядов союзников
  $g_strength_ratio                        $g_ally_strength / $g_enemy_strength



Название: [MS]Условные строки
Отправлено: Janycz от 29 Июня, 2013, 22:16
Условная строка - встроенное выражение в строке, которая вычисляется в одном из двух возможных значений, содержащиеся в данном регистре. Если регистр содержит ненулевое значение, первый выбор используется, в противном случае второй вариант используется. Любой выбор может быть пустым. Персоны, знакомые с программированием знают их как условные тернарные операции.

Использование условных строк

Условная строка отформатирована используя имя регистра, а затем знак вопроса "?" и строку, используемую если это истинна, за которым следует двоеточие ":" и строку, используемую как ложь, всё заключенные в фигурные скобки "{" и "}" (токены).

Распространенный пример условной строки ниже:
town{reg0?s:}Если reg0 не равен 0,  результат встроенного выражения даст "s", в противном случае он даст "" (пустая строка). Таким образом, окончательная результирующая строка будет иметь вид:
townsЕсли reg0 равен 0, то результирующая строка будет иметь вид:
town
Это основной метод создания множественного числа в Mount&Blade

Сложные условные строки

Условные строки могут быть внедрены в друг друга в любой желаемой комбинации, например:
{reg6?I:{reg7?You:{s11}}}
Появится надпись "I", если reg6 = 0, "You", если reg7 = 0, или содержимое регистра строки 11 (в данном случае, содержащая имя Господа), reg6 не равен 0 и reg7 не равен 0. Это компактный и элегантный метод.
Название: [MS]Быстрые строки
Отправлено: Janycz от 30 Июня, 2013, 11:31
Быстрой строкой называется строка, которая не определена заранее module_strings.py. Она может быть использована в любом месте.

Конструкция

Быстрая строка записывается так же, как обычная строка, но она должна иметь начальный символ "@". Например, следующее выражение:
(str_store_string, s0, "comment_you_defeated_my_friend_enemy_pragmatic")также может быть записано в коде так:
(str_store_string, s0, "@You may have bested {s54}, but you cannot defeat us all.")
Предостережения

Повторяющиеся строки
Эффективная практика заключается в том, чтобы поместить любой текст, который вы будете использовать неоднократно в module_strings.py и избегать использование быстрых строк. Таким образом, если вы обнаружили, что есть опечатка или вам необходимо реорганизовать текст, вы можете просто выполнить одно редактирование и все копии текста также будут изменены.

Строки vs быстрые строки
Строки проще редактировать и локализовывать в module_strings чем, чтобы найти и редактировать текст внутри module_scripts и module_dialogs, но в то же время легче поддерживать совместный проект мод без гарантироваи, что новые строки случайно не исключены из module_strings в новой версии.
Если вы делаете подмодуль(submod), то, вероятно, лучше использовать быстрые строки непосредственно в диалоге или скрипте. Если вы делаете полный мод, это лучше сделать строки в module_strings и ссылки из диалога или скрипта на них.