Предлагаю в этой теме выкладывать шаблоны кодирования типовых ситуаций при создании модов на 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
Все, ваш мод готов. Новый предмет должен появиться в ассортименте у Рибальда.
Я вообще-то не специалист и могу ошибаться. Если был в чем-то неправ, то не со зла, а по неведению. Прошу меня поправить более опытными программистами. И надеюсь, увидеть столь же подробные описания для остальных пунктов из начала сообщения.