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

Вопросы по работе с SimPe

  • Автор темы Автор темы Kagero
  • Дата начала Дата начала
AdeLana, а вес не обязательно сидит в init. Я счаз разворошил один телевизор и посмотрел, на какой bhav ссылается его init (по синей ссылочке view bhav):

и вот он, вес:

Извлёк бхав через эстракт, добавил в пакадж и заменил вес на плейсмент по инструкции Дюкаши:)
 
Ой божечки!!! почти ни чего не поняла, что нужно делать. Вот что значит совсем не работала в этом ресурсе))
Я вроде нашла в init параметры веса (это оно?)


Но что с этим делать дальше не понимаю! у меня нет кнопки "extract"!
и как извлекается bhav, весь ресурс полностью или только та строка которую выделишь?
и как потом экспортировать в пакадж? ни каких кнопок для этого не нашла! вот мой интерфейс этой вкрадки


P.S. Посмотрела что и как должно быть прописано в строке веса и сделала изменение веса таким же способом как и добавляла возможность ставить на тумбочки (добавлением новой строчки внизу и её редактированием, вес заменила на 0x0000) и всё получилось!
Ура! Дюкаша, kazarin, огромное вам спасибо!
И всё же если знаете ответьте на вопрос про кнопки "Extract", почему их нет, может я что-то не так делаю или не там смотрю?
 
Последнее редактирование:
AdeLana, да, с помощью по моддингу на Михее всегда было неважно, но Вы все же слишком быстро теряете надежду, учитывая малую активность в Симс 2 в целом. :) На самом деле размещение предметов - вопрос простой и с ним, надеюсь, мы с kazarin'ом всегда будем в состоянии справиться, так что, если что, просто зовите через приват. Хотя kazarin, я уверена, и так всегда вопрос заметит. :) А вот я нет, я все больше в Единичке сижу.
По сути дела. С номерами ничего сложного нет, это шестнадцатеричная система, и в ней, конечно, не слишком удобно производить подсчеты, если нет привычки, но каким бы ни был номер, он всегда стоит в начале строки. Просто смотрите на номер, цифровой или буквенный, в начале той строки, на которую нужно сделать переход. Впрочем, думаю, Вы это уже поняли.
Касательно веса. Ну, чтобы он сидел где-то, кроме init'а, я не встречала (хотя я, конечно, не буду утверждать, что проверяла вес всех объектов), другой вопрос, что есть собственный init конкретного предмета, а есть семиглобальные init'ы, работающие сразу для целой группы предметов, которые часто вызываются из собственного init'а предмета, т.е. как бы становятся частью его init'а. И есть глобальный init для объектов, который обычно в свою очередь вызывают семиглобальные init'ы. Т.е., если какой-то функции, которая по идее должна быть прописана в init'е предмета, непосредственно там не наблюдается, то, скорее всего, она просто сидит глубже, в семиглобальном или даже глобальном init'е, который при выполнении собственного init'а предмета вызывается из него. Вот kazarin как раз показывает, что собственный init Вашего телевизора, оказывается, вызывает семиглобальный init "Function - Init - Television", общий для всех телевизоров. Если все телевизоры в Симс 2 ставятся только на пол, то, в общем, логично, что им можно задать один, общий для всех телевизоров вес. Если посмотреть соответствующую строчку с весом через Pop-Up Wizard и задать там режим отображения Decimal, т.е. привычные нам десятичные значения, то будет видно, что вес телевизоров равен 200. Для установки на стол это действительно многовато. Я так сразу не скажу, какие значения не должен превышать вес, чтобы предмет ставился на те или иные поверхности, потому что это зависит от параметра support strengh, прописанного в свою очередь в init'ах всех этих столов, тумбочек и т.д. По Симс 1 мне смутно помнится, что значение их support strengh обычно бывает меньше 200, что-то порядка 100-150. Думаю, если задать Вашему телевизору вес 50, то он должен везде установиться, но в принципе с этим можно экспериментировать. Или просто посмотреть support strengh нужных поверхностей. Ну а исправить это очень просто - для этого совсем необязательно импортировать целиком в файл целый BHAV. Просто опять поставьте курсор на последнюю строчку собственного init'а объекта после добавленных флагов, нажмите add, поставьте курсор на новую строчку, откройте Pop-Up Wizard и выберите значения: в верхних полях - My и weight, в среднем поле - := (это означает "присвоить"), в нижних полях - Literal и 50. Помните, что галочка внизу должна стоять на Decimal (except constants), чтобы работать с десятичными значениями. Нажмите Okay, убедитесь, что строка изменилась, привяжите ее к предыдущей строке, подтвердите изменения, сохранитесь. Если Вы все сделали правильно, то телевизор должен поставиться на стол.
13739576.jpg
 
