Mount and blade warband python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

WarBend: a Python library to read and write Mount & Blade: Warband saved games

License

int19h/warbend

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

WarBend is a Python 2.7 package that lets you load Mount & Blade: Warband saves, inspect them, change them, and write them back to disk. It can also export saves as XML, and re-import it back, allowing tools such as XSLT to be used to perform batch updates.

I just want to edit a save! Where’s my GUI?

You should probably take a look at WarBender.

It gives full access to all the data stored in a savegame file — every single byte of it. In addition, it provides various convenience features to make that data easy to explore and change programmatically as needed. Here’s a simple example to demonstrate what is possible:

from warbend.game.mount_and_blade.native import * game = load('sg00.sav') player = game.troops['player'] companions = game.troops['companions'] lords = game.troops['lords'] kings = game.troops['kings'] # All companions . for troop in companions: # . are very strong. troop.attributes['strength'] = 20 # . have maxed-out skills. troop.skills[:] = [10] * len(troop.skills) # . have a masterwork long arming sword. troop.equipped_items['item_1'].item_kind_id = ID_items.itm_sword_medieval_d_long troop.equipped_items['item_1'].modifiers = module_items.imod_masterwork # All lords . for troop in lords: # . have upstanding personality. troop.slots['lord_reputation_type'] = module_constants.lrep_upstanding # . love the player. troop.slots['troop_player_relation'] = 100 # . hate all kings. for other in kings: troop.slots[other] = -100 save(game, 'sg01.sav')
pip install -r requirements.txt

Since it’s a library, it cannot be run directly. However, there are some sample scripts provided to get you started. Here’s a step-by-step guide:

  1. Back up all your savegames, in case something goes wrong. Do not skip this step!
  2. Download the source code for the package, either using Git, or directly as a .zip archive.
  3. Download the module system from the link above, then unpack it into the modules\Native folder. The resulting directory structure should look like this, where README.md is this file:
 📂 ├─📂 modules ⏐ └─📂 Native ⏐ ├─📁 Module_data 1.171 ⏐ └─📁 Module_system 1.171 ├─📁 samples ├─📁 warbend └─📄 README.md 

About

WarBend: a Python library to read and write Mount & Blade: Warband saved games

Источник

[MS] Пеpвая часть. Модульная система, общее, установка.

Модульная система МиБ — это набор python-вских скриптов, позволяющих вам модифицировать содержимое МиБа. Мы использовали эту систему при создании официальной версии МиБа. Модульная система позволяет Вам добавлять новые типы войск, новые характеры, новые квесты, новые диалоги и т.д. Или же вы можете редактировать существующее наполнение нативовской версии.

Это важно отметить — МиБ не использует python и не работает с python-вскими скриптами напрямую. Вместо этого python-овские скрипты указывают как создавать особые текстовые файлы ,а уже с ними работает МиБ.

МиБ считывает содержимое текстовых файлов находящихся в папках Mount&Blade/Modules . Теоретически вы можете делать все те же модификации, что позволяет вам модульная система, путем редактирования текстовых файлов. (Более того, некоторые мододелы своими работами доказывают, что редактируя текстовые файлы мы можем реально создавать замечательные моды). Однако, текстовые файлы сложночитаемы и очень непрактичны для работы с ними. На данный момент существует два варианта написания новых модулей. Первый – это официальная модульная система описанная в этой документации. Другой вариант – это эффидианский неофициальный редактор (Effidian’s unofficial editor), который в последнее время не обновлялся и является не совместимым с текущей v.1.011 версие МиБа, но работает со старыми версиями МиБа, такими как v.0.751 .

1.2 Требования для использования модульной системы.

Модульная система базируется на python-скриптах, и как результат, вам необходимо иметь установленную среду python на вашем компьютере. Вы можете скачать python с сайта python.org из раздела downloads.
Там есть более чем несколько версий для скачивания, но вам нужна 2.6.6 или 2.7.1 2.7.10.

После того как вы скачали и установили Python, вам также необходимо добавить Python как windows path enviroment variable. В разных версиях Windows это делается по-разному:

Для версии windows 9x (95, 98) вам нужно отредактировать autoexec.bat (файл находится в корневом каталоге винчестера, на котором установлен Windows; c:\autoexec.bat) добавив к PATH адрес папки где вы установили Python. К примеру, если вы установили Python в папке C:\Python24, то добавьте в autoexec.bat строку:
set PATH=C:\Python24;%PATH%

Если у вас Windows XP или Vista , то ваши действия совершенно другие:
1. щелчок правой кнопкой мыши на My Computer/мой компьютер (либо, если у вас виста, на Computer/компьютер в стартовом меню)
2. выберите Properties/свойства, щелкните на закладках в верхней части всплывшего окна Advanced/дополнительно
3. кликните на Enviroment Variables/переменные окружения
4. в окошке System variables/системные переменные двигайте линейку прокрутки пока в строке variable/переменная не найдете Path.
5. щелкните на кнопке Edit/редактировать и откроется новое окно
6. в окошке Variable Value/значение переменной прокрутите до конца строки и добавьте:

Т.е. если к примеру вы установили Python в папку C:\Python26, то вам следует добавить:
;C:\Python26

