[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4505: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4507: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4508: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4509: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3706)
AERIE Team • Просмотр темы - "Ликбез" по созданию модов на WeiDU

AERIE Team

Все об играх серии Baldur's Gate
Текущее время: 24 ноя 2024, 02:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: "Ликбез" по созданию модов на WeiDU
СообщениеДобавлено: 08 фев 2006, 14:25 
Не в сети
Администратор

Зарегистрирован: 23 сен 2003, 12:13
Сообщения: 1149
Откуда: Санкт-Петербург
Предлагаю в этой теме выкладывать шаблоны кодирования типовых ситуаций при создании модов на WeiDU.
Желательно осветить, например, такие вопросы:
1 Создание файла неприсоединяемого персонажа и размещение его на карте.
2 Создание файла присоединяемого персонажа и размещение его на карте.
3 Создание файла монстра (редактирование существующего) и размещение его на карте.
4 Создание нового предмета.
5 Создание нового заклинания.
6 Создание нового магазина (пункт 1 + магазин)
7 Размещение нового предмета (заклинания) в существующем магазине.
8 Размещение нового предмета (заклинания) во вновь созданном магазине.
9 Кодирование типового диалога с неприсоединяемым персонажем.
10 Кодирование типового диалога с присоединяемым персонажем.
11 Размещение нового предмета (заклинания) у существующего монстра, с цель снять трофеи с хладного трупа.
12 Размещение нового предмета (заклинания) в уже существующем сундуке (шкафу, бочке и тп)
13 Размещение ловушки в каком-нибудь конкретном месте и ее настройка (ловушки).

Для начала хорошо бы подробно осветить эти пункты. В дальнейшем можно будет плавно перейти к более сложным вопросам.
Я тут немного покопался на различных форумах, поспрашивал у знающих людей и вот, предлагаю свои соображения по пункту 7.

Приведу подробный пример мини-мода, который добавляет ранее созданный предмет в существующий в игре магазин.
Наш предмет (назовем файл ХХХ.itm) помещаем в папку "Items". Далее создаем пустую папку "backup".
Далее начинаем писать файл tp2

первым делом создаем строку
BACKUP ~MyMod/backup~ - где MyMod - название нашего мода, а "backup" - та самая пустая папка

далее пишем строку
AUTHOR ~Solofein (BaldurGate@mail.ru)~ - здесь мы указываем свой ник и почтовый адрес для благодарностей или критики :-)

далее пишем строку
BEGIN ~MyMod~ - где "MyMod" название нашего мода

После чего пишем следующий блок
COPY ~MyMod/Items/XXX.itm~ ~override/XXX.itm~ - с помощью этой строки WeiDU скопирует ваш предмет из папки "Items" в папку "Override"
SAY NAME1 ~ xxx ~ - в этой строке между тильдами мы пишем название предмета ДО идентификации
SAY NAME2 ~ xxx ~ - в этой строке между тильдами мы пишем название предмета ПОСЛЕ идентификации
SAY UNIDENTIFIED_DESC ~ xxx ~ - в этой строке между тильдами мы пишем описание предмета ДО идентификации
SAY DESC ~ xxx ~ - в этой строке мы пишем описание предмета ПОСЛЕ идентификации
(Примечание: если у вашего предмета идентификационный показатель равен 0, то есть он всегда идентифицирован, то в этом случае 1 и 2 строки, а так же 3 и 4 - полностью идентичны)

Итак, мы добавили наш предмет в игру. Теперь давайте занесем его в уже существующий магазин. Для этого нужно знать имя файла требуемого магазина. Для примера возьмем Лавку Приключений старины Рибальда. Файл его магазина называется ribald.sto
Пишем такую строку
COPY_EXISTING ~ribald.sto~ ~override/ribald.sto~
ADD_STORE_ITEM + ~ХХХ~ #0 #0 #0 ~IDENTIFIED&UNSTEALABLE~ #1 // Название нашего предмета
здесь ХХХ - файл нашего предмета без расширения.
Я пока еще не разобрался что означают символы #0 #0 #0 ~IDENTIFIED&UNSTEALABLE~ #1
Точнее, я понимаю, что предмет идентифицирован и его нельзя украсть, но как прописать наоброт? И что значит #0 В других модах, у некоторых предметов эти символы различаются.

И, наконец, заключительная строчка
//End of MyMod
////////////////////////////////////

