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

Создание реплейсмента ТЛ 2 типа

В этот раз мы будем выяснять, как "объяснить" игре, что вместо старого, "родного" лота ЕАксис ей теперь придется иметь дело с нашим :) творчеством.

Как уже было выяснено ранее, эквивалентность лотов для замены определялась размерами, ориентацией лота в пространстве игры, (не)видимостью на карте и (не)пляжностью лота. Все прочее оказалось не более, чем "архитектурой". Ответственность за равильность подготовки которой к сценарию игры на замещающем лоте мы решили взять на себя. Правда, почти только что :) выяснилось, что (не)пляжность и (не)видимость лота всего лишь задаются признаками Lot Descriptor'а этого лота. Поэтому попробуем определить назначение остальных окошек в форме Lot Descriptor'а на примере одного из лотов FT тайной окрестности:






Как уже известно, параметры U10 и U11 определяют направление падения тени на лоте, U0 вероятно, задает, не только (не)видимость и (не)пляжность лота, а Instance связывает его с текстовыми и вероятно, еще какими-то ресурсами окрестности и Lot Type определяет тип лота.
U4 - Возможно, не единственное указание на специализацию данного FT ТЛ.

U3 вероятно, фиксирует высоту над уровнем "моря" окрестности, в которой первоначально был построен лот, или некую "среднюю" высоту над уровнем "моря" текущей окрестности.
With / Hight определяют внешние размеры лота
Top / Left / Orientation определяют расположение и поворот лота на карте окрестности
Z определяет высоту расположения лота над уровнем "моря" и
группа Elevation offsets вероятно задает отклонения от Z для каждого из квадратов окрестности, которые занимает данный лот. Если эти отклонения имеются, конечно же.
*И - на данный момент AL и M&G отключены в моей игре. Надеюсь, до них тоже дойдет дело. :D

Таким образом, для замены лота, в том числе и оф. ТЛ 2 типа, установленного на карте окрестности нам следует подобрать лот, параметры U10 и U11 которого совпадут с заменяемым оф. лотом ЕА, стоящим в тайном районе. Эти данные можно получить как лично из SimPE, так и из таблицы. Instance и Lot type нашего гибрида должны будут совпасть с соответствующими параметрами заменяемого лота, остальные перечисленные выше параметры должны совпасть с параметрами заранее подготовленной замены.

Собственно, все это нам теперь и надо будет проверить в игре. :D

***UPD 30-11-11 Как пока удалось (вскользь) проверить, (не)скрытость лота на карте никак не влияет на его функционирование. НО. Пока я экспериментирую с попаданием на ТЛ в абсолютно пустом районе, в котором за несколько секунд пребывания на ТЛ просто некому составить компанию моему тестеру на FT ТЛ.

И как-то я в прошлый раз проглядела ячейку U4. Обследование районов показало, она задействуется только на FT ТЛ, ее содержание уникально для каждого ТЛ и больше всего напоминает классический "флаг" со сдвигающимся разрядом... - :D
"Содержимое" ячейки зафиксировано в таблице Параметров ТЛ аддона FT. Видимо, перед продолжением экспериментов с реплейсментом ТЛ будет иметь смысл вернуться к попыткам относительно "нормальной", прямой установки ТЛ.


:) Бедную Сьюзен занесло в гараж после того, как значения U4 ее кухни и гаража какого-то Билла поменялись друг с другом.

Дальше, ни изменение, ни даже удаление ТЛ, установленного в папку лотов окрестности не вызывают переустановку этого лота из папок шаблона. Но если удалить файл FT subhood из папки окрестности, ВСЕ FT ТЛ автоматом переустанавливаются заново при первом же запуске игры. - Естественно, НЕ удаленные старые при этом "зависают" в папке лотов окрестности.

Если FT ТЛ сделать видимым на карте FT ТО, это не сделает его доступным для симов, не имеющих права доступа к этому FT ТЛ. Во всяком случае, семья испытателя такой доступ пока не получила. Правда, других симов я пока тоже там не видела, ни в видимых, ни в невидимых вариантах лотов.

UPD 1-12-11
"Зима пришла". Ага. - Тротуары инеем покрыло, всего лишь. Ну, это в реале...

...В матрице же я поставила на карту FT ТО резиденциальные версии моего Testlot, с плитой кока и холодильником. В количестве 10 штук-с. Вышла из Sims 2, и в SimPE поменяла тип лота на SecretHobby и присвоила нужное значение ячейке U4. Затем вышла и внешним файл-менеджером заменила в папке лотов окрестности резиденциальные варианты тайными аналогами. В результате на ТЛ уже можно прийти, но пока что там нет даже хозяина лота.

Upd Да, дело оказалось в Instance. Причем стоило этот Instance выставить, картинка лота в ресурсе исчезает. мои уменьшенные лоты пропадают с окрестности даже со снятым битом невидимости. Причем на лот, точнее на то, что от него осталось, прийти можно. И встретиться там с хозяйкой лота. Самого лота только нет. :lol:. Чистое поле, и все.

