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

Модификации => Обмен опытом (в помощь мододелу) => OSP ресурсы: модели, текстуры, скрипты => Тема начата: Shcherbyna от 21 Января, 2014, 19:01

Название: [OSP] MB Warband - Native Command Line (Single Player) - Modmerger pack
Отправлено: Shcherbyna от 21 Января, 2014, 19:01
(http://storage6.static.itmages.ru/i/14/0121/s_1390308332_9621328_ee0d856a0b.jpg) (http://itmages.ru/image/view/1445420/ee0d856a)

Intro: [OSP] MB Warband - Native Command Line (Single Player) (http://www.youtube.com/watch?v=hbWi4maA44E#ws)

Командная строка для сингл плеера. v.1.1 Страница загрузки (http://code.fosshub.com/MB-Warband-Japan-OSP/downloads)

*Это отделенная часть Учебного модуля (http://code.fosshub.com/MB-Warband-Japan-OSP/wiki/OSP-Language-Education-Module-StudyMod), поэтому рассчитана на тех, кто не использует Учебный модуль.


en-board: http://forums.taleworlds.com/index.php/topic,295369.0.html (http://forums.taleworlds.com/index.php/topic,295369.0.html)


Увеличивает интерактивность игры, позволяя игроку вводить свои команды. Магия, действия, читы, диалоги, и другие варианты применения ограничиваются только вашей фантазией. Работает только на сценах.

[Left Alt]  - показать
[Right Alt] - спрятать
[key_UP]    - возврат предыдущей команды или "cheatmenu" на старте

Command Line commands: / Команды:
+ help  -  показать все доступные команды
+ cheatmenu - альтернатива комбинации "[Ctrl] + [~]" если она не работает

Команды для разработчиков:
+ heal - лечит игрока на сцене
+ mass spell - убить всех врагов на сцене
+ gold - получить 10000 денег
+ gtl - get tournament list / показать список турнирных городов

Для добавления новых команд редактируйте скрипт "command_line_analyzer", код команды генерит util_cmd_code_generator.py

Продвинутое меню разработчика можно взять тут: http://rusmnb.ru/index.php?topic=17631.0 (http://rusmnb.ru/index.php?topic=17631.0)

Код простой и состоит из трех основных составляющих:
+ module_presentation.py - тут создается презентация, собсно строка ввода, а кнопкам клавиатуры при нажатиях назначаются числовые коды. Так как движек игры работает с числами, не позволяя нам сравнивать текстовые строки, нужно привести все к числовому знаменателю.
+ module_scripts.py - в этом файле скрипты, которые генерят код команды, а по завершению ввода и нажатию на [Enter] анализатор проверяет числовой код команды и выполняет соотв. действия.
+ module_mission_template.py - здесь мы прописываем кнопку [Left Alt] для вызова "командной строки" в виде триггера и добавляем его на нужные нам сцены.

Как генерятся числовые коды текстовых команд:

(http://storage8.static.itmages.ru/i/14/0828/h_1409261546_2989616_1d57e31ad4.jpg) (http://itmages.ru/image/view/1883513/1d57e31a)

=== Install ===

* У вас должен быть установлен ModMerger. (http://www.mbrepository.com/file.php?id=2151 (http://www.mbrepository.com/file.php?id=2151))

1) Скопируйте папку Sounds в папку вашего мода (Warband/Modules/YourMod/..)
2) Отредактируйте module.ini
3) Скопируйте папку  Japan_OSP в папку вашей модульной системы (Module_system/Japan_OSP)
4) Отредактируйте modmerger_options.py
5) Скомпилируйте мод через build_module.bat

В игре, находясь на сцене, с помощью [Left Alt] вызовите Командную Строку, напишите команду или нажмите [Вверх] для вызова команды по умолчанию (cheatmenu).


Название: Re: [OSP] MB Warband - Native Command Line (Single Player) - Modmerger pack
Отправлено: Shcherbyna от 31 Августа, 2014, 00:22
Апдейт v1.1
+ выделен в мерж-пак
+ добавлена команда cheatmenu для тех, у кого не работает комбинация Ctrl+~
+ добавлен возврат предыдущей команды по [key_Up] и дефолтной на старте - cheatmenu
+ добавлена команда показывающая список турнирных городов (для отладки)
+ кроме того, есть возможность добавлять новые команды и команды на родном для вас языке.
Название: Re: [OSP] MB Warband - Native Command Line (Single Player) - Modmerger pack
Отправлено: Shcherbyna от 04 Сентября, 2014, 00:03
+ новая отладочная команда "get booksellers list" или сокращенно "gbl" - показывает города, в которых находятся продавцы книг

Изменения каснулись скрипта "script_command_line_get_tournaments_list" => "script_command_line_get_town_slot_info": изменено название и содержимое. Теперь он получает имя городского слота в качестве первого аргумента.
Цитата: commandLine_scripts.py
#script_command_line_analyzer: Анализатор команд игрока
  # INPUT: None
  # OUTPUT: None
  ("command_line_analyzer",
...
...
        (else_try), # Debug info / Отладка
            (this_or_next|eq, "$cmd_code", 9801), # get tournaments list
            (eq, "$cmd_code", 869), # "gtl"
            (call_script, "script_command_line_get_town_slot_info", slot_town_has_tournament),
        (else_try),
            (this_or_next|eq, "$cmd_code", 9356), # get booksellers list
            (eq, "$cmd_code", 653), # "gbl"
            (call_script, "script_command_line_get_town_slot_info", slot_center_tavern_bookseller),
...
...

# script_command_line_get_town_slot_info: Shows towns names that holding a tournaments|booksellers / Показывает названия городов с турнирами|продавцами книг
  # INPUT: arg1 = town_slot_name
  # OUTPUT: None
  ("command_line_get_town_slot_info",
    [
        (store_script_param_1, ":slot_no"),
      (str_store_string, s1, "@-- None --"),
      (try_for_range, ":center_no", towns_begin, towns_end),
         (party_get_slot, ":info", ":center_no", ":slot_no"), # slot_town_has_tournament
         (try_begin),
            (gt, ":info", 0),
                (str_store_party_name, s1, ":center_no"),
            (display_message, "@{s1}"),
         (try_end),
      (try_end),
  ]),

Название: Re: [OSP] MB Warband - Native Command Line (Single Player) - Modmerger pack
Отправлено: Корон от 30 Ноября, 2015, 16:30
А не могли бы вы записать видеоурок по установке этого " мода "?