AT_INTERACTIVE_EXIT ~VIEW MyMod/ReadMe-FRWL.txt~

После этого сохраняем ваш текст как Setup-MyMod.tp2
Переименовываем WeiDU.exe в Setup-MyMod.exe

Все, ваш мод готов. Новый предмет должен появиться в ассортименте у Рибальда.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 фев 2006, 20:29 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва
Пара комментариев:
XXX.itm - XXX должно быть максимум 8 символов(только латиница). Название Mytwohandsword.itm - верный кандидат на вылет игры в винду.
Общий формат строки:
ADD_STORE_ITEM "myitem" #10 #0 #0 ~IDENTIFIED~ #5 - в указанной выше строке ITEM + ~ХХХ знак "+" не нужен.
Записи "myitem" и ~myitem~ эквивалентны, т.е. можно написать:
ADD_STORE_ITEM ~myitem~ #10 #0 #0 ~IDENTIFIED~ #5
#10 #0 #0 это число зарядов, с которыми продается данный предмет. Всего у предмета может быть три так называемых extension headers (заголовка расширений). Если предмет является оружием, то один extension header расходуется на его свойства. Оставшиеся два extension headers могут давать возможность кастовать заклинания с этого предмета. Например, у оружия может быть три заклинания Ускорения в день и два заклинания Невидимость в день.
Соответственно для этого случая предмет(у оружия первый extension header всегда пишется как #0) может продаваться с разным числом зарядов:
#0 #0 #0 - без зарядов
#0 #1 #1 - по одному заклинанию
#0 #3 #2 - 3 и 2 заклинания соответственно для указанного выше примера.
Усли предмет не является оружием, все три extension headers могут быть отведены под заклинания.
Поле ~IDENTIFIED~ может иметь следующие значения:
IDENTIFIED
UNSTEALABLE
STOLEN
IDENTIFIED&STOLEN
IDENTIFIED&UNSTEALABLE
#5 - число предметов в продаже.
Предмет обычно продается в идентифицированном состоянии, поэтому пишутся только
SAY NAME2 ~myitem~
SAY DESC ~свойства myitem~


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 фев 2006, 17:46 
Не в сети
Администратор

Зарегистрирован: 23 сен 2003, 12:13
Сообщения: 1149
Откуда: Санкт-Петербург
Спасибо огромное!
Постараюсь все учесть. А как насчет поэтапного освещение остальных пунктов "начального образования на WeiDU"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 фев 2006, 19:05 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва
Проверь почту.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 фев 2006, 06:44 
Не в сети
Аватара пользователя

Зарегистрирован: 15 окт 2005, 21:18
Сообщения: 1369
Badgert:

WeiDU не всесилен. Например, чтоб "с нуля" создавать итемы, npc, локации одной программой Веймера точно не обойдешься. Но для модов формат WeiDU привлекателен тем, что вводит в инфинити-модостроение некий единый стандарт и позволяет делать какой никакой откат с "деинсталяцией" мода. Так же он полностью берет на себя скрипты и диалоги. И именно в добавлении текстов наиболее проявляется его привлекательность, потому что он позволяет избежать пересечения описаний (новых предметов, спеллов и т.д) и диалогов от различных модов в одном единственном файле игры dialog.tlk. Потому что не-WeiDU моды этот файл заменяли своим. А значит - если ставишь один мод, то другой уже не поставишь, т.к. dialog.tlk для игры один.

Я бы сказал, что WeiDU <u>вводит</u> в игру описание для перса/ итема/ спелла/ событий, но не стал бы говорить, что программа Веймера <u>создает</u> перса/ итем/ спеллы/ события в игре. Под "вводит" подразумевается: копирование (с созданием резервной копии уже существующего файла с таким же именем) уже созданного файла в каталог игры override; WeiDU-изменения файла dialog.tlk, дающего авторское описание вводимого в игру элемента. Установленные через WeiDU моды сохраняются в файле "WeiDU.log". Если мод программой Веймера "деинсталируется", то содержимое измененных файлов восстанавливается. Если файлы были новыми, то они удаляются WeiDU из каталога override при "деинсталяции". Но файл dialog.tlk при "деинсталяции" не изменяется: т.е. внесенные модом записи так и остаются там, хотя и не активны.

Чтоб вводить в игру перса/ итемы/ спеллы/ локации не достаточно разобраться с программой Веймера. Нужно разбираться (в этом помогут наиболее популярные Near Infinity и Infinity Explorer) во внутреннем формате файлов, описывающих в игре персонажей/ итемы/ спеллы/ локации. WeiDU копирует уже готовые файлы персонажей/ итемов/ спеллов/ локаций из папки мода в папку override и может их немного корректировать при этом. Либо корректировать файлы уже существующего в игре, размещая их в override. Например, сделать итем неиспользуемым для класса "Кавалер".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 фев 2006, 16:24 
Не в сети
Администратор

Зарегистрирован: 23 сен 2003, 12:13
Сообщения: 1149
Откуда: Санкт-Петербург


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 фев 2006, 02:57 
Не в сети
Аватара пользователя

Зарегистрирован: 12 июн 2005, 02:07
Сообщения: 121
Откуда: Мурманск
Ну, практически цитируя туториал от TeamBG:
Нужно создать dlg-файл для продавца (при помощи notepad и weidu), в котором он может говорить все, что душе угодно, а чтобы открыть окно торговли, есть такое действие:
StartStore("XXXХХХХХ",LastTalkedToBy())
где ХХХХХХХХ - название файла магазина без расширения .sto
Потом надо сделать cre-файл для продавца. Здесь поможет Near Infinity. Не забыть назначить соответствующий диалог этому существу.
Следующий шаг - добавить в скрипт необходимого района следующий код, чтобы там появился продавец:
IF Global("########","GLOBAL",0)
THEN
RESPONSE #100
CreateCreature("********",[XXXX.YYYY],FF)
SetGlobal("########","GLOBAL",1)
END
где ######## - уникальное имя переменной, можно написать что угодно,
******** - название файла продавца без расширения .cre,
ХХХХ - координата по оси Х местоположения продавца,
YYYY - координата по оси Y местоположения продавца,
FF - направление, в котором будет смотреть продавец.
После сохранения нового baf-файла, его нужно скомпилировать (weidu поможет), расширение уже скомпилированного файла - bcs. Это можно сделать, написав в tp2-файле такую строчку:
COMPILE ~ХХХ.baf~
И, наконец, последнее - нужно убедиться, что все 4 необходимых файла скопированы в каталог override (sto, dlg, cre и bcs).
Вот и все, теперь при начале новой игры или загрузки любого сэйва, продавец появится в нужном месте. Ура!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 фев 2006, 15:23 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва


Вложения:
inst_dltcep.zip [47.88 КБ]
Скачиваний: 832
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 фев 2006, 02:22 
Не в сети
Аватара пользователя

Зарегистрирован: 29 янв 2006, 17:07
Сообщения: 59
Откуда: Днепропетровск


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 фев 2006, 02:26 
Не в сети
Аватара пользователя

Зарегистрирован: 12 июн 2005, 02:07
Сообщения: 121
Откуда: Мурманск


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 фев 2006, 20:52 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва
Для всех, кому это интересно, выкладываю статью по редактированию предметов в DLTCEP.


Вложения:
item_dltcep.zip [154.67 КБ]
Скачиваний: 828
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 фев 2006, 17:46 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва
По просьбе Badgert-а, решившего перевести в Weidu формат мод "Регион Террора", я написал небольшую статью о том, как это сделать, на примере небольшого мода "Domains of Dread". В архиве находится сама статья и результат преобразования мода в Weidu формат. Правда из-за очень большого размера я заменил файл HELLOLY.bam на другой, с тем же названием. Если кому-то он нужен, его можно выложить дополнительно, однако я надеюсь, что Badgert оттестирует этот мод и выложит его на ftp(HELLOLY.bam у него есть). В этом моде должно быть довольно серьезное сражение с драколичем.


Вложения:
old_mod.zip [39.22 КБ]
Скачиваний: 786
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 фев 2006, 16:02 
Не в сети
Администратор

Зарегистрирован: 23 сен 2003, 12:13
Сообщения: 1149
Откуда: Санкт-Петербург


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 фев 2006, 17:40 
Не в сети

Зарегистрирован: 10 май 2004, 14:40
Сообщения: 232
Откуда: Москва


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 фев 2006, 21:00 
Не в сети
Аватара пользователя

Зарегистрирован: 08 сен 2005, 10:54
Сообщения: 114
Откуда: Москва

_________________



Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Not able to open ./cache/data_global.php