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

Как убрать код удаляющий предметы из игры

  • Автор темы Автор темы Shy
  • Дата начала Дата начала

Shy

Почетный участник
Многие, наверное, знают, что существуют предметы, которые можно свободно купить, но которые исчезнут из игры, стоит снять ее с паузы. Обычно это происходит тогда, когда предмет предназначен для какого-то дополнения, которое у вас не стоит. Особенно это актуально для предметов из The Sims: Deluxe, наши пираты Deluxe не переводили и не издавали. Чтобы убрать этот «вредный» код (его еще называют «sabotage code») понадобится программа IFF Pencil 2, ее можно скачать отсюда. Здесь же есть и русская документация к этой программе, файл VVedenie v IFF Pencil 2.doc. Установить программу очень просто, достаточно распаковать архив в любую папку.

Дальше действуем по шагам.

  1. Запускаем "IFF Pencil 2.exe".
  2. Открываем через меню «File» / «Open» нужный нам .iff-файл. В качестве примера я выбрал файл SinksDeluxe.iff (см. ссылку на «предметы» вверху, файл SinksDeluxe.zip).
  3. В левой части окна выбираем мышкой тип ресурсов «BHAV».
  4. Находим справа ресурс #4096, обычно он носит имя «main» и дважды щелкаем по нему.
  5. Открывается новое окно редактора (см. рисунок). Содержимое вашего окна может несколько отличаться от моего, оно зависит от версии программы и версии самой игры.
  6. В левой половине нового окна находим строку «Global ( from Simulation ) Game Edition Flag Set? 5» (на рисунке она выделена) и щелкаем по ней мышкой. Число 5 соответствует версии Deluxe. Возможно, в вашей версии программы так и будет написано «Deluxe». Makin' Magic соответствует число 8, Superstar — 7, Unleashed — 6, Vacation — 4, Hot Date — 3, House Party — 2, Livin' Large — 1.
  7. В правой части этой строки, под словом «Next» написаны два числа. Эти числа — номера строк, на которые перейдет программа, если Deluxe установлен (первое) и не установлен (второе). В нашем примере, если Deluxe не установлен, то программа переходит на строку номер 2 «Remove Object Instance…». Этот код, как раз, и удаляет предмет из игры. Наша задача не допустить этого. В правой части окна находим слова «False line», справа от него номер «нехорошей» строки (в нашем примере это 2). Мы сделаем этот номер равным номеру «хорошей» строки (у нас это 3), тогда «вредный код» никогда не будет исполнен и предмет не будет удален из игры. Исправляем число, стоящее справа от «False line» на число, стоящее справа от «True line» (т.е. меняем 2 на 3).
  8. Нажимаем на «OK», окно редактора закрывается.
  9. Сохраняем измененный предмет через меню «File» / «Save».
  10. Выходим из программы.

В некоторых предметах «удаляющий код» может присутствовать в других ресурсах типа «BHAV». Поэтому, для надежности, просмотрите все ресурсы «BHAV», которые содержат в своем имени слова: main, init, load. Если в одном из таких ресурсов найдется строка «Global ( from Simulation ) Game Edition Flag Set?…» повторите действия из пунктов 6 и 7.
 
Последнее редактирование модератором:
Shy, "Custom translator by Shy (full translation)" - я прямо восхищаюсь! :jump:
А правильно я понимаю, что если у меня стоит Анлишд и все предыдущие версии, но нет Delux'а, то как раз у меня и будет такая лажа с предметами?
В любом случае уже качаю все :devil:
 
Последнее редактирование модератором:
Shy , а init ??????

-------------------------------

ЛЮДИ, еще такую фишку часто вставляют в init.
Поэтому ищите BHAV с именем или init, или init tree, или init common, или init (название объекта), в общем, все, имеющие в своем имени "init". Если объект многоклеточный, то init нужно просмотреть для КАЖДОЙ клетки.

С behavior'ом init проделываете ту же операцию, о которой написал Shy.

--------------------------

И небольшое замечание: Global ( from Simulation ) Game Edition может прописываться не через Flag set, а через номер издания (1.0 - 0, LL - 1 и т.д.)

И пожалуйста, не злитесь на меня, если в файлах, ресурсах init вы не будете обнаруживать код, убирающий предмет.
Сим-программеры обычно редко прописывают его туда, НО ПРОПИСЫВАЮТ. Впервые я узнал об этом, когда после исправления Init я увидел, что такой код есть и в Main. (я начинал всегда исправления с init).
 