Ну вот, пока я писала, Вы уже сами все сделали. Умница. :) Хотя, конечно, телевизор с нулевым весом - это забавно. :D В общем-то, этот вес ни на что больше не влияет, можно и вообще без него, но я вот как-то не люблю к нулю его сводить, все же как-то глупо это, когда объекты ничего не весят, если уж такое понятие в игре существует. Я думаю, что и с сотней может установиться, но надо проверить, сейчас просто некогда.
А функция extract появится, если поставить курсор на BHAV (или на другой ресурс) "снаружи" и нажать правую кнопку мыши. Иногда удобно бывает перенести семиглобальный скрипт внутрь объекта и таким образом "отвязать" его от семиглобала, задав собственный способ работы. Но в init'ах достаточно поставить в конец функцию, переписывающую заданную ранее функцию, которая нас не устраивает.
 
Дюкаша, спасибо за такой подробный ответ, он мне пригодится когда я подзабуду что и как делала (бывает когда долго ни чего не создаю). А про нулевой вес прочитала тут же, в самом низу поста,
HINT: If you object still refuses to be placed on some surfaces, there may be a weight problem: all the object have a "weight", and all the surfaces have a "support strenght"; the "Weight" is not actually used in game (no tables will break up if a too heavy object is placed on them!), but Maxis uses this system to prevent a particular (large) object to be placed onto particular (narrow) surfaces.
Since we can't change the surfaces Support Strenght, we have to edit the object Weight: add another line to the BHAV, set the OpCode to 0x0002 as usual, and use the expression:
"My 0x001B Assign To Literal Value 0x0000" ---> Set the object weight (My 0x001B) to zero
просто не поняла что нужно было прописывать, когда редактировала добавленную строку.
 
AdeLana, угу, они там решают проблему радикально. :D В принципе ничего плохого в нулевом весе нет, на игре это никак плохо не отразится. Это скорее мои личные заморочки. Обычно я не убираю больше того, что необходимо, в том числе в весе объектов. А вообще, я Вам советую посмотреть support strength у столов и прочих поддерживающих поверхностей, она тоже должна быть прописана в init'ах - если не в собственных, то в семиглобальных, и немного поэкспериментировать с весом. Это просто для понимания сути дела, даже если Вы принципально будете теперь везде ставить только нулевой вес, если еще когда-нибудь возникнет необходимость взгромоздить объект повыше его родного расположения. :) Все-таки редактирование скриптов - это та область, где желательно понимать, почему именно нужно делать именно так, а не иначе, а не просто слепо следовать туториалу.
 
AdeLana, я писал про эстракт, но, видимо, невнятно получилось.
по синей ссылочке view bhav
Нажимаете, и весь бхав открывается отдельным окном, и наверху есть эстракт:) нажимаете, сохраняете куда-нибудь, потом через Replace заменяете Init пакаджа.

Дюкаша, насчёт того, что я всегда буду в состоянии справиться с размещением, Вы преувеличиваете, у меня с этим успех переменный:D
 
Вообще, разве там не водится функция, которая позволяет сразу семиглобальный init добавить в файл? Мне казалось, я где-то о такой читала. Но в данном случае в этом нет необходимости. И я не очень понимаю, зачем замещать init пакаджа.

А с размещением, думаю, Вы скоро совсем освоитесь. :)
 
Дюкаша, есть такая функция:)

Но мне не всегда надо добавлять именно в тот пакадж, из которого смотрю:)
А если инит обращается за параметрами в рабочие файлы игры, он будет воспринимать добавленный в пакадже параметр как приоритетный, если в ините игры указано другое? Ну вот тот же вес, если в оригинале стоит 200, а в пакадже после ссылки ниже строкой идёт 0, он будет игнорировать 200 и читать 0?
С размещением - может быть, но, к сожалению, мои запросы в основном касаются не размещения:)
 
Ну так, если надо в другой файл добавить, то для этого обычные экспорты-импорты существуют, а вообще это удобно - сразу иметь возможность импортировать семиглобал в тот файл, из которого он вызывается.
Любой BHAV выполняется игрой в том порядке, в котором стоят переходы строк. Без разницы, где прописана функция - хоть в пакадже, хоть не в пакадже - она будет вызываться и выполняться, когда подойдет ее очередь. Ссылка на семиглобальный или глобальный init - это просто возможность не переписывать одни и те же строчки много раз, а из каждого init'а отдельного объекта вызывать написанное один раз в одном месте, так что строчки из семиглобала можно воспринимать просто как часть init'а данного объекта - с той оговоркой, что их нельзя изменить, не повлияв на все объекты, использующие этот семиглобальный скрипт. А вот написать после их вызова в собственном init'е строчки, которые сводят на нет действие строчек внутри семиглобала - это без проблем.
Ничего, хорошо освоить хотя бы это - уже полезно. :)
 
