Часть I: Подготовка к работе
1. Извлеките NPC_TravelingSalesman, NPC_FaerieQueen, NPC_Apothecary, и MagicStarterKit из EP 7 в папку Downloads.
2. Извлеките NPCCatererPP из EP 2 в папку Downloads.
3. Откройте Tmog и найдите файлы traveling salesman, starter kit, и NPCCatererpp; запишите для каждого их GUIDs в Блокноте (Notepad).
4. Дважды клонируйте wandering salesman NPC. Назовите один из клонов "npcdelivery", а другой - "npcspecial". После этого, входите в редактирование и назовите их соответственно. Запишите GUIDs для кажого из клонов.
5. Удалите оригинальный файл traveling salesman NPC.
6. Дважды кКлонируйте starter kit. назовите один клон "delivery kit", а другой - "specialkit". Зайдите в редактор, назовите каждый kit соответственно, и запишите для каждого GUID.
7. Удалите оригинальный файл starter kit.
8. Клонируйте дважды NPCCatererpp. Назовите один клон "deliverypp", а другой - "specialpp". Зайдите в редактор и назовите каждый starter kit, и потом запишите их GUIDs.
9. Удалите оригинальный NPCCatererpp.
10. В этом месте можно сохранить файл из Блокнота на диск.
11. Закройте Tmog.
12. Прежде чем мы двинемся дальше, нужно создать папку для дома нашим созданным клонам. NPCs не будут работать, если их оставить в папке Transmogrified.
Нажмте кнопку Пуск > Мой компьютер > Локальный диск [C] > Program Files > Maxis > The Sims > Downloads. В меню File выбираем New > New Folder, и называем папку "Deliveries".
13. Переместите следующие файлы из папки Transmogrified в только что созданную папку Deliveries:
Код:
npcdelivery
npcspecial
deliverykit
specialkit
deliverypp
specialpp
Переместите следующие файлы из папки Downloads в папку Deliveries:
Код:
NPC_FaerieQueen
NPC_Apothecary
Затем нужно скопировать еще больше информации, прежде чем мы начнем хакать. Дальше о том, во что будет "одет" наш NPC.
14. Откройте IFF2, расположите и откройте файл NPC_Apothecary.
15. Кликните STR# и затем дважды кликните #200 "bodystring". Когда откроется окно строкового редактора, нужно будет скопировать в Notepad строки #1 и #2. Убедитесь, что эти строки принадлежат Apothecary Todd. Кликните Cancel, и закройте файл. Нет необходимости сохранять изменения.
16. Расположите и откройте в IFF2 файл NPC_FaerieQueen.
17. Кликните STR# и потом дважды кликните #200 "bodystring". Когда откроется окно строкового редактора, скопируйте в Notepad lines #1 and #2, убедитесь, что эти строки принадлежат Fairy Queen. Кликните Cancel, и закройте файл. Нет необходимости сохранять изменения. Закройте IFF2 на секуду. Нужно создать пру новых папок для временного хранения.
18. Откройте папку Deliveries и внутри создайте еще две папки. Одну назовите "Fairy BMP", а другую - "Apothecary BMP". Закройте все; нам нужно вернуться в IFF.
19. Откройте IFF и потом откройте NPC_Apothecary. Кликните BMP_ и выберите все, что увидите (от #2002 до #2007).
20. Кликните правой кнопкой мыши и выберите из меню Export. Сохраните эти файлы в созданную ранее папку Apothecary BMP. Сохранив все файлы, закройте файл NPC_Apothecary.
21. Нужно то же самое сделать для fairy, поэтому в IFF открываем NPC_FaerieQueen. Кикаем BMP_ и выбираем все, что есть. Экспортируем и сохраняем эти файлы в папку Fairy BMP. Закрываем IFF.
22. Теперь нужно убрать лишнее. Идем в папку "Deliveries" и удаляем оба файла - Apothecary Todd и Fairy Queen file (не папки, а файлы!).
23. Если есть такая возможность, распечатайте GUID из Блокнота), это будут удобные ссылкиe. Если распечатать нельз, оставьте файл открытым, вы можете к нему обращаться, а это нужно будет, для копирования и вставки в строки.
Часть II: Подготовка телефонного плагина
1. Откройте IFF, и затем откройте deliverypp (который должен быть в папке Deliveries).
2. Кликните раздел BHAV. Мы изменим три behaviors: #4097 "Schedule Caterer", #4134 "CT - Plugin Call", и #4141 "CT - Phone Plugin Menu". Что мы попробуем сделать, это найти все GUIDs, которые принадлежат caterer (первоначально это был плагин для вызова постащика), и заменим их GUID нашего npcdelivery.
3. Дважды кликните #4097, чтобы открыть. Перепишите строки, и затем обратите внимание на строку 4. Установите на следующий - Next (сосед типа GUID 4a731b75). Это - GUID поставщика провизии (caterer), поэтому стоит записать его данные, на тот случай, если он нам снова понадобится. Мы заменим этот GUID на GUID нашего npcdelivery.
4. Мы хотим ввести наше GUID число в поля Hex Parameter. Ввод GUIDs в IFF немного путанный, поэтому я постараюсь объяснять подробно и с примерами. Смотрите дальше.
Допустим, что наш GUID - это число 45681234 (можно смотреть на него так: 45 68 12 34).
Нужно полностью изменить это число, (
в соответствии с принципами кодирования двоичной информации в PC компьютерах. А это значит, что сначала машинное слово младших разрядов, потом машинное слово старших, и, кроме того, в каждом слове сначала байт младших разрядов, а потом старших. - RSL). Поэтому GUID будет выглядеть так: 34 12 68 45. Убедитесь, что вы уяснили суть этого процесса, так как это очень важно.
Теперь, с этой новой частицей знания, введем новый GUID (используйте, конечно, свое собственное число, а не этот пример). В первых четырех полях слева направо вводим следующее:
Код:
Box 1: 34
Box 2: 12
Box 3: 68
Box 4: 45
Оставляем остальные поля без изменения. Кликаем OK.
5. Дважды кликаем #4134 и переписываем строки. Обратите внимание на строку 3. Выберите ее и потом введите ее GUID в поле Hex Parameter. Кликните OK.
6. Дважды кликните #4141 и перепишите строки. В этом behavior нужно изменить две строки. Выберите строку #3 и введите ее GUID. Выберите строку #5 и введите ее GUID. Кликните OK.
7. Далее нужно настроить меню, поэтому кликаем STR#, и затем дважды кликаем #302 "MakeActionString prim string set". Когда откроется окно строкового редактора, мы модифицируем строку #0. Это то, что появится в меню, если кликнуть по телефону. Кликните, чтобы выбрать эту строку и в поле редактирования напишите свой текст. У меня это Place Order/Ingredients. Я выбрала это потому, что этот телефонный плагин для обычных поставок предметов. Кликните OK.
8. Дважды кликните #301 "Dialog prim string set". Здесь не так много нужно будет менять. Каждая строка очевидна, но для примера я буду приводить то, что вставлено в мой плагин:
#0 MagicCo Supplies, Вы хотите заказать ингредиенты? Наши пакеты продаются за 0 и содержат по одному каждого - масло, воск, поганки, сахар и т. д.
Примечание: $$Local:1 - место, где хранятся монеты. Если кликнуть BCON и затем дважды кликнуть #4097 "Caterer Call Tuning", вы увидите строку 0. Здесь можно вставить стоимость пакета, но мы решили не использовать $$Local:1 запрос. Я оставила этот вызов и вместо него вставила количество в строку 0 из BCON #4097.
#1 Delivery Man (имя моего NPC)
#2 Your bank account will be debited 0, благодарим за посещение магазина MagicCo.
#3 Your total today comes to 0, спасибо за ваш патронаж.
#4 That'll be 0. Спасибо, звоните еще.
#5 Сейчас мы заняты, Ваш заказ мы примем попозже. Спасибо за звонок.
#6 Прекрасно, но не вините нас, если ваши заклинания не получатся.
#7 Мы понимаем, наши компоненты недешевы.
#8 Извините, но, похоже, у вас нет $$Local: 1. Позвоните после получки.
Кликните OK, Сохраните свой файл, и закройте его.
9. Затем мы будем работать с specialpp плагином. Откройте его в IFF, и проделайте шаги с 3 по 8, приведенные выше. Одно только я сделала по другому - я сделала свою коробку специальных ингредиентов большей стоимости. Так, везде, где выше я ссылалась на 0, я заменила это на 0.
Часть III: Одеваем NPCs
На этом шаге легче и безопаснее открыть в Блокноте файл, в котором мы сохранили строки и GUIDs, чтобы копировать оттуда и вставлять, а не вводить вручную. Этот раздел проведет вас через процесс предоставления NPCs совершенно нового внешнего вида.
1. Откройте npcdelivery в IFF и кликните STR#, и потом дважды кликните "bodystring". Скопируйте из файла в Notepad первую строку для парня Apothecary, и вставьте в IFF вместо строки #1.
2. Скопируйте вторую строку Apothecary парня и вставьте в IFF вместо строки #2. Кликните OK.
3. Следующий шаг потребует немного времени, но просто внимательно все выполняйте, чтобы избежать ошибок. Это нужно сделать так, чтобы надлежащие картинки показывались в диалогах. Кликните на BMP_ и затем кликните правой кнопкой мыши где-нибудь в правой стороне окна. Выберите Import. Найдите папку Deliveries, и в ней папку Apothecary BMP. Мы будеи импортировать BMP файлы из этой папки по одному, чтобы убедиться, что мы из правильно называем.
Выберите BMP_2002 и импортируйте его. Измените Type на BMP_, ID должен быть 2002 и имя должно быть "faces". Кликните OK, чтобы переписать существующий.
Импортируем BMP_2003. Изменяем Type на BMP_, ID на 2003, и имя должно быть "rel. images". Кликаем OK, чтобы переписать существующий.
Импортируем BMP_2004. Изменяем Type на BMP_, ID на 2004, и имя должно быть "thumbnail". Кликаем OK, чтобы переписать существующий.
Импортируем BMP_2005. Изменяем Type на BMP_, ID на 2005, и имя должно быть "speech_med". Кликаем OK, чтобы переписать существующий.
Импортируем BMP_2006. Изменяем Type на BMP_, ID на 2006, и имя должно быть "speech_large". Кликаем OK, чтобы переписать существующий.
Импортируем BMP_2007. Изменяем Type на BMP_, ID на 2007, и имя должно быть "web_image". Кликаем OK, чтобы переписать существующий.
Сохраняем свой файл и закрываем его.
4. Открываем npcspecial. Выполняем шаги с 1 по 3, приведенные выше, за исключением того, что скопируем и вставим NPC_FaerieQueen строки, и импортируем BMP файлы из папки Fairy Queen, расположенной внутри папки Deliveries.
Сохраните свой файл и закройте его.
Часть IV: Программирование Delivery NPCs
Первое,что мы сделаем своим NPC, запишем в некоторых диалоговых строках, чтобы они были готовы , в случае неудачи при поставке. В этом случае никогда не будет неудачи при поставке. Если у сима будет недостаточно симолеонов во время телефонного заказа, потавщик просто не приедет в его дом, отдавая таким образом этот лишний шаг. Однако, для приобретения некоторого знания и опыта, так или иначе мы это сделаем.
1. В IFF откройте свой файл npcdelivery и кликните STR#, и затем найдите и дважды кликните #301 "Dialog prim string set". Нам нужно добавить две новые строки, поэтому кликаем правой кнопкой мыши и выбираем в меню "Add". Теперь должно быть 6 строк.
2. Кликните строку #5 и в поле редактирования напечатайте что-нибудь типа: Муля! Не нервируй меня! Нет симолеонов, нет сткульев!
3. Кликните строку #6 и в поле редактирования напечатайте соответствующее название или описание диалогового окна NPC. В данном случае: Поставщик.
Следующим шагом мы изучим кое-что другое, так, даже если мы, кажется, попадаем на дорогу в Детройт (и мы), шучу я, мы по ней и последуем. Это для вашей же пользы!
4. Кликните BHAV, и затем найдите #4101 "Поставка стартового магического комплекта" и дважды кликните его. Мы удалим все показывающиеся сейчас строки, но прежде, чем мы сможем удалить их, нужно изменить True/False строки, чтобы они читались True/True, True/False, False/False... или любую другую их комбинацию.
Причина: IFF не позволит удалить строку, которая куда-нибудь направляет. Go figure.
Изменив все True/False строки, двинемся дальше и удалим все строки. Затем добавим свои новые строки так, чтобы NPC знал, что делать с поставкой. Я объясню каждую по ходу дела.
5. Кликните правой кнопкой мыши свое только что созданное белое место, и выберите в меню "Add". Сделайте это всего 8 раз, получив таким образом пустые строки от #0 до #7.
6.Кликните строку #0. Мы сделаем, чтобы эта строка заставляла NPC найти входную дверь дома сима или самого сима, если он, вдруг, стоит где-нибудь во дворе. Это будет глобальный запрос. Введте следующее в соответствующие поля:
Код:
Function: 4099
True Line: 1
False Line: Error
Так как это глобальный запрос, мы можем игнорировать поля Parameter. Вместо этого мы будем использовать поля Hex Parameter. В каждом поле печатаем FF. Строка 0 теперь должна выглядеть так:
Код:
(priv:) get close to door or person 1, Error
7. Кликните строку #1. Эта строка сообщит NPC сколько денег вычесть со счета сима в уплату за поставку. Так как пакет стоит 0, чтобы вычитаться как разный расход, нам нужно ввести следующее:
Код:
Function: 25
True Line: 2
False Line: 6
Param 1: 0
Param 2: 350
Param 3: 0
Param 4: 0
Строка 1 теперь будет выглядеть так:
Alter Budget (subtract 350 as misc expense) 2, 6
8. Кликните строку #2. Эта строка прикажет игре показать вычитаемое количество денег над головой сима. Введите следующее в поля:
Код:
Function: 2
True Line: 3
False Line: Error
Param 1: 1
Param 2: 350
Param 3: 1280
Param 4: 1810
Строка 2 теперь будет выглядеть так:
my person data Money Amount over Head Assign To: 350 3, Error
9. Кликните строку #3. Эта строка прикажет игре выпалить ингредиенты пакета поставки. Введите следующее:
Код:
Function: 42
True Line: 4
False Line: 7
Param 1: оставьте как есть
Param 2: оставьте как есть
Param 3: 6
Param 4: 0
Param 1 и Param 2 оставлены без изменений, именно здесь будут GUID вашего deliverykit, и мы будем использовать поля Hex Parameter для ввода. Найдите GUID своего deliverykit в файле Блокнота (Notepad), разверните их и введите в первые 4 поля.
Запомните: Если GUID номер вашего комплекта 12 34 56 78, он должен выглядеть так: 78 56 34 12.
Строка 3 должна тепрь выглядеть так:
Create New Object Instance (GUID: 12345678, place out of world (put new object id in stack object)) {flag=0}
10. Кликните строку #4. Эта строка ни что другое, как немного программирования, чтобы сообщить игре, что создаваемый объект принадлежит NPC. Введите следующее:
Код:
Function: 2
True Line: 5
False Line: Error
Param 1: 0
Param 2: 11
Param 3: 1280
Param 4: 793
Строка 4 тперь должна выглядеть так:
Local Variable 0 Assign To: My object id 5, Error
11. Кликните строку #5. Эта строка сообщает NPC где положить пакет. Введите следующее:
Код:
Function: 16
True Line: 7
False Line: 7
Param 1: 0
Param 2: 5
Param 3: 0
Param 4: 0
Строка 5 должна теперь выглядеть так:
Find Location For (start at Local Variable 0, user editable, prefer empty)
12. Кликните строку #6. В случае неудачи с поставкой эта строка сообщит игре, какую показать строку диалога. Это те "лишние" строки, которые мы добавляли ранее. Введите следующее:
Код:
Function: 36
True Line: 7
False Line: Error
Param 1: 301
Param 2: 6
Param 3: 0
Param 4: 7
Строка 6 теперь должна выглядеть так: Dialog (message: id#5, icon: automatic) {Title: id#6}
13. Кликните нашу последнюю строку - Line #7. Эта строка - глобальный запрос, приказывающий NPC покинуть участок, как только работа будет выполнена (то есть, пакет будет доставлен). Введите следующее:
Код:
Function: 374
True Line: True
False Line: True
Param 1: оставьте как есть
Param 2: оставьте как есть
Param 3: оставьте как есть
Param 4: оставьте как есть
Введите FF в каждый из полей Hex Parameter, и вы закончили с этим щенком, но что вы думаете? Вам теперь нужно сделать это снова для файла npcspecial!
В этом месте можно задаться вопрососм: "Почему мы не можем закончить все с одним NPC, а потом перейти к следующему?" Хорошо, мы можем, но из собственного опыта, повторение - лучший преподаватель. Итак, стоимость звучит как сломанная пластинка: шутю!
Сохраните свой файл и закройте его.
14. В IFF откройте свой файл npcspecial и выполните все вышеописанные шаги, не забывая заменять цену пакета с 0 на 0, и имя NPC везде, где оно появляется с Delivery Person на Special Delivery Person. Что еще важнее, убедитесь также, что вводите GUID вашего specialkit.
Проверка объекта: Теперь самое время запустить игру и проверить свои NPCs. Конечно, среди поставляемых коробок не будет ничего кроме нормальной коробки стартового комплекта, но мы это исправим в следующем разделе.
Ну как, все работало? NPCs нормально приходили к двери? Если да, переходим в папку Deliveries и удаляемпапки Fairy BMP и Apothecary BMP.
Если же это не работало, значит вы что-то пропустили или ошиблись. Повторите свои шаги, чтобы убедиться в том, что вы сделали все правильно, и затем проверьте еще раз.
Часть V: Создание поставляемых коробок
Так как игра уже имеет Traveling Salesman deliveryman, который приносит нормальную желтоватую коробку, вы можете сделать две коробки разных цветов. Если есть такое желание, двигаемся дальше, но предупреждаем: коробки имеют больше спрайтов, чем двуспальная кровать.
Ну хорошо, в этом разделе мы займемся нашими поставляемыми коробками. Они называются "deliverykit" для обычных ингредиентов, и "specialkit" - для специальных.
Deliverykit: Наша поставляемая коробка с обычными ингредиентами стоит 0, и упакован четырьмя каждого, чеснока, масла, сахара, baking mix, поганок и пота жабы. Позже вы сможет добавить еще другие компоненты или удалить их, как найдете нужным, но для обучения мы оставим те же самые 6 предметов.
1. Откройте IFF, найдите свой файл deliverykit и откройте его в IFF. Первое, что нужно изменить, раздел поведений - behaviors, поэтому кликаем BHAV.
2. Дважды кликните #4097 "Interaction - Open" (Взаимодействие - Открыть). Это поведение содержит несколько строк кода, который заставляет spells looker-upper contraption, нору и заряжатель палочки появиться при открытии коробки. Нам это не нужно в наших поставляемых пакетах, поэтому избавимся от этих строк.
3. Кликните правой кнопкой мыши и выберите в меню "rewrite" (переписать).
4. Выбирайте по очереди каждую строку и сделайте в каждой True/Error. IFF не позволит удалить строки, которые куда-нибудь ведут.
5. Затем удалите строки в том порядке, как указано ниже:
Цитата:
Line 17
Line 11
Line 10
Line 9
Line 8
Line 7
Line 6
Line 5
|
У вас должно остаться 15 строк после удаления выше перечисленных строк.
6. Теперь нужно заново связать строки. Используя строки True/False, связываем их следующим образом:
Код:
Line 0 False/1
Line 1 2/Error
Line 2 3/15
Line 3 4/13
Line 4 5/Error
Line 5 6/Error
Line 6 7/Error
Line 7 8/8
Line 8 9/Error
Line 9 10/Error
Line 10 11/Error
Line 11 12/Error
Line 12 True/Error
Line 13 14/Error
Line 14 3/Error
Line 15 False/Error
Кликаем OK.
7. Наш пакет сейчас содержит масло, поганки и пот жабы; но у нас отсутствуют три других ингредиента. Мы немного сэкономим время и избежим неприятностей, экспортируя одно из наших поведений компонента и импортируя его назад в созданные поведения для отсутствующих сахара, чеснока и baking mix. Выберите и кликните правой кнопкой мыши Behavior #4124. Выберите в меню "Export" (Export Data Only), и сохраните свое поведение на рабочий стол.
8. Давайте добавим поведение сахара. Кликаем правой кнопкой мыши и в меню выбираем "Import". Идем на рабочий стол, находим там BHAV 4124 и импортируем его. Вводим следующее в поле:
Type: BHAV
ID: 4131
Name: Get Sugar
Кликаем OK.
9. Добавим строку поведения для чеснока. Кликаем правой кнопкой мыши и выбираем в меню "Import", снова импортируем BHAV 4124. Вводим следующее в поле:
Type: BHAV
ID: 4132
Name: Get Garlic
Кликаем OK
10. Добавляем поведение для baking mix. Кликаем правой кнопкой мыши и в меню выбираем "Import", импортируем BHAV 4124, и вводим следующее в поле:
Type: BHAV
ID: 4133
Name: Get Baking Mix
Кликаем OK
11. Если вы посмотрите, то заметите, что каждый из оригинальных компонентов имеет строку TEST. Начиная с наших поведений "ingredient getting" (получение компонента) все будут действовать одинаково, мы можем использовать одно поведение TEST, чтобы позаботиться обо всех. Поскольку Get Butter - TEST - первый, будем использовать его, но можно было так же легко выбрать любой другой из них. Давайте подготовим наше TEST поведение прямо сейчас.
12. Дважды кликните #4128 "Get Butter TEST". Удалите строку 1, которая выглядит так: (glob: ) In Use? Убедитесь, что Line 0 сейчас указывает на 1/False, а Line 1 - на True/False. Кликните OK.
13. Затем неплохо будет записать эти номера поведений, чтобы не переключаться постоянно между окнами.
Код:
Butter - #4124
Toadstools - #4125
Toad Sweat - #4126
Sugar - #4131
Garlic - #4132
Baking Mix - #4133
TEST - #4128
Banish - #4105
Banish скрипт будем использовать для того, чтобы избавиться от коробки, как только сим получит поставку, и добавим то, что он хоет, к инвентарю.
14. Давайте убедимся, что наши поведения компонентов корректно работают. Помните, мы хотим, чтобы коробка содержала по 4 каждого. Дважды кликите #4124 "Interaction - Get Butter" (Взаимодействие - Получить масло). Перепишите, а затем выберите строку 4. Запишите в нее эти числа:
Код:
Parameter 1: 2
Parameter 2: 1
Parameter 3: 1100
Ваша строка должна теперь выглядеть так: Stack Obj's Attribute 2 - = 1
Найдем Attribute 2 позже, и изменим строку так, чтобы получить по 4 каждого из компонентов. Прямо сейчас и продолжим работать с нашими индивидуальными поведениями компонентов.
FYI: Можно выбрать любую другую из этих Attribute строк для управления количеством компонентов. Я выбрала для примера 2.
15. Найдите строку, которая выглядит так: Manage Inventory (1.x Animate Object in 2.0): it should be line 5.
Нам нужно сделать, чтобы эта строка передавала управление на Standard Exit line (строку стандартного выхода), поэтому пишем 8 для строки True Line и 8 для строки False Line. Кликаем OK.
16. Делаем то же самое для для всех остальных "Get" поведений (выполняя шаги 14 и 15, приведенные выше).
17. Нужно сделать еще одно изменение в наших поведениях компонентов для сахара, чеснока и Baking Mixed. Так как мы импортировали для них всех поведение масла, если мы не изменим числа GUID, которые сейчас присутствуют в поведениях, мы получим ужасное множество масла. Я дам вам GUIDs для сахара, чеснока и baking mix, но вы можете получить их самостоятельно, извлекая предметы из Expansion Pack 7, и затем находя их GUID используя или Tmog, или IFF.
18. Дважды кликните #4131 "Get Sugar". Перепишите. Строка 5 должна быть вашей "Manage Inventory" строкой, и последние 4 поля шестнадцатиричных параметров содержат GUID для компонента. Нужно изменить его на GUID сахара, который равен: B0 F2 21 39.
Переворачиваем GUID, после чего он выглядит вот так: 39 21 F2 B0
Код:
В 5-ое поле вводим: 39
В 6-ое поле вводим, enter: 21
В 7-ое поле вводим: F2
В 8-ое поле вводим: B0
Кликаем OK.
19. Дважды кликните #4132 "Get Garlic". Перепишите. Найдите свою Manage Inventory строку (должна быть line 5). GUID для чеснока: 7C A9 63 3F.
Код:
В 5-ое поле вводим: 3F
В 6-ое поле вводим: 63
В 7-ое поле вводим: A9
В 8-ое поле вводим: 7C
Кликаем Ok.
20. Дважды кликните #4133 "Get Baking Mix". Перепишите. Найдите свою Manage Inventory строку. GUID для baking mix: F8 77 0C CE.
Разворачиваем GUID и вводим числа в соответствующие поля шестнадцатиричных параметров. Кликаем OK.
21. Находим #4114 "init" и дважды кликаем его, чтобы открыть; нужно найти строку Attribute 2 и изменить ее так, чтобы она показывала 4, а не 1, как сейчас.
22. Переписываем. Просматриваем строки. SНачиная со строки 14, в них находится: "My Attribute 0 Assign To: 1", "My Attribute 1 Assign To: 1" и т. д. Если вы помните, мы изменили все "Get" поведения компонентов на Attribute 2. Поэтому имнно здесь мы и поместим наше магическое число 4 для того, чтобы коробка давала по 4 экземпляра каждого из компонентов. Выберите строку 16 "My Attribute 2 Assign To: 1" и введите число 4 в Parameter 2. Кликните OK.
23. Кликните STR#. Дважды кликните #301 "Dialog prim string set". Посмотрите на строки #0 и #1. Эти название и определение не очень-то соответсвуют нашей поставке, поэтому давайте поменяем их.
Кликните #0 и в поле редактирования удалите то, что там есть и тип в: MagicCo Ingredients Delivery.
24. Кликните #1, и в поле редактирования удалите то, что там есть, и тип в: We hope you find our fine ingredients acceptable. If you don't, send us an email. Кликните OK.
25. Кликните TTAB. Настало время измнить меню. Кликните правой кнопкой мыши #129 и в меню выберите Properties. В поле Name напечатайте: Ingredients Delivery Box. Кликните OK.
26. Помните, в одном из вышеупомянутых шагов я попросил вас записать номера некоторых поведений? Вам они сейчас понадобятся. Дважды кликните #129 "Ingredients Delivery Box", мы будем работать с Interaction Items (предметами взаимодействия). Далее о том, как изменить их:
#0 Открытый прекрасен, как есть. Action tree # должно быть 4097, и Check tree # должно быть 4098.
#1 Add to Inventory:/Sugar (Action tree: 4131, Check tree: 4128)
#2 Add to Inventory:/Garlic (Action tree: 4132, Check tree: 4128)
#3 Add to Inventory:/Butter (Action tree: 4124, Check tree: 4128)
#4 Add to Inventory:/Toadstools (Action tree: 4125, Check tree: 4128)
#5 Add to Inventory:/Toad Sweat (Action tree: 4126, Check tree: 4128)
#6 DEBUG прекрасно так, как есть. Action Tree # должно быть 4105, и Check Tree # должно быть 265
#7 нужно добавить. Кликните кнопку "Add". Кликните свю новую строку #7 "New Item". В поле Properties, замените New Item на: Add to Inventory:/Baking Mix. Делаем Action tree 4133, и Check tree - 4128.
#8 - Кликните кнопку "Add" опять. Выберите новую строку 8 New Item и введите "Get Rid of Box" в поле Properties. Сделайте Action Tree 4105, и Check tree - 0. Сделаем это доступным и взрослым, и детям.
Кликните OK, сохраните свой файл, выходите из IFF, и проверяйте свою работу в игре. Но помните, что сейчас работает только обычный пакет поставок.
Все работает? Если нет, проверьте, все ли вы делали правильно. Если же все нормально работало, переходите к специальной поставляемой коробке, сделав для нее все перечисленное выше. Возможно, вы захотите добавить другие компоненты, чтобы сделать их "special".
На этом завершается наш NPC/Phone Plugin tutorial. Я надеюсь, вам понравилось. Если есть вопросы, пишите автору на форум.
Written 01/29/04 by Grapholina, HackersResource
Translated 01/17/05 by RSL
Redacted: Martini