Последнее редактирование модератором:
Шогал
Про init и load я написал. Прочитай внимательно последний абзац.

И небольшое замечание: Global ( from Simulation ) Game Edition может прописываться не через Flag set, а через номер издания (1.0 - 0, LL - 1 и т.д.)
По-моему, такое встречается только для объектов из Living Large. Если ты это видел где-то еще, напиши, пожалуйста, имя файла, хочу посмотреть.
 
Подскажите пожалуйста? можно ли с помощью IFF Pencil'a сделать так ?что б вывески-ресторан,цветы,мороженое которые в игре? оставались в старом городе. Все перепробывала методом тыка даже дома они остаються ,а в общественых лотах Unleashed пропадают. Помогите ,разобраться ведь подиум с помощью этой программы сделали доступным во всех лотах. Заранее спасибо.
 
Unregistered
Видимо, там где-то сидит какой-то скрытый код, который наверняка можно убрать Iff Pencil'ом. Вот Shy должен знать, где сидит эта гадость. Я тут тоже искренне позабавилась, когда запихала Категорайзером в Старый Город эти штуки, где в ресторане еду заказывают, а они в режиме жизни благополучно исчезли, а при следующем заходе туда без симов благополучно появились обратно. :D То, что исчезли - это ладно, это я могу понять. Вот этот дурацкий кассовый аппарат из секс-шопа тоже исчезает везде, кроме ДТ, если поставить его, а потом приехать с симом. Но он потом и не появляется больше, сколько туда не заходи что с симом, что без сима. А эти стояли на прежних местах как ни в чем ни бывало. :D
 
Mr.McSim
Да спасибо, я редко что-нибудь качаю, компьютер не позволяет. А вот издеваться при помощи разных программ над уже имеющимися объектами и самими симами уже вошло в привычку. Хотя я больше развлекаюсь с опциями доступности-недоступности животным и гостям, что вообще очень забавно, но с этой стойкой тоже было не лишено прикола. :D
 
Unregistered
Проверка на то, что участок жилой, производит скрипт с названием "(glob:) Is lot a Residential Lot?". Например, в файле FlowersUnleashed.iff, такая строчка есть в BHAV #4096 "main" и BHAV #4100 "init tree". Если эту проверку обойти, то, я думаю, цветы останутся в старом городе. Я уже как-то раз подробно писал, как это можно сделать для "Global (from Simulation) Game Edition Flag Set?".
 
Последнее редактирование модератором:
Shy все сделала как ты писал. Но вывеска "ресторан" так и пропадает в Unleashed. Строку BHAV #4096 "main открыла вместо "Global (from Simulation) Game Edition Flag Set стоит Allow in Downtown only, и удаляла и переставила цифры, все равно, никак. Пожалуйста, если будет время, помоги разобраться как правильно сделать.
 
Последнее редактирование модератором:
Unregistered
Там нужно еще смотреть "init" и "load". Напиши точное имя файла, так будет легче. И еще: может зарегистрируешься?
 
Shy спасибо что, понял сообщение, произошла ошибка на странице и пропали некоторые слова...
Точное имя файла "BuildingSings.iff.
Уж сильно не дает покоя эта вывеска...
Все бары которые были не доступны в старом городе и рестораные стойки даже с Супер старт "SetPhotoShootSS.iff получилось перенести а, вот эту маленькую... вывеску никак...
Я надеюсь на твою помощь...
 
Последнее редактирование модератором:
Unregistered
Оказалось, что в этом файле, кроме main'а нужно поменять все три ресурса OBJf. Если в них заменить число 325 (напротив "load") на 0, то вывески перестанут исчезать.
 