Щелкните на ОК в этом окошке и в следующих. Перезагрузиться тоже не помешает, тогда новая среда применится точно.

Если у вас Windows 7 или Windows 8 или Windows 8.1 или Windows 10 , то:
1. заходите в панель управления
2. слева ищете «Дополнительные параметры системы»
3. в появившемся окошке ищите кнопку «Переменные среды. «, жмите
4. в окошке «Системные переменные» ищите Path
5. жмите «изменить» и, как и в инструкции для ХР/Висты, в конце добавьте путь к папке куда установили python.

1.3 Установка модульной системы.

Последняя версия модульной системы может быть скачана с офф. сайта TaleWorlds .

Вам нужно скачать архив с модульной системой и распаковать его (требует архиваторов, таких как WinRAR или 7-zip ). Распакуйте модульную систему в любую удобную вам папку, это не имеет принципиального значения.

1.4 Файлы модульной системы.

Теперь давайте посмотрим на файлы включенные в модульную систему. Это файлы c расширением .py , они есть следующих типов:

— файлы начинающиеся с приставки “header_”
— файлы начинающиеся с приставки “process_ “
— файлы начинающиеся с приставки “ID_ “
— файлы начинающиеся с приставки “module_ “

Первые два типа файлов (“header_” и “process_ “) необходимы для действия модульной системы. Вы не должны модифицировать их вовсе. Третий тип (“ID_ “) временные файлы создающиеся во время постройки (генерации) модификации. Вы можете даже удалить их, если захотите, модульная система сгенерирует их снова при генерации модуля. Последний, четвертый тип (“module_ “) и есть те самые файлы, что содержат актуальную для нас информацию. Именно их мы и будем модифицировать.

1.5 Создание новых модификаций.

Прежде чем идти дальше, давайте сначала создадим папку для вашего нового мода. Для этого нам нужно зайти в папку Mount&Blade/Modules/ (по умолчанию это «c:/Program Files/Mount&Blade/Modules» ). Теперь, в папке “Modules /” должна быть папка с названием “Native”. Это, к слову, и есть офицальный мод (пресловутый «натив»). Для вашего собственного мода вы должны создать новую папку в директории /Modules и скопировать в нее файлы из папки “Native”. Эта новая папка будет папкой для вашего собственного мода, так что называйте ее как хотите. Для простоты и ясности, я предлагаю назвать ее “MyNewModule” .

Вы можете проверить все ли правильно вы сделали попытавшись запустить МиБ. В меню загрузчика МиБа должно быть специальное окошко, позволяющие вам выбрать мод, который вы хотите запустить. Попытайтесь среди предложенных модификаций отыскать ваш новый мод и запустить его. Так как мы скопировали содержимое папки “Naitve” в папку вашей новой модификации, игра в которую вы сыграете будет идентична нативу.

Следующий шаг, мы должны заставить модульную систему использовать вашу новую папку в качестве цели (для экспорта генерируемого модуля). Что бы сделать это, откройте файл module_info.py (из папки модульной системы) для редактирования (щелкните правой кнопкой мышки на файле и выберите Edit with IDLE /редактировать с IDLE; или откройте файл используя Notepad /блокнот или любой другой, предпочитаемый вами, текстовый редактор). Найдите строку начинающуюся с export_dir = ”. ” (либо если ее нет, то добавьте) и присвойте export_dir адрес папки с вашим новым модом. К примеру, если ваша папка находится по адресу: «C:/Program Files/Mount&Blade/Modules/MyNewModule» То вы должны вставить:

export_dir = «C:/Program Files/Mount&Blade/Modules/MyNewModule/»

На этом, установка модульной системы закончена. Чтобы проверить правильность установки, удалите из папки вашего мода файл conversation.txt и затем два раза щелкните на файле build_module.bat. Вы должны увидеть командную строку выводящую на экран что-то вроде этого:

Initializing.
Compiling all global variables.
Exporting strings.
Exporting skills.
Exporting tracks.
Exporting animations.
Exporting meshes.
Exporting sounds.
Exporting skins.
Exporting map icons.
Creating new tag_uses.txt file.
Creating new quick_strings.txt file.
Exporting faction data.
Exporting item data.
Exporting scene data.
Exporting troops data
Exporting particle data.
Exporting scene props.
Exporting tableau materials data.
Exporting presentations.
Exporting party_template data.
Exporting parties
Exporting quest data.
Exporting scripts.
Exporting mission_template data.
Exporting game menus data.
exporting simple triggers.
exporting triggers.
exporting dialogs.
Checking global variable usages.

Script processing has ended.
Press any key to exit. . .

Если вместо этого вы получили сообщение об ошибке/error, проверьте что вы точно следовали всем шагам описанным в этом туториале. Если уверены в правильности своих действий, попробуйте с помощью поисковой функции найти на форумах taleworlds.com кого-то c похожей проблемой; есть шанс, что там же вы найдете и решение. Некоторые ошибки описаны в посте по ссылке (англ) http://forums.taleworlds.com/index.php/topic,6575.msg96347.html#msg96347

Если же ошибки не возникло/были успешно устранены – поздравляю! Вы продвинулись на один шаг в создании вашего собственного мода, настроив модульную систему. Теперь давайте перейдем ко второй части .

Источник

Читайте также:  Java build path android
Оцените статью