Пишу сюды, т.к. здесь это более уместно, чем в Скинопреде, да и ошибки я ловила, конечно, именно с помощью debug'а, но скринов окон с ошибками или текста debug'овых файлов не привожу, их и так любой желающий может узреть, скачав и засунув в игру упомянутые глючные предметы и прописав в ярлык игры ключ –debug_objects. Без него же симы во время еды с этих столов просто "перелетают" в другое место лота – обычные последствия скриптовой ошибки. Другая проблема состоит в том, что два из четырех "рождественских" фуршетных столов не покупаются, т.е. появляются в каталоге, но не ставятся на лот. О том, как с этим бороться, тоже напишу чуть позже.
Итак, инструкция для желающих самостоятельно "вылечить" глючные фуршетные столы с Around the Sims
Поскольку некоторые товарищи заявили, что для них слово "скрипт" и все, что с ним связано, – "темный лес при густом тумане", то буду писать по возможности подробно, но всех тонкостей, касающихся объяснения, почему так, а не иначе, я объяснить не в состоянии – уж извините. Я сама в этом мало что понимаю.
Для начала тем, у кого нет нужных программ, необходимо скачать таковые. Посему идем сюда и на странице 14 находим программу Iff Pencil 2. Для тех, кто, возможно, будет искать ее там в дальнейшем, говорю, что она у них по мере прибавления на сайте новых программ вполне может сдвинуться на следующие страницы, на моей памяти уже сдвинулась с 13-й на 14-ю. Программы для работы с far'ами, наверное, и так у многих есть, но если нет, на этом же сайте их море, в частности FarOut, которым обычно пользуюсь я, находится там на 3-ей странице (в данный момент по крайней мере). Еще его можно скачать здесь, в разделе Programs. Для него могут понадобиться некоторые дополнительные файлы, в этом случае их надлежит искать в том же разделе Programs внизу страницы, но, возможно, они у вас на компьютере уже есть. Подробная инструкция по работе с FarOut'ом лежит здесь, там все насчет этих файлов написано.
Далее. Iff Pencil 2 устанавливаем простой распаковкой в произвольную папку на компьютере всего содержимого архива – самой программы и прилагающихся к ней текстовых файлов. Обязательно распаковываем это добро в ту же папку, что и саму программу, иначе она не сможет корректно работать. FarOut тоже куда-нибудь распаковываем и, если с вышеупомянутыми файлами вы разобрались, больше ему обычно ничего не требуется. Иногда, правда, с ним бывают проблемы, но об этом - в тему про программы для работы с far'ами.
Начинаем. Сначала разберемся с Breakfast buffet – это тот самый, что со страницы 13, вот отсюда. Сам он, насколько я могу судить в порядке, во всяком случае проблем с ним я не замечала. Все проблемы там заключаются в прилагающихся к нему подносах с едой, причем только в двух из пяти. Они скачиваются при нажатии на слова Breakfast trays в виде zip-архива, в котором лежит файл ATS_Food_breakfasttrays.far, содержащий внутри глючные объекты. Для того, чтобы их исправить, придется его распотрошить, так что см. вышеприведенную инструкцию к FarOut'у, если это вам необходимо, конечно. Теоретически должно быть достаточно извлечь из far'а глючные первый и третий подносы, исправить их и положить исправленные варианты в ту же папку снаружи far'а, чтобы все работало, но я бы советовала извлечь все и положить в игру просто так, без far'а, на случай, если потом придется исправлять в них что-то еще, да и вообще так надежнее. Ну или, если очень любите far'ы, можно удалить изнутри far'а глючные подносы и заменить их исправленными. Итак, извлекаем файлы ATS_Self_breakfast01.iff и ATS_Self_breakfast03.iff и начинаем мучить один из их в Iff Pencil'е. Ошибки в них все абсолютно аналогичные, посему объяснять буду на примере только одного файла (допустим ATS_Self_breakfast01.iff), второй потом домучаете сами.
Iff Pencil запускаем двойным кликом, через верхнее меню (File – Open) или через обычную пиктограмму "Open" открываем в нем наш файл. Смотрим в левый столбец, в третьей строке видим там следующее: BHAV (129). Смело ставим туда курсор и в правой части окна программы видим большую кучу строчек – это названия BHAV'ов – скриптов, управляющих поведением нашего объекта, подноса с едой в данном случае. Они все пронумерованы и идут по порядку, посему искать их будет легко. Для начала находим #4151 "Clean Up". Открываем его двойным кликом, попадаем внутрь, видим много строчек. В ряде из них упоминаются GUID'ы – уникальные шестнадцатеричные номера объектов. Например, так: Test Object Type (type of Stack Object ID == GUID:d67bba05). А вот последняя строчка выглядит так: Test Object Type (type of My Attribute 0 == GUID:fc85afae). Это непорядок, никакого My Attribute 0 там быть не должно. Ставим курсор на эту строчку. Теперь смотрим в правую часть окна программы, видим там много маленьких окошек с цифрами. Почти в самом низу видим окошко, около которого написано Parameter 4, а в самом окошке стоит нуль. Ставим в окошко курсор и перед нулем дописываем единицу, чтобы Parameter 4 стал у нас равен 10. Видите, в строке My Attribute 0 изменился на Stack Object ID? Теперь эта строка выдавать ошибку не будет. Ну не должна по крайней мере. Главное – набраться терпения и исправить еще кучу аналогичных. Нажимаем ОК, выходим из этого BHAV'а и заходим в следующий за ним, под номером 4152 и названием "Clean Up TEST". Здесь безобразие сидит в строке 14. Точно так же ставим на нее курсор и в Parameter 4 дописываем перед нулем единицу. Строчка меняется на правильную. Нажимаем ОК и идем дальше. Следующий подлежащий исправлению BHAV #4173 "hunger increment". Открываем его, находим в нем глючную строку – это номер 17. Ставим на нее курсор, исправляем Parameter 4 на 10, нажимаем ОК. Далее идем в #4191 "graphic state". Здесь глюк находится в последней строке, пятой. Исправляем нуль на десять, нажимаем ОК, идем дальше. Следующий глючный BHAV #4212 "get all plates in room". Заходим, находим глюк в последней, 34-ой строке, исправляем, нажимаем ОК. Последний (вроде бы) нужный нам BHAV – это #4214 "is plate stacked?". Заходим, находим в его последней, девятой строке знакомый глюк, исправляем, нажимаем ОК. Больше я вроде бы ошибок не нашла, хотя полной гарантии дать не могу, всех BHAV'ов не смотрела – лень, много их там...
Не забудьте сохранить свою работу! Это делается через верхнее меню Iff Pencil'а (File - Save), ну или через стандартную пиктограмму с дискетой. Я, правда, ей никогда не пользуюсь, но по идее работать она тоже должна. А вообще-то Pencil сам при выходе должен спрашивать, сохранить ли изменения в файлах, что он и делает, главное – не забыть ответить ему утвердительно.
Абсолютно такие же и так же исправляемые ошибки имеют место быть в другом уже упомянутом мной подносе с едой от того же Breakfast buffet – это файл ATS_Self_breakfast03.iff, который лежит в том же far'е, а также во всех восьми подносах с едой от четырех Christmas buffets, отсюда. Это файлы ATS_SelfChristmas_tray#1.iff , ATS_SelfChristmas_tray#2.iff и т.д. Там подносы с едой лежат без far'ов, прилагаются по два к каждому столу просто в том же архиве, так что до них добраться проще.
Продолжим. Теперь речь пойдет о самих столах, в частности о столах № 1 и № 4 из набора Christmas buffets, отсюда. Это файлы ATS_SelfChristmas_buffet#1.iff и ATS_SelfChristmas_buffet#4.iff. Столы эти страдают тем, что их невозможно перетащить из каталога покупок на лот. Проблема там заключается в скриптах инициализации, которые выполняются сразу же после выбора предмета мышкой в катологе, ну и исправляются они так же Iff Pencil'ом 2. Где его качать, как устанавливать и все такое, надеюсь, все поняли, так что не повторяюсь.
Итак, открываем в Iff Pencil'е ATS_SelfChristmas_buffet#1.iff и ищем нужные там скрипты. Это #4104 " Init Bottom" и #4109 "Init Top". Заходим в первый из них, находим строчку, в которой упоминается GUID, это строчка под номером 2. Упомянутый в ней GUID fb85afae вообще-то должен быть GUID'ом средней клетки стола, но он таковым не является, т.к. настоящий ее GUID - FB85B9AE. Его при желании можно увидеть в ресурсе OBJD, если кликнуть дважды по #16837 "Buffet Table - Vacation – middle", он прописан в строке Global Unique ID. Почему все это так получилось - понятно мало, скорее всего, что-то глюкнуло при клонировании. Но так или иначе, а GUID'ы эти должны совпадать, чтобы все нормально работало. Посему нужно в том или в другом месте GUID поменять, я его меняла в BHAV'ах, хотя, может быть, в OBJD было бы проще… С другой стороны, менять GUID'ы нужно вообще очень осторожно, т.к. существует риск их совпадения у разных объектов, что ни к чему хорошему не ведет… Итак, меняем BHAV'ы. Для того, чтобы поменять прописанный в строке 2 GUID на нужный нам, ставим на нее курсор и смотрим в правую часть окна программы. В самом низу будет ряд маленьких окошек с буквами и цифрами, над которыми написано HEX parameters. Поменять нам нужно содержимое второго слева окошка. Ставим туда курсор и вместо того, что там есть, т.е. AF, пишем то, что на самом деле стоит в этом месте в GUID'е средней клетки, т.е. B9. GUID во второй строке скрипта при этом должен исправиться на нужный. Нажимаем ОК, выходим из BHAV'а и заходим в другой, тот который #4109 "Init Top". Здесь застаем аналогичную картину: во второй строке прописан GUID, который должен совпадать, но не совпадает с GUID'ом средней клетки стола. Здесь точно так же ставим курсор на вторую строку и исправляем во втором слева окошке HEX parameters AF на B9. Нажимаем ОК, сохраняем файл. Со столом под номером 4 (файл ATS_SelfChristmas_buffet#4.iff) все обстоит точно так же и исправляется аналогично в тех же скриптах и тех же строках на ту же самую комбинацию, т.е. B9. После этого столы нормально покупаются, ставятся на лот и вообще вроде бы ведут себя прилично, если, конечно, исправить по приведенной выше инструкции их подносы с едой. Но если что-то опять пойдет не так – пишите, будем разбираться…