Лот-реплейсмент пока тоже выходит какой-то неправильный. Но я границы в СимПЕ переопределяла, а это и должно быть неверно, раз elevation offsets не меняются количественно. И встретить там кого-то пока тоже не получается. Похоже, пора "звать" lotAjuster. :D - Надо думать дальше...

...А в общем-то вариантов у меня действительно всего лишь два. Либо "кромсать" установленный в окрестность ТЛ, либо пытаться ставить совсем новый, с новыми параметрами. Т.е. искать выходы на штатную процедуру записи всех его параметров в файл окрестности. Т.е. искать бит невидимости в LotID файла лота, лежащего в корзине домов. Т.е. в Hex'е, а больше там толком ничего и не видно, если хотя бы это правильно отображается. :(

Даже если потом выяснится, что конкретное значение instance все же связано с появлением хозяйки лота (что вряд ли, иначе зачем еще и U4 было заводить?!), если бит невидимости в лоте из корзины удастся найти, это НАВЕРНОЕ поможет нормально устанавливать ТЛ с M&G. Так что поищу, конечно же... Впрочем, без лишних иллюзий.

UPD 3-12-11
Ну, вот это уже совсем другое дело!
Итак, установленный в окрестность FT ТЛ кодом changelotzoning residential был преобразован в вид, доступный для сохранения результатов редактирования (в residential). После выхода с лота с сохранением лот был обработан Mootilda LotAjuster'ом. Далее была снова запущена игра, и лот был снова преобразован к тайному виду кодом changelotzoning secrethobbylot. - Все. Теперь Сюзен встречает гостей на уменьшенном совершенно пустом лоте. :D Который, естественно можно и нужно будет перестроить, предварительно преобразовав кодом changelotzoning в жилой либо коммерческий лот. Как всегда важным остается правило: перезонирование в ТЛ без ошибок чаще всего происходит при смене типа лота именно с "жилой" на "тайный".

Так. Ну, ТЕПЕРЬ с FT тайными лотами можно сделать уже очень и очень многое, если не все. - Спасибо Mootilda!!!

Но перед тем, как попытаться разобраться с AL ведьмиными "хоромами", я все же хочу посмотреть, можно ли решить задачку установки НЕ универских ТЛ "в лоб", т.е. поискать бит невидимости в Hex'е лота, лежащего в корзине. - Вряд ли, конечно же. Но я попробую. :D

...И вот тут-то меня и настигло "долгожданное" фиаско:

Был сделан небольшой тестовый лот, которому по очереди был присвоен признак одного из существовавших (на момент выхода FT) типов лота. Различия просматривались в SimPE. Попытки изменить значение ячейки 40x0a с 0x07 в предположении, что один из битов кодирует невидимость лота в корзине, лот да, стал там вполне наблюдаем. Просто изменился его тип лота. Чего вообще говоря можно было ожидать. :) - Но поскольку нам надо либо редактировать уже установленный в окрестность FT ТЛ, либо устанавливать в окрестность из корзины именно FT ТЛ, а не его вариант любого другого типа, - будем редактировать!

Но сейчас попробуем редактировать AL ТО и ТЛ. Судя по предупреждению, которое выскакивает при попытке открыть AL ТО, это может вызвать трудности. - Посмотрим.

С этим "предупреждением" SimPE все весьма "странно": конечно же, никакого "персонажа" с guid 0x01210000 (inst 0x0000) мне найти не удалось даже в одном экземпляре. :/ Но предположим, я просто не там искала. - Перед тем, как задумываться, о чем задавать вопросы людям на MTS, я немного поэкспериментировала, поменяла карту Магии на ту, которая нужна мне. Нет, конечно, можно было бы и с этим оф.ущельем поупражняться в "землеустройстве", но мне в принципе не нравится образ магии в виде двух изолированных и замкнутых на себя кружков. А поскольку это все же МОЯ игра, - ... :)

В общем, после применения HoodReplace предупреждение SimPE пропало, но снова начало появляться после захода в игру с целью осмотреться в новой окрестности. Конечно, Магия окрестность весьма специфичная, а предупреждения выдает либо включенный в нее скрипт, распознаваемый SimPE как "ошибка персонажа", либо некий "географический" признак, измененный hoodReplace, но восстановленный игрой. — Либо нечто совершенно иное (c) :D

Далее, исследование :) Lot Descriptor'а позволяет предположить, что "статус" магических лотов прописан весьма своеобразно: с одной стороны никак не прописана ячейка ApartmentBase, с другой - в U0 задействован бит 0x01000, вероятно (возможно) связанный с неким статусом суб-лота.

В общем, гадать можно до бесконечности, НО...

Продолжение следует