Лабораторная работа №9

Строим стены и фундамент в прибрежной зоне пляжного лота



Как удалось выяснить, биты предпоследнего байта 0x000000X0 ячейки UO ресурса Lot Description (LTXT) кодируют очень важную информацию

1 - установленный лот не виден на карте окрестности
2 - лот "сухопутный"
A - лот "пляжный"
И если возможность получить непосредственный доступ к установленному невидимому (тайному) лоту очень упрощает многие вопросы, связанные со строительствои и коррекцией установленных ТЛ, возможность менять признак "морского" / "сухопутного" лота дает интересные возможности как для строительства "морских" лотов, так и для возможной переделки "сухопутных" лотов в "морские".

Перед рассказом "как это делается" нужно упомянуть, минимальный "габаритный" размер пляжного лота, свободно преобразуемого средствами игры равен 3x3. Строительство "маленьких" пляжных лотов в принципе возможно, но с ограничением: глубина такого лота не может быть меньше 3 клеток окрестности (30 клеток лота). Лоты размером 1x3 и 2x3 можно строить, уменьшая исходный 3x3 утилитами Mootilda и перемещая (удаляя лишние) порталы вручную перед уменьшением, либо через SimPE.
  • Когда мы устанавливаем в окрестность совершенно пустой участок нужного размера из корзины пустых лотов окрестности, на самом деле мы всего лишь отводим определенное место под данный лот. При первом же заходе на этот лот в режиме строительства или в режиме жизни на него устанавливается необходимый комплект объектов (порталов), соответствующих выбранному виду лота. После первого же выхода с лота с сохранением этот установленный набор порталов останется практически неизменным.
  1. НО. Если мы создали и "оборудовали" соответствующими порталами пляжный лот, значение предпоследнего байта (цифры :)) ячейки U0 в descriptor'е этого лота установлено в 0x000000A0. 
  2. Если далее мы вышли с этого лота с сохранением и открыли этот лот в SimPE через Neighborhood browser, мы можем изменить это значение (цифру :)) на 0x00000020, нажали Commit и сохранились.
    • Если "морской" лот не только что созданный, и/или значение байта отличается от A0, (т.е. присутствуют и другие признаки) - необходимо сначала вычесть из этого числа A0, а затем добавить 20 по правилам 16-ричного сложения
  3. После чего можно снова зайти на этот лот в игре и убедиться, что теперь мы можем совершенно спокойно "рисовать" стены во всей обычно допустимой для строительства стен области лота. Т.е. по всей его поверхности, за исключением полосы из 2 крайних клеток этой поверхности.

    То же касается и клеток фундамента, за исключением полосы "захода в воду". НО. Если воспользоваться Inge Jones Portal Revealer, можно увидеть там ряд "лестниц" для захода в "воду". Если убрать эти "лестницы" в области, которая должна оказаться под фундаментом, фундамент там устанавливается легко и свободно.
    • Необходимо уточнить, что фундамент необходимо "рисовать" начиная с самой высокой точки его предполагаемого расположения. - Иначе после возвращения лота в "пляжное"состояние при первой же переустановке лота этот фундамент все равно придется "выкапывать".
  4. После постройки фундамента и/или стен на уровне "0" (на земле :)) в запрещенной к их размещению зоне, выходим с лота с сохранением и закрываем Sims 2. Открываем SimPE и аналогично п.2 меняем значение только одного байта ячейки U0, меняя 0x00000020 на 0x000000A0. То есть значение ячейки U0 скорее всего будет не ровно 0x00000020, а например, 0x00000123, - изменим его на 0x000001A3. Нажмем Commit и сохранимся.
  5. Теперь зайдем на лот в игре, выйдем в район с сохранением, уберем наш преобразованный лот в корзину домов и снова установим его в окрестность. Делается это для того, чтобы игра получила возможность заново установить / активизировать оставшиеся порталы пляжного лота.
  6. Снова заходим на лот и работаем с выстроенными стенами и фундаментом лота как обычно.
Конечно, если нам придется достраивать / видоизменять фундамент или стены в прибрежной зоне, нам снова придется следовать этой инструкции начиная с п.2.

Небольшое примечание: метод опробован в режиме строительства. Нормальной (долговременной) проверки в режиме жизни метод пока не проходил. И хотя я уверена, что там все должно быть нормально, - до полных испытаний метода будет находиться только в "лабораторных". :(
  • Еще одно приложение этой информации, - возможность сделать "пляжными" свои или скачанные НЕпляжные лоты.
Если максимальный размер пляжного лота 6x6, включая полосы дороги, моря, спуска к воде и прибрежную полосу. То есть преобразуемый в пляжный лот может иметь максимальный размер застроенной области лота не более 3x6, а лучше 2x6. Если ваш "сухопутный" лот удовлетворяет этим требованиям, или его можно привести к этим требованиям при помощи Mootilda LotAjuster'а, от него можно попытаться "проложить дорогу к морю":
  1. Увеличить размер Back yard (свободного "заднего двора") лота до минимум 2 при помощи LotAjuster'а (2 = 2 клетки окрестности = 20 клеток лота. Ну, Ajuster сам спросит. :D)
  2. Зайти в игру и выполнить все предписанные Ajuster'ом действия
  3. Выйти из Sims 2 и в SimPE сделать лот "пляжным" согласно п.2 предыдущей инструкции.
  4. Вернуться в Sims 2, и зайти на лот. Если игра отказывается это сделать, или просто вылетает, значит необходимо снова преобразовать лот в "сухопутный" аналогично п.4 предыдущей инструкции. После чего вернуться в п.1 этой инструкции и при возможности добавить еще 1 полосу Back yard лота или вовсе отказаться от превращения лота в пляжный.
  5. Если на лот зайти удалось, нужно выйти с лота с сохранением, убрать лот в корзину домов и снова установить его оттуда на карту окрестности.
  6. Зайти на уже не совсем сухопутный лот, при необходимости откорректировать его архитектуру и добавить отсутствующие "пляжные" порталы, скачав их с Simlogical
Как и изложенная выше, эта инструкция должным образом не испытывалась. И как любую другую, если вы выполняете ее, вы делаете это на свой страх и риск, сделав перед этим полный бэкап окрестности. Ну, или же экспериментируя в специальной, отдельной тестовой окрестности.