• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

Различные ошибки в скриптах объектов, выявленные при помощи ключа -debug_objects

Ilya Skuratov

Фотограф
Что сделать вот с этим См. Скрин, Спасибо!
НИ ХРЕНА НЕ ПОЛУЧАЕТСЯ ВСТАВИТЬ СКРИН


Но суть в этом:
An error occurred in object "user00003 - Chris" #296,
Too many iterations.
Build: Sep 25 2003, 14:23:46

Object id: 296 name: user00003 - Chris
Stack size: 9
Error: Too many iterations.
Iterations: 348190
Frame 8:
Stack Object id: 1213
Node: 1
Tree: id 4113 name 'goto other side' version 3
from .\downloads\doorschangingnude
Prim state: 0
Params: Locals:
 
Где дверь качал?
Дюкаша вот от сюда http://bestforthesims.narod.ru/Objects/unusual_objects.html
Я поищу здесь у Вас, пока эти объекты здесь не подводили:)

А как всетаки Скрин запихнуть?
Я пытался через "ответ" и через IMG, ничего не получилось
 
Filippok, похоже в симс стоит счетчик итераций. Мне кажется что в этом скрипте элементарное зацикливание. Ошибка, с которой все мы встречаемся в детстве ;)

Filippok, выложи сам этот модуль (можешь в экспортированном бинарном файле, а можешь как текст, а также можешь бросить ссылку на сам объект).
 
Шогал
Не издевайся. Какой еще Filippok тебе даст экспортированный бинарный файл? Ссылку на страницу с объектом он тебе дал, раздевающую дверь там найти несложно. Правда, я с ней, помнится, когда-то имела дело и ничего там не зацикливалось... Вообще я как раз недавно с такой ошибкой имела дело, когда случайно init у одного объекта замкнула в бесконечный цикл... :D
Filippok
Скрин, если он по объему не превышает 51 200, можно вставить через прикрепление файла, это делается после нажатия кнопки "Ответить" вверху или внизу темы. А через тэги
 
НУ КОНЕЧНО!
Первый Goto Routing Slot в ветви false замкнут сам на себя!
Удавительно, КАК создателю этой двери пришло в голову это сделать...
 
Шогал
Да, я тоже уже до Pencil'а добралась и узрела сей шедевр. Действительно глупость. И вообще как-то сделана она по-турецки. Не люблю я, когда переодевающие функции влеплены после Go to Routing Slot, я всегда ставлю до...
Filippok
Если ты непременно хочешь подправить именно эту дверь, то это несложно сделать, но вообще-то она, на мой взгляд, безнадежно уродлива... Скачал бы ты лучше другую, с SimStitution, например. В "Скинах, предметах" есть специальная тема о необычных дверях.
 
Шогал и Дюкаша я 98% вашего диалога не понял конечно, но понял, что дверь, которую я ставил - кривая?!
Честно говоря, визуально, она мне тоже не понравилась, как в сортире:)
Ок, я поищу.
 
Filippok
"Кривая" - это в данном случае понятие очень относительное. :D У нее в скрипте маленькая ошибка - неправильно стоит одно число. Подобных ошибок и в "родных" предметах на самом деле до черта, просто они не всегда сразу бросаются в глаза. А раздевающую дверь, если тебе уж так надо, я тебе, в принципе, из любой двери сделать могу. :) Но их и в инете найти не проблема.
 
Дюкаша и Шогал Я К ВАм:)
An error occurred in object "user00406 - Гретхен" #112,
Undefined Transition.
Build: Sep 25 2003, 14:23:46

Object id: 112 name: user00406 - Гретхен
Stack size: 7
Error: Undefined Transition.
Iterations: 22
Frame 6:
Stack Object id: 844
Node: 9
Tree: id 4212 name 'Create alcohol' version 4
from .\downloads\bunker-otvertka
Prim state: 0
Params: 1 0 9 4 Locals: 5 0 -30472 2791
Frame 5:
Stack Object id: 182
Node: 3
Tree: id 4102 name 'tweak affect' version 4
from .\downloads\bunker-otvertka
Prim state: 0
Params: Locals: 25
Frame 4:
Stack Object id: 182
Node: 4
Tree: id 4098 name 'Drink Espresso' version 10
from .\downloads\bunker-otvertka
Prim state: 0
Params: 0 Locals: 28 26 1
*****************************************************************
An error occurred in object "Alcohol" #1152,
Stack underflow.
Build: Sep 25 2003, 14:23:46

Object id: 1152 name: Alcohol
Stack size: 1
Error: Stack underflow.
Iterations: 4
Frame 0:
Stack Object id: 0
Node: 254
Tree: id 4211 name 'Alcohol - main' version 1
from .\downloads\bunker-otvertka
Prim state: 0
Params: 0 0 0 0 Locals: 0
 
