Life is Feudal - инструкция по созданию модов
Написал Admiral, 29 июля 2016 в 13:35 11 | 0В данной статье вы познакомитесь с базовыми принципами создания модов в Life is Feudal. Какими знаниями нужно обладать, что редактировать и как это повлияет на саму игру. Читайте и создавайте свои собственные неповторимые модификации.

Как создавать моды в игре Life is Feudal? Для начала вы должны обладать базовыми навыками использования компьютера, а также, для примера, знать как работать с информацией в SQL базе данных. Автор инструкции - Maegfaer.
Связь между сервером и клиентом.
Возникает множество вопросов на тему "Почему, когда я поменял в серверной базе данных/XML файлах параметр Х, в игре ничего не изменилось?" Поэтому для начала разберемся с этой загадкой.
Основная проблема тут в понимании связи между клиентом и сервером игры. Большинство людей думает, что сервер к примеру, определяет вместимость хранилища и отправляет эту информацию в клиент игры. Но это работает не так, так как в противном случае это бы значительно увеличило время загрузки сервера. При каждом присоединении к серверу, вам нужно было бы загружать всю эту информацию.
Вместо этого игровая информация, такая как вместимость хранилища определяется как в серверной части, так и в клиентской. Клиент пользуется своей собственной информацией, чтобы отображать такие значения, как вместимость хранилища. Он также откажется принять данные от сервера, если они будут превышать значение указанное в клиенте. При этом сервер еще и не был задействован. Поэтому изменения только серверной части не работают.
Серверная часть будут задействована, когда клиент будет принимать посылаемые данные. Данные также посылаются с клиента на сервер и происходит проверка не превышает ли значение вместимости хранилища на серверной части. Если данные проходят, команда выполняется, если нет - то сервер отвечает клиенту, что данные были отклонены.
Итак, какие можно сделать выводы: за сервером остается решающие слово, но клиент очень часто говорит раньше. Все это работает по такому принципу, чтобы уменьшить количество информации передаваемой между клиентом и сервером.
Это значит, что большинство модификаций нужно делать как на серверной части, так и на клиентской, чтобы все заработало.
Что делать с patch.sql файлом
В серверных файлах есть файл с названием patch.sql. Этот файл содержит в себе SQL запросы к официальным патчам. Этот файл выполняется каждый раз при перезапуске сервера и он может отменить все ваши модификации.
По моему опыту этот файл нужно запускать только один раз после каждого патча и после этого его можно удалить. Его переделывают после каждого патча. Также вы можете отредактировать patch.sql и удалить все конфликтующие элементы, если вам не понраву удаление всего файла целиком.
Как сделать
В этой части мы обсудим самые простые модификации, те что требуют изменений только в базе данных и XML файлах. Все относящиеся к делу XML файлы можно найти в папке Data серверной и клиентской части
Для этого нужно модифицировать таблицу objects_types и файл objects_types.xml
Измените MaxContSize чтобы изменить общий вес предметов, которые можно хранить.
Чтобы изменить объекты, которые можно хранить, вам нужно изменить Length (длину) контейнера (в некоторых случаях длину объекта). Каждый объект обладает своей собственной длинной, если его длина превышает длину контейнера, игра отклонит запрос.
Измените Owner Timeout колонку в objects_types таблице. При этом НОЛЬ означает, что времени клайма нету. Значение указываются в секундах
Для начала установите для обхекта время клайма как написано выше.
В серверной и клиентской части модифицируйте skill_types.xml и найдите там следующую строку:
Под ней вы найдете строку:
Там вы увидите равнение с айди объекта. Само айди объекта вы сможете найти в таблицах базы данных или же в objects_types.xml. После этого вводим в нужную строку айди объекта.
В objects_types таблице и в клиентской части в objects_types.XML файле измените UnitWeight
В серверной и клиентской части, отредактируйте skill_types.xml и найдите строку:
Под ней вы найдете строку, которая начинается:
найдите айди необходимого вам здания в базе данный или в objects_types.xml и введите значение после знака равно.
Под способностью, которую вы хотите модифицировать. Далее изменяем множитель.
Эти значения являются базовыми и в игре уровень качества является процентным увеличителем базового значения. То есть качество 100 удваивает множитель уменьшения урона.
Из recipe.xml:
313
Claymore
453
4
30
575
5
30
1
313 это уникальный айди рецепта и его требования будут относится к этому айди. StartingToolsID относится к objects_types базовых инструментов для отдельных случаев. SkillTypeID это айди способностей необходимых для данного предмета. SkillLvl минимальный уровень способностей. Quantity количество произведенных объектов за раз.

на своем локальном сервере,
через ДатаБазу?
Например, нужно насыпать квадрат 100х100,
с уровня 4.0 до уровня 20.0
- в игре это займет уйму времени...
Заранее спс за ответ.