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

Как сделать объект для улицы доступным в доме?

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

knopa

Жюри КВМ
Уточняю.
Мне нужно, чтоб телескоп работал в помещении.
Можно это как-нибудь сделать?:confused:
 
Knopa! А попробуй сначало телескоп поставить,а потом строить стены, таким же способом я строила в помещении
бассейн и делала еще зимний сад. А с телеском думаю
так же должно получиться.Успехов!
:idia:
 
Надеюсь, мне простится поднятие древней темы сей, поскольку knopa по-прежнему проявляет интерес к вопросу, а я полагаю, что интересно это может быть не только ей. :) Итак, как же поставить в комнату предмет, предназначенный для улицы. Инструкция, разумеется, от Shy. Точнее, не столько инструкция, сколько объяснение того, за что какая функция отвечает, но не в том суть. :)

Понадобится Iff Pencil 2 и что-нибудь для работы с far'ами (FarOut, FarEdit и т.п.). Тем, у кого этих программ нет, придется их скачать (см. в FAQ'е тему про программы для игры).

Сначала телескоп. С ним все совсем просто, поскольку для него существует запрет только на размещение его внутри помещения (т.е. в замкнутом со всех сторон кольце стен), но не на поверхности, покрытой полом (как, например, для деревьев), т.е. его спокойно можно ставить на балконе, на вымощенной плиткой площадке во дворе и т.п. Нельзя ставить только в комнате, но с этим мы справимся. :)

Для начала извлекаем файл телескопа Telescope.iff из far'а. Он находится в ExpansionPack/ExpansionPack.far. Потом открываем его Iff Pencil'ом 2.

Смотрим ресурсы BHAV. Во второй строке видим #4097 "init tree". Открываем двойным кликом. Там находим строчку My room placement Assign To: 1. В оптимизированном скрипте она последняя, 7-ая, а вообще-то 4-ая. Теперь нужно изменить стоящую в ней единицу на нуль. Для того, чтобы это сделать, находим в правой части окна строку Parameter 2 и заменяем в окошке единицу на нуль. Она тут же заменится и в соответствующей строке. Собственно, с телескопом на этом все. Сохраняем через ОК, выходим из программы и вставляем измененный файл в игру. Теперь можно использовать телескоп в комнате (созерцать звезды через окно :D)

Теперь рассмотрим случай чуть более сложный. Предположим вам вдруг вздумалось (подобно тому, как это вздумалось мне :)) украсить комнаты Симов деревьями и кустами или хотя бы затащить в дом всем известного розового фламинго, который не только не может стоять внутри помещения, но и на площадку, вымощенную камнем, или на балкон не установится – только на траву. С деревьями, разумеется, все аналогично, так что рассмотрим случай фламинго.

Извлекаем из far'а файл GameData/Objects/Objects.far/flamingo.iff. Открываем Iff Pencil'ом 2. Находим в BHAV'ах строку #4106 "init tree". Открываем двойным кликом. Здесь находим уже известную нам строку My room placement Assign To: 1 (3-ю, а в оптимизированном скрипте 2-ю) и заменяем единицу на нуль. Теперь фламинго сможет стоять в комнате, но только в том случае, если вместо пола там трава. Ни на пол, ни на покрытую каким-либо полом площадку во дворе или на балконе он по-прежнему не поставится. "Виновата" в этом строка 6-ая: My placement flags Clear Flag on floor. Она убирает у предмета флаг, позволяющий ему стоять на полу, который вообще-то изначально задан в глобальной функции (glob: ) Init Object, находящейся в начале скрипта. Для того, чтобы флаг не убирался и продолжала работать функция My placement flags Set Flag on floor, заданная в (glob: ) Init Object, можно строку My placement flags Clear Flag on floor просто из рассматриваемого скрипта удалить. Для этого сначала выясняем, какая строка ссылается на строку 6 и на какую ссылается сама строка 6. Это видно в правой части основного окна под словом Next. Как видим, на 6-ю строку ссылается 5-я, а сама она ссылается на 7-ю. Для того, чтобы ничего не мешало удалить строку 6, нужно просто переадресовать строку 5 сразу на строку 7, минуя строку 6. Для этого ставим курсор на строку 5 и находим в правой части окна Iff Pencil'а строку True Line, рядом с которой в первом окошке стоит число 6. Заменяем 6 на 7. Как видим, оно тут же заменится и в скрипте. Теперь ничто не мешает удалить строку 6. Ставим на нее курсор, нажимаем правую кнопку мыши и в появившемся меню выбираем Delete. Все. Сохраняем файл и вставляем в игру. Обратите внимание, что фламинго, как и любой другой исправленный объект из Objects.far, следует класть именно в Objects, а не в DownLoads или UserObjects, иначе вместо него загрузится неизмененный объект из Objects.far. Измененные файлы из ExpansionPack# можно класть в любую из привычных папок для объектов. Ну а теперь можно загрузить игру и понаставить сколько угодно фламинго в комнате, на балконе и там, где будет вашей душе угодно. :) Способности стоять на траве фламинго тоже не утратит: она задана в (glob: ) Init Object. А если вы отредактируете подобным образом деревья и кусты, ваши симы смогут устроить у себя в комнате настоящий зимний сад. :)