knopa
Ну зачем же выкидывать отвертку? Пусть Шогал придет и сам глянет, что у него там ошибку вызывает и исправит.
Filippok
Послушай, ну хватит уже в эту тему лезть с debug'овыми ошибками. Это нисколько не "проблемы со скачиванием и вставкой в игру" чего-либо. С этим вообще надо в мейкерский форум, если уж на то дело пошло, потому что это ошибки в скриптах - во внутренностях предмета. Подсказать тебе в этом вопросе могут двое - Шогал или Shy, но и они наверняка не знают абсолютно всех debug'овых ошибок. К этим ошибкам нужно относиться спокойнее. Их часто и родные предметы из игры вызывают и ничего в этом такого уж смертельного нет. Конечно, иногда ошибки приводят к зависаниям или вылетам, но часто они даже и не замечаются в процессе игры, если не стоит -debug_objects. Простому игроку тратить массу сил на разбирательство с каждой имеет смысл только в том случае, если ошибка повторяется постоянно и действительно вызывает нежелательные последствия.
Кроме того просьба: если уж пишешь о таких ошибках, то пиши сразу, где качал объект, который указан вот в этой строчке: from .\downloads\bunker-otvertka. В данном случае, все знают и Бункер, и отвертку - предмет знаменитый, а так вообще-то, чтобы определить ошибку в скрипте, нужно ведь на этот скрипт посмотреть, а для этого нужно иметь под рукой объект.
 
knopa и Дюкаша а что надо нажимать в таких случаях? Там три кнопки "Cancel", "Reset" и "Delete".
Ок, а в какую тему тогда надо задавать такие вопросы?
 
Filippok
Reset нажми. Скрина не вижу, но как выглядит debug'ая ошибка, если ты о ней, я и так знаю. Если будет много ошибок друг за другом, как в случае зацикливания - тогда Delete.
 
Filippok
"Reset" нужно нажимать. Если нажмешь на "Delete", то удалится тот объект, в скрипте которого произошла ошибка (а это может быть и сим). Если же нажать на "Cancel", то игра зависнет, но от такого зависания помогает код "prepare_lot".

А ошибка простая, Шогал забыл исправить в одной из строчек скрипта Error на что-либо более подходящее.
 
Инструкция для желающих самостоятельно "вылечить" глючные фуршетные столы с ATS

Пишу сюды, т.к. здесь это более уместно, чем в Скинопреде, да и ошибки я ловила, конечно, именно с помощью debug'а, но скринов окон с ошибками или текста debug'овых файлов не привожу, их и так любой желающий может узреть, скачав и засунув в игру упомянутые глючные предметы и прописав в ярлык игры ключ –debug_objects. Без него же симы во время еды с этих столов просто "перелетают" в другое место лота – обычные последствия скриптовой ошибки. Другая проблема состоит в том, что два из четырех "рождественских" фуршетных столов не покупаются, т.е. появляются в каталоге, но не ставятся на лот. О том, как с этим бороться, тоже напишу чуть позже.

Итак, инструкция для желающих самостоятельно "вылечить" глючные фуршетные столы с Around the Sims

Поскольку некоторые товарищи заявили, что для них слово "скрипт" и все, что с ним связано, – "темный лес при густом тумане", ;) то буду писать по возможности подробно, но всех тонкостей, касающихся объяснения, почему так, а не иначе, я объяснить не в состоянии – уж извините. Я сама в этом мало что понимаю. :D

Для начала тем, у кого нет нужных программ, необходимо скачать таковые. Посему идем сюда и на странице 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'ы, :D можно удалить изнутри far'а глючные подносы и заменить их исправленными. Итак, извлекаем файлы ATS_Self_breakfast01.iff и ATS_Self_breakfast03.iff и начинаем мучить один из их в Iff Pencil'е. :D Ошибки в них все абсолютно аналогичные, посему объяснять буду на примере только одного файла (допустим 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? Теперь эта строка выдавать ошибку не будет. Ну не должна по крайней мере. :D Главное – набраться терпения и исправить еще кучу аналогичных. Нажимаем ОК, выходим из этого 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'ов не смотрела – лень, много их там... :D
Не забудьте сохранить свою работу! Это делается через верхнее меню Iff Pencil'а (File - Save), ну или через стандартную пиктограмму с дискетой. Я, правда, ей никогда не пользуюсь, но по идее работать она тоже должна. :D А вообще-то 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. После этого столы нормально покупаются, ставятся на лот и вообще вроде бы ведут себя прилично, если, конечно, исправить по приведенной выше инструкции их подносы с едой. Но если что-то опять пойдет не так – пишите, будем разбираться…
 
Последнее редактирование:
Ребята, добрый день! Ни на форуме, ни в инете не могу найти как исправить такую ошибку

Object error
An error occurred in object "N001_user00534-Anna" #10
Error: invalid constant

Cancel, Reset, Delete

Появляется при создании новых симов, а так же при заселении семьи из корзины на лот. Причем на каждого заселенного своя табличка. "Помогает" только Delete, остальные кнопки ничего не меняют.

Проблема появилась вчера при включении опции "Использовать дополнительные материалы". Если эту опцию отключить - проблем нет, но...и ничего из скачанного тоже нету :(
 
tirga написал(а):
Проблема появилась вчера при включении опции "Использовать дополнительные материалы".
Т.е. это у тебя Симс 2.
А тогда что ты в разделе по Симс 1 делаешь? :confused:
 
Назад
Сверху