Устанавливаем пляжные лоты. Любые.
Итак, у нас есть нормальный (в смысле не тайный) пляжный лот, построенный на участке с нестандартным крутым берегом. - Как будто в игре существуют стандартные берега. :lol:- >
В общем, тут мы тоже имеем на первом шаге замену файлов лотов внешним файл-менеджером с последующей коррекцией установленного неигровыми методами лота средствами игры.
Итак, пусть нам надо установить в игру пляжный лот размером 4х5. Прежде всего делаем полный бекап окрестности. И только после этого
- Подготавливаем лот для замены, - устанавливаем в окрестность так же ориентированный в пространстве пустой пляжный лот размером 4х5.
- Вводим в районе код boolprop ShowLotPackageFilename true, наводим мышку на только что установленный нами пустой пляжный участок. К обычной информации о лоте добавляется имя и путь файла лота, в котором он хранится; пусть в нашем примере это будет N001_Lot178.package в папке
\Мои документы\EA Games\The Sims 2\Neighborhoods\N001\Lots\
где N001 - папка с вашей окрестностью, у меня это Плезантвью. - Перед установкой нового пляжного лота в корзину лотов окрестности я записала имя последнего по номеру файла в папке корзины лотов. Пусть в нашем примере это будет файл cx_00000021.package. Поэтому я точно знаю имя файла многострадального лота, который я буду пытаться установить в окрестность, это будет файл со следующим после записанного мною номером. И это будет файл cx_00000022.package в папке
\Мои документы\EA Games\The Sims 2\LotCatalog\ - Я выхожу из игры, копирую cx_00000022.package в папку
\Мои документы\EA Games\The Sims 2\Neighborhoods\N001\Lots\
и переименовываю там cx_00000022.package в N001_Lot178.package - После чего просто запускаю Sims 2 и вижу на месте своего пустого пляжного лота из п.1 установленный пляжный лот, который никак "не хотел" устанавливаться в окрестность.
Я захожу на этот лот и вижу пренеприятнейшую картину, которая, кстати, полностью объясняет, почему это мой лот никак не хотел устанавливаться:
Дальше мы просто исправим наш лот средствами игры.
- Для начала надо правильно вытащить из-под "воды" прибрежную полосу ("зону для загара"). Мы воспользуемся тем, что при установке лота в окрестность любые изменения рельефа этой зоны автоматически выпрямляются. Правда, лестницы, ведущие на "землю" при этом могут оказаться похороненными в "земле", поэтому мы просто убьем эти лестницы перед вытаскиванием этой зоны для загара.
Даже если нам не надо убивать какие-либо лестницы, на этом этапе выходим в окрестность с сохранением нам надо, чтобы игра окончательно зафиксировала новые, правильные для новой окрестности, положения уровней, маркеров, порталов и т.п. служебных невидимых объектов лота. - А после этого мы просто уберем наш только что установленный полузатопленный лот в корзину домов и тут же установим его на прежнее место, после чего просто снова зайдем на лот и увидим "чудесное превращение":
Хотя, конечно же, чудесного не так и много: вся наземная часть строений прибрежной полосы оказалась врыта в землю, :( а между этой полосой и склоном вообще появилась какая-то "канава". - Поскольку это во-первых не красиво, а во-вторых симы скорее всего не смогут через канаву переправиться, "зароем" ее инструментом выравнивания поверхности грунта на лоте:
- Теперь нам надо "поднять" закопанный первый уровень прибрежных строений.
- Для этого введем на лоте код Boolprop constrainFloorElevation false,
- временно установим рядом с прибрежной зоной одну-две клетки деревянного помоста для задания уровня, на который будем поднимать высоту первого уровня нашего строения и
- выровняем этот первый "надземный" уровень обычным способом:
- И только после этого проводим выравнивающим инструментом по всей прибрежной полосе от края до края, "выкапывая" установленные там декоративные предметы и мебель. Если это сделать до выкапывания строений, останутся пятна на поверхности, как на картинках в моем примере.
- Если часть декоративных предметов, лежащих в прибрежной полосе таким образом была не выкопана, нужно просто взять любой "строительный" предмет, например колонну, и удерживая его "лапой" провести этим предметом по поверхности прибрежной полосы. Просчитывая возможное пересечение расположенных там предметов и того, который вы можете таким образом поставить, игра пересчитав таким образом отображения их места расположения, сама "откопает" скрытые предметы и отобразит их в правильном положении.
- Вводим Boolprop constrainFloorElevation true
- Если случайно остались не откапывающиеся лестницы с 1 этажа на "землю", убиваем их, используя торчащие на поверхности верхушки перил.
Если перила на лоте были не предусмотрены, а лестницы перед сохраниением лота удалены не были, - всю работу придется начинать с начала, с установки в окрестность пустого пляжного лота и замены его файлом "не устанавливающегося" в окрестность лота. :( - На всякий случай проходимся выравнивающим инструментом по всем уровням прибрежных строений
- Совершенно не обращаем внимания на ужас, который являет собою крыша. Просто выходим с сохранением и заходим на лот снова:
Вуаля! Наш не желавший устанавливаться "красавец" больше не капризничает и радует нас своим видом по первому требованию. :D
Следует обратить внимание, если вы устанавливали для замены "жилой" участок, а устанавливаемый лот был, например, "общественный", в итоговом варианте вы получите только жилой лот полностью экипированный для перезонирования в "общественный" кодом ChangeLotZoning community.
Я рассматривала установку лота, не устанавливающегося из-за большой разницы уровней прибрежной зоны, причем уровень устанавливаемого лота был существенно ниже уровня прибрежной зоны, задаваемого окрестностью. В случае противоположного соотношения высот этих уровней ваши действия аналогичны вплоть до убиения :) лестниц, поскольку висящие над "землей" лестницы так же "поддаются" коррекции, как и закопанные в нее. :(
Вы просто копируете архитектурно-дизайнерскую "начинку" файла лота лота в установленную в окрестность замену, сглаживаете "канаву" либо "вал", образующийся в месте перехода поверхности лота в прибрежную зону "для загара" и выравниваете только 1 уровень строений и предметов, попавших в прибрежную зону.
- Причем сначала вы выравниваете только 1 уровень строений соответственно с уровнем прилегающих к прибрежной зоне объектов и ограничений, налагаемых установкой порталов (лестниц).
- И только после этого вы выравниваете уровень предметов, лежащих на поверхности прибрежной зоны.
- Переустнавливаете порталы перехода на 1 уровень (лестницы).
- Сохраняетесь и выходите.
Что приятно. :D
ЗЫ Да. Метод почти полностью основан на недокументированных возможностях игры. Скрывать тут нечего. - Если вы решили, что вам нужно воспроизвести мои действия в своей игре, вам необходимо выполнить полный бекап окрестности перед выполнением этих манипуляций.
UPD Что делать, если мы пытаемся установить более сложный пляжный лот или разница высот новой и старой окрестности прямо противоположна? - Об этом в продолжении жестоких бесчеловечных экспериментов на компьютером, в Лабораторной работе №3.