Intro: [OSP] MB Warband - Native Command Line (Single Player)
Командная строка для сингл плеера. v.1.1 Страница загрузки
*Это отделенная часть Учебного модуля, поэтому рассчитана на тех, кто не использует Учебный модуль.
en-board: 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Код простой и состоит из трех основных составляющих:
+
module_presentation.py - тут создается презентация, собсно строка ввода, а кнопкам клавиатуры при нажатиях назначаются числовые коды. Так как движек игры работает с числами, не позволяя нам сравнивать текстовые строки, нужно привести все к числовому знаменателю.
+
module_scripts.py - в этом файле скрипты, которые генерят код команды, а по завершению ввода и нажатию на [Enter] анализатор проверяет числовой код команды и выполняет соотв. действия.
+
module_mission_template.py - здесь мы прописываем кнопку [Left Alt] для вызова "командной строки" в виде триггера и добавляем его на нужные нам сцены.
Как генерятся числовые коды текстовых команд:При нажатии на кнопку клавиатуры, переменной код_буквы (char_code) присваивается число и увеличивается счетчик номер_буквы_в_строке_ввода на 1. Далее это число передается на генератор кода команды. Код-генератор умножает код_буквы на ее номер_в_строке_ввода и получает уникальный код_символа (если этого не сделать, команды ab и ba имели бы одинаковый числовой код). Далее код_символа просто прибавляется к тому, что уже было введено ранее, те содержимому переменной код_команды (cmd_code). Все переменные на старте или по [Enter'у] обнуляются, а строка ввода очищается.
Итак, пока мы набираем нашу команду, генератор собирает числовые коды букв в переменной код_команды. Как только мы нажимаем [Enter], запускается анализатор кода, который сравнивает содержимое переменной код_команды с теми кодами, которые прописаны у него. Если совпадение найдено, выполняется соотв. try_блок.
=== Install ===* У вас должен быть установлен ModMerger. (
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).