Shy
Помоги, пожалуйста, в решении одной проблемы.
Я скачала несколько предметов, которые, при покупке их в игре и последующем переходе в режим жизни тут же пропадают с участка.
Как будто они предназначены для той версии, которой у меня нет.
Но у меня все версии есть! (коме Delux'a)
Может быть проблема в том, что они предназначены для строительства магазина в Даун Тауне, а я их использую в жилом участке?
В любом случае, как мне решить это с помощью IFF-пенсила?
На какие кнопки нажать, чтобы было все в порядке?
 
Annie
Я думаю ты права, это из-за того, что они предназначены для магазина. Если предметы остаются только в Даунтауне, то их удаляет функция 325 "Allow in Downtown Only". Если же они не исчезают в других общественных местах (на отдыхе, в Старом городе...), то работает функция 452 "Allow in Locations only".

Вызываться эти функции могут из ресурсов OBJf или BHAV. В первом случае, просто замени все числа 325 и 452, что там найдешь, на 0. Во втором -- нужно сделать так, чтобы эти функции никогда не выполнялись. Этого можно добиться, поменяв номера строк для переходов. Я в этой теме (23.06) же писал, как это можно сделать. Да, еще может быть проверка, через "(glob: ) Is lot a Residential Lot?", ее тоже нужно учитывать.

Если, что не получится, дай ссылку на эти предметы, чтобы я посмотрел.
 
Shy
Спасибо большое за разъяснение.
Я сделала, как ты сказал и все получилось - предметы перестали пропадать.
Но..
Не знаю, может я не то что-нибудь сделала, или что-то не доделала, но появилась одна неприятная особенность: когда я эти предметы вставляю на участок, то время там начинает идти немного медленнее. Не совсем застывает, а раза в 2-3 медленнее (то есть одна минута в игре соответствует не одной секунде, а 2-3). Не очень приятно играть в такой ситуации. Как только я удаляю эти предметы, то все становится в порядке.
Пожалуйста, может я тебе вышлю эти предметы и ты посмотришь, что с ними?
Их 5 штук. А?
 
Shy
Большое спасибо за предметы.
Все работает как часы и не тормозит. :)
Большая просьба - не мог бы ты написать здесь, в чем была эта проблема с тормозами и как сделать, чтобы ее не было.
Вообще, что ты в тех файлах изменил (если помнишь еще)?
 
Я попробую объяснить не примере файла liuslmbookrack.iff.

Во-первых, я заглянул в ресурс OBJf, нашел там "вредную" функцию номер 452, которая удаляет предмет, и заменил число 452 на 0.

Во-вторых, открыл BHAV #4096 "main". Чтобы было удобнее работать, щелкнул в левой части окна правой кнопкой мыши и выбрал "Rewrite". Получил такую картину:
Код:
0. (glob:) idle (05 00 00 00 00 00 00 00)   1, Error
1. (glob:) Allow in Locations only          2, Error
2. Stack Object ID Assign To: My object id  3, Error
3. (glob:) idle (20 4e 00 00 00 00 00 00)   3, Error
"Allow in Locations only" -- та самая функция 452, которую нужно обойти. Сделать это можно по-разному. Один из способов -- замкнуть на себя первую строку, т.е заменить адрес перехода "1" на "0":
Код:
0. (glob:) idle (05 00 00 00 00 00 00 00)   0, Error
1. (glob:) Allow in Locations only          2, Error
2. Stack Object ID Assign To: My object id  3, Error
3. (glob:) idle (20 4e 00 00 00 00 00 00)   3, Error
Тогда эта строка будет вызываться через каждые 5 тактов игры, или 10 игровых секунд. Это достаточно часто и, мне кажется, это и было причиной торможения.

Второй способ -- изменить адрес перехода с "1" на "2":
Код:
0. (glob:) idle (05 00 00 00 00 00 00 00)   2, Error
1. (glob:) Allow in Locations only          2, Error
2. Stack Object ID Assign To: My object id  3, Error
3. (glob:) idle (20 4e 00 00 00 00 00 00)   3, Error
Тогда цикл замкнется на третьей строке, и игра будет "вспоминать" про предмет через 20000 тактов (это число записано в Parameter 1).

После этого я заглянул в "init common" (там ничего лишнего не было) и сохранил файл.
 
Приведу, заодно, список функций из Global.iff, которые удаляют предметы поставленные "не в то место":

325 Allow in Downtown Only
326 Home Only
423 Allow on Vacation Only
452 Allow in Locations only
470 Allow On Community Only
471 Allow On Neighborhood Lots Only
476 Allow on Residential Lots only
480 Allow on Studio Lots Only
491 Allow on Magic Lots Only
 
Как заставить работать в Даунтауне NPC из Vacation?

Отель в Даунтауне я соорудил, поставил стойку регистрации, но, когда приезжаешь в этот отель с симом, то стойки не видно. Подозреваю, что именно из-за NPC. Или нет? Что я не так делаю, подскажите, пожалуйста...
 
Назад
Сверху