Вы уж извините меня за мою беспросветную непонятливость? но не могу понять как вызвать кнопку "Extract". И кнопок "Import as Private" и "Import unchanged" у меня тоже нет.
Я навожу курсор на строку,
жму ПКМ, но ни чего не появляется(( Наверное я не туда нажимаю. Если не трудно покажите на скрине.
Я уже думаю, что у меня программа не правильно работает. У меня так с воркшопом было, некоторые функции не доступны и не понятно почему, где только не спрашивала, даже на TSR, но так и ни кто не ответил мне.
 
AdeLana, зачем внутри скрипта правой кнопкой-то? :) Вы перейдите в сам BHAV, вон справа синяя надпись view BHAV - она открывает семиглобальный скрипт, который из этого init'а вызывается и живет в objects.package. Вот там в окне скрипта наверху ищите эту функцию.
А правой кнопкой - это можно "снаружи" BHAV'а (или другого ресурса), когда Вы только файл открыли, но ни в какой ресурс еще не зашли. Тогда по названию ресурса можно кликать правой кнопкой и там будет тоже функция для экспорта. Но конкретно семиглобал придется экспортировать из objects.package, он ведь не в Вашем телевизоре живет. Правда, Вам его и не нужно экспортировать, если только для упражнения.
 
Дюкаша, Вы этот мели ввиду?
если да, то и тут нет "Extract".
Я именно для общего сведения хочу потренироваться работать в этом ресурсе, вот сейчас понадобилось, а я вообще ни чего не умела в BHAV-е делать.
 
AdeLana, так это не я имела в виду, это kazarin. :D На его скрине в посте выше она видна, посмотрите там наверху.
http://www.mixei.ru/showpost.php?p=3158617
У меня ее тоже нет, и я о ней даже и не знала никогда, но я вообще в SimPE плохо ориентируюсь. Мне "наружный" экспорт-импорт, как в Симс 1 привычнее. :) И, в общем-то, в умении работать с BHAV'ами это совсем не главное. :)
У Вас версия SimPE какая?
Upd. Я поставила 73-ю версию - там есть.
 
Последнее редактирование:
Да, наверное из-за версии, у меня 72-я, у меня нет "M&G", и я не стала ставит 73-ю версию.
Этот экспорт\импорт Вы имеете ввиду?
 
AdeLana, ну да, у меня тоже была 72-ая. А что, разве 73-я только для владельцев M&G полезна? :) Вон там, оказывается, кучу новых кнопочек добавили, с аддоном никак не связанных.
А функции - да, эти. Какая, однако, у Вас там мешанина из русских и английских команд. :) По-английски это "Извлечь" тоже будет "Extract".
 
Да мешанина присутствует))) Я ставила программу русифицированную, так как раньше совсем не понимала команд по английски, а сейчас уже привыкла к такому смешанному интерфейсу.

Ещё возник вопрос по ходу работы - хочу сделать одностворчатый шифоньер (на одну клетку), все такие шифоньеры в игре пришли с каким нибудь аддоном или каталогом. Если я клонирую из них, то у игроков не имеющих данный аддон\каталог, мой шифоньер не появится в игре?(где то читала, что нужно использовать для клонирования предметы из базовой игры, чтоб видела игра у всех игроков) и если не появится, то как из шкафа занимающего две клетки сделать шкаф занимающий одну клетку?
 
Последнее редактирование:
AdeLana, а я вот по-русски не понимаю команд. :D Как увижу в симской программе русские слова - сразу в ступор впадаю. :D

Про шифоньер интересный вопрос. Я, к сожалению, в обжект-мейкинге не разбираюсь, только в функциональности немножко. В Симс 1 действительно была такая заморочка: аддоновые объекты (и соответственно их клоны) несли в себе специальный код, удаляющий предмет на выходе из режима покупки, если нужного аддона не было. В Симс 2, насколько мне известно, такой функции изначально не было, хотя вполне возможно, что разрабы просто реализовали ее иначе, раз имеет место быть такая информация. Это надо или спросить кого-то, кто это делал, или погуглить. Полагаю, kazarin должен это знать.
А как клетки удалить - это Вам kazarin точно расскажет, он любитель этого дела. :) Я, опять же, только для Симс 1 этот процесс представляю себе в общих чертах.
 
AdeLana, а вообще это можно и самой проверить за несколько минут. Клонировать какой-нибудь аддоновый объект, отключить в реестре соответствующий аддон и посмотреть, как игра себя с ним поведет.
 
Назад
Сверху