Удачи. :)
 
Последнее редактирование:
а по-моему можно просто в Сатегорайзе поставить галочку к чему предмет относитья и все..
 
AkiRoss
Нельзя. Нет таких категорий: дом/улица.
 
AkiRoss
Существует такое полезное правило, которому бы всем нам не мешало почаще следовать... Прежде чем что-то утверждать, не мешает это проверить на собственном опыте. Если бы ты умудрилась Категорайзером повлиять на init'ы, тебе можно бы было ставить памятник при жизни. :) Но, как ни крути, он работает только с ресурсами OBJD и CTSS (если я ничего не пропустила), но не с BHAV'ами...
 
Жасмин - ты кстати заметила потом как хреново твоим Симакам в таком бассейне (показатель-комнатa<<<) - кстати зачем это было задумано авторами игры? Можно ли это исправить?Дюкаша
 
ailias
Исправить в игре можно почти что угодно - главное знать как это делается. :D У предмета поменять показатель комнаты обычно довольно легко, но бассейн - не предмет. С ним нужно разбираться отдельно.
 
Скажите, можно ли в Pencil сделать предмет доступным в помещении? Я скачал дорожку для боулинга, сделал ей доступ на всех общественных участках, но при попытке установки внутри помещения пишет "должно быть снаружи".
 
Niktom660, ищите init, ищите в нем My room placement Assign To: 1, исправляйте единицу на 0. Там выше есть более подробный тутор про телескоп. Все Iff Pencil'ом разумеется.
 
Открыл дорожку для боулинга и там немного по другому: My room impact Assign To: Constant 4096:0 Справа во втором параметре уже стоит 0 :(

Ой, всё, заметил, там ниже ещё.
 
Хотя нет, что-то не так. Открыл, заменил 1 на 0, заменяю исходный файл новым - в игре ничего не поменялось.
 
Niktom660, my room impact - это показатель "комнаты". Тоже полезная вещь, но к нашему вопросу отношения не имеет.
Заново боулинг покупали? Init выполняется только один раз - при покупке. Если вещь уже куплена, то хоть обредактируйтесь его, на купленный предмет это никак не повлияет, потому что init уже выполнен.
 
Всё равно не то. Скачал по новой.

BHAV - #4106 "init tree" - My room placement Assign To: 1

Заменил на 0, сохранил, открыл игру, при покупке не устанавливается внутри помещения, только снаружи :(
 
Niktom660, дайте ссылку, гляну сама. Может, еще где-то прописано, там клеток много.
 
А, socrstchik. Так я и думала. В init mat еще попробуйте поправить. Там вообще намудрено выше крыши. В первый раз в жизни я вижу, чтобы часть объекта использовала OBJf, а другая часть на старый лад использовала для того же нижнюю часть OBJD. Так вообще в OBJf обычно можно найти инфу об используемом init'е для каждой клетки. Другой вопрос, что обычно подобные функции только в общем init'е прописывают.
 
Фух, спасибо, поменял в init mat и заработало. Вообще странно, что эти дорожки внутри помещения не поставить изначально, где это боулинг не в помещении ставят.
 
Niktom660, ну это к автору вопрос. Я ее немного знаю, могу спросить при случае. :D Хотя, право же, было бы это самой большой проблемой. Иные авторы нагородят в своих объектах такого, что ни в сказке сказать, ни пером описать, я постоянно чьи-то кривые моды исправляю, которые ошибки в игре выдают. А такие мелочи, как флаги размещения и т.п., всегда и самому исправить недолго.
 
Niktom660, выяснила я, откуда у проблемы ноги растут. Эта дорожка переделана из дорожки с ColorizedSims, а та сделана на основе вакейшеновских дорожек (или не знаю, как их назвать) для стрельбы из лука. Из лука на отпускных лотах стреляют, конечно, вне помещения, поэтому там и стоит запрет на размещение ее внутри. Ну а никто из мейкеров, делавших дорожки для боулинга, этот запрет не снял. Судя по всему, socrstchik о нем вообще не знала, а про автора с ColorizedSims ничего не могу сказать, но ощущение, что тоже. :loss:
 
Назад
Сверху