Данный материал принадлежит сайту "Летописи Тамриэля" (TES.AG.RU) - Копия для печати

TES4 Construction Set
HTTP_HOST=tes.ag.ru HTTP_X_REAL_IP=62.210.113.42 HTTP_X_FORWARDED_FOR=62.210.113.42 HTTP_CONNECTION=close HTTP_REFERER=http://tes.ag.ru/cs/tes4cs/AboutModdingEtiquetteRus.shtml HTTP_USER_AGENT=Wget/1.19.4 (linux-gnu) HTTP_ACCEPT=*/* HTTP_ACCEPT_ENCODING=identity PATH=/sbin:/usr/sbin:/bin:/usr/bin SERVER_SIGNATURE= SERVER_SOFTWARE=Apache SERVER_NAME=tes.ag.ru SERVER_ADDR=10.40.0.223 SERVER_PORT=80 REMOTE_ADDR=10.40.0.15 DOCUMENT_ROOT=/sites/tes.ag.ru/htdocs [email protected] SCRIPT_FILENAME=/sites/tes.ag.ru/htdocs/cs/tes4cs/AboutModdingEtiquetteRus.shtml REMOTE_PORT=48607 GATEWAY_INTERFACE=CGI/1.1 SERVER_PROTOCOL=HTTP/1.0 REQUEST_METHOD=GET QUERY_STRING=printcopy REQUEST_URI=/cs/tes4cs/AboutModdingEtiquetteRus.shtml?printcopy SCRIPT_NAME=/cs/tes4cs/AboutModdingEtiquetteRus.shtml DATE_LOCAL=Friday, 04-Oct-2019 04:24:39 MSK DATE_GMT=Friday, 04-Oct-2019 01:24:39 GMT LAST_MODIFIED=Monday, 16-Jul-2007 18:47:21 MSD DOCUMENT_URI=/cs/tes4cs/AboutModdingEtiquetteRus.shtml USER_NAME=<unknown> DOCUMENT_NAME=AboutModdingEtiquetteRus.shtml QUERY_STRING_UNESCAPED=printcopy section_title=TES4 Construction Set sub_title= page_title=Об этикете разработки модов sub_file=empty printcopy=yes
~ Об этикете разработки модов ~

Об этикете разработки модов

Планирование

При создании модов не забывайте об игровом балансе. Если вы создадите предмет, обычно нуждающийся в перезарядке, а в вашем моде не требующий зарядов, или создадите супер заклинания с малыми или нулевыми требованиями к магии, вы существенно измените баланс игры.

Совместимость

Не изменяйте объекты, содержащиеся в Oblivion.esm, если только это не является целью вашего мода. Примерами плохих изменений могут служить изменение содержимого сундука, целевого маркера загрузочной двери, свойств объекта; присвоение объекту скрипта или изменение магических эффектов. Подобные изменения влияют на все экземпляры этих объектов в игре. Для предотвращения негативных последствий перед внесением изменений создайте копию исходного объекта с новым ObjectID.

Сохраняйте свой мод чистым. Информацию по очистке мода можно найти в статье "Инструкция по очистке мода".

Сохраняйте чистыми новые диалоги. Информацию по "грязным" диалогам можно найти в статье ""Грязный" диалог".

Не создавайте самостоятельные диалоги, добавляющие темы или приветствия всем NPC в мире без предоставления возможности их отключения. Другой разработчик модов может захотеть создать NPC, который абсолютно ничего не знает о текущих событиях или не желает о них знать. Если вы хотите добавить общие темы всем NPC, добавляйте их в квест "Generic" или создайте собственный квест и протестируйте условия "GetIsPlayableRace == 1" и "GetInFaction ForgottenOnesFaction == 1".

Не нажимайте кнопку "Recompile All" в окне редактора скриптов Script Edit. В противном случае все скрипты из открытых файлов esm и esp будут добавлены в ваш мод, увеличивая его размер и создавая конфликты с другими модами.

Указывайте имена измененных областей мира (Worldspaces) в содержании вашего мода, в описании загрузочного файла и на странице Mod Worldspace Alterations.

Предотвращение багов

Ничего не изменяйте в ячейке (3,3) в любой области мира. Из-за бага в движке сразу после загрузки измененной ячейки у игрока пропадут все маркеры, в том числе маркер игрока на локальной карте. Удаление изменений в ячейке (3,3) из вашего мода поможет решить данную проблему.

Эффективность

Не следует без необходимости делать ссылки на объекты постоянными. Постоянные ссылки всегда загружены в память.

Укажите "No Low Level Processing" персонажам (существам и NPC, в том числе мертвым или отключенным), которые не будут покидать их ячейку. Благодаря этому их скрипты и поведение будут обрабатываться реже, когда игрок находится далеко от этой ячейки.

Не указывайте "Quest Item" без необходимости. Скрипты квестовых предметов выполняются каждый кадр игры вне зависимости от положения игрока. Если квестовый статус предмета необходим, лучше включать и выключать его с помощью скриптов.

Сохраняйте скрипты максимально эффективными. Скрипты очень быстро уменьшат производительность, если слишком много их работает одновременно – убедитесь, что ваши скрипты работают только тогда, когда должны работать. Избегайте глобальных скриптов всегда, когда это возможно.

  • По возможности избегайте использования блоков "gameMode" (если вы можете использовать блок "onLoad", используйте его).
  • Если скрипт только включает/выключает что-либо, постарайтесь организовать включение/выключение из внешнего скрипта. Если есть группа одновременно включаемых/выключаемых ссылок, свяжите их с одной родительской ссылкой и обращайтесь из скрипта только к ней.
  • По возможности используйте быстрый выход из блоков "gameMode". Например, вместо выполнения множества условных операторов используйте только один.
  • При изменении состояния нескольких объектов (например, указании нескольким персонажам атаковать игрока после выполнения условий) используйте один скрипт только на одном из объектов вместо создания нескольких скриптов для каждого объекта.

Избегайте использования функции "PlaceAtMe" для создания копий объекта, если можно использовать функцию "MoveTo" для существующего объекта. Помещенные с помощью первой функции объекты не удаляются из игры и могут со временем существенно увеличить файл сохранения.

Выпуск мода

Сопровождайте ваш мод подробным файлом Readme. В таком файле приводятся описание мода и его особенностей, возможные баги и технические проблемы, список изменений исходных объектов, возможные источники конфликта с другими модами, а также контактная информация для сообщений об обнаруженных багах и проблемах. Создание файла Readme в простейшем текстовом редакторе (например, Блокноте) позволит прочитать его любому пользователю. Чтобы избежать перезаписи файлом Readme другого мода, задайте уникальное имя, например, "ИмяВашегоМода - Readme!".

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

Оригинал статьи: About Modding Etiquette.

Перевод: Олег Н. Петров aka Олаурон Мор-Галад



© 1998—2013 Kanobu Network, OOO «Рамблер-Игры».
Также см. дополнительную правовую информацию/legal information об используемых материалах и торговых марках.
Ведущий сайта - Михаил Требин. Идея сайта - Сергей Горелов. Создатель сайта - Алексей Тихомиров.