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

Извлекаем установленные в игру тайные лоты (ТЛ)

Итак, извлекать лоты мы будем все тем же "казачьим" способом, устанавливая в окрестность пустой файл нужной формы и ориентации в пространстве игры.

  • А для этого я сделала себе нечто вроде указателя, установила 4 лота 2х2 и нарисовала на каждом 2 стрелки. Красная, - направление вглубь лота, перпендикулярное дороге. Синяя, - направление, показывающее направление падения "лучей солнца", оно же направление падения тени на лоте:


Как по мне, так чем-то Наска напоминает. Кто знает, что и кто там размечал? Есть же новомодная теория, что все мы, - лишь персонажи в чьей-то компьютерной игре...

...Так или иначе, начинаю вытаскивать фритаймовские ТЛ (магические лоты потом буду вытаскивать точно так же: AL у меня временно отключен, - у всех свои квесты и "легаси" :))
  1. Я заранее подготовила пустую тестовую окрестность на базе максисовской пустыни (потом впишу название, это карта Универа к Стренджтауну), сделав ее кодом modifyNeighborhoodTerrain on ровной, как доска.
  2. Из таблицы Параметры Тайных лотов (ТЛ) аддона Free Time я буду брать размер участка, который буду "отводить" в тестовой окрестности под лот и направление тени, определяющее положение будущего лота в окрестности. Напомню, для корректной замены файлов лотов в папке лотов окрестности эти параметры должны совпадать.
  3. Далее все достаточно просто. Например, я готовлюсь копировать лот Живопись, он у ЕА там как-то называется, - я копирую и буду обрабатывать лишь архитектуру лота, => на данном этапе я не заморачиваюсь правильным названием. и просто устанавливаю на карте окрестности участок требуемого размера с требуемыми параметрами ориентации лота в окрестности рядом с соответствующим расположением указателей
  4. Установив участок в окрестность, я закрываю Sims 2 и из таблицы Размещение файлов беру название и адрес лота в папке C:\Program Files\EA Games\...\Addon\, где "Addon", - возможно локализованное (переведенное) наименование папки с аддоном FT.
  5. Я копирую нужный лот в папку лотов окрестности и просто даю ему имя только что установленного в окрестность пустого участка. Так, как я чуть позже сделала это с другим лотом (Спорт):

    - >
    - >

    Я использую Total Commander, но эту работу :) можно выполнить с помощью любого файл-менеджера, в том числе и Проводника Windows.
  6. Снова запускаю SIms 2, захожу в свою тестовую окрестность и вижу на месте своего установленного пустого участка из п.3 вполне оборудованный лот. Захожу на него и окончательно убеждаюсь, это именно лот Спорт, который я извлекала из "потаенного зазеркалья". :) Выхожу с лота с обязательным в данном случае сохранением.

  7. Переименовываю лот (в данном случае в "Спорт"), чтобы не перепутать с прочими шедеврами ЕАксис.
Собственно, все. Вот так, каждый раз сверяясь с таблицами и выбирая правильное расположение и размер устанавливаемого в тестовую окрестность пустого участка извлекаю все 10 лотов.

Вот эта "невозможная красота" комплектом в сборе:



Карта FT-тайной окрестности скопирована с помощью Mootilda's Hood Replace, скриншлоты получены с помощью рекомендованной ею там же кастомной камеры (позже найду и добавлю ссылку).



Необходимо упомянуть, карта этой окрестности почти так же ровна и гладка, как моя тестовая окрестность. Но судя по артефактам на в частности, лоте "Природа", некоторый рельеф кое-где там тоже был:



***UPD 24-11-11 Ну, вот и последние "тайны" ЕА выволочены на поверхность. Вот оба этих ТЛ из AL, на фоне "промзоны" аддона FT в моем тестовом "карьере". :lol:



Поняла одну вещь: придется идти читать туторы по вытаскиванию "непокупных" предметов в "покупное" состояние. :/ Тихо надеюсь, это все тот же тутор по классификации предметов. Но - возможны варианты :((
***end upd

Честно сказать, пристрастие ЕА к гигантизму мягко говоря, "радует". Так же, как лоты, на которых непонятно для чего огромный дом занимает почти все пространство лота, лишая его и хоть какого-то оформления, и создавая громадные пустоты в трафике симов по лоту, в результате чего они либо не взаимодействуют друг с другом, либо "взаимодействуют", толкаясь у одного самого сильного "манка" вроде кофеварки.

Пока это было во вполне доступных к переделке лотах вроде лотов Uni, их просто перестраивали, и все. Пока это было в "как бы недоступных" BV-тайных лотах, это тоже можно было счесть "провокацией креативности". Но вот ЭТО уже просто вопиет о... Я не говорю об очевидной скудости кунштюков, рассчитанных на использование только одного аддона FT. - Это логично и понятно. Но взять, и действительно сделать все, что могли, чтобы закрыть редактирование.

Радует, что им это до конца так и не удалось. :)

***UPD 19-11-11
  1. Итак, извлекаем Secret lot (ТЛ) производства EA на примере ТЛ локации Такемицу. Поскольку место, куда был установлен этот ТЛ, "полысевшее" :D в результате его установки найдено, дополнительно определять правильное расположение лота в пространстве игры нам просто ни к чему: здесь оно задано однозначно.

    В любом другом случае мы вынуждены бы были определять его по содержанию ресурсов содержащей его окрестности так, как это описано выше.
  2. Помещенный в корзину лотов окрестности, лот "говорит", :) что его
  3. размер - 5х6. Ну, на кртинке просто обычная "нестыковка". В терминах отведения участков под лоты это именно участок 5х6. Его и ставим на нужное место, дав ему "креативное" имя Лот 123.

    Находим оба наших файла, один в корзине лотов, другой - в папке лотов окрестности.
  4. Заменяем установленную в окрестность заготовку лота с именем 123 копией лежащего в корзине лотов ТЛ производства ЕА

    Видим в окрестности вполне знакомый на вид, некогда тайный лот. Теперь это обычный "жилой" лот, полностью подготовленный к "тайному" существованию в игре.
  5. Заходим на лот, осматриваемся и выходим с сохранением.

    Выход с сохранением - необходимая операция, позволяющая игре создать / отредактировать ресурсы лота, пострадавшие в процессе извлечения его архитектуры эти "левым" методом.
Дальше лот можно сделать ТЛ нужного типа нужными опциями кода Changelotzoning.

Как "вернуть" лоту его многоязычные имя и описание

Прежде всего, - тексты названий и описания в частности, лотов в игре хранятся в ресурсе Text Lists (str#). Причем если лот находится в корзине лотов окрестности, как ко многим другим, доступа к этим ресурсам мы не имеем. Менять, просматривать и копировать мы можем только содержание текстовых ресурсов лотов, установленных в игру штатным установщиком лотов. Причем если сделать это не во-время, мы либо не увидим желаемых изменений в игре, либо после отработки подпрограмм "локализации", увидим вот такую картину:
  1. Извлечение многоязычного текста названия и описания лота
    1. Итак, вначале откроем в SimPE Neighborhood ЕА-шаблона, в котором установлен вытащенный нами ТЛ от ЕА. В ресурсе Lot Description (LTXT) найдем название нужного лота, в данном случае это будет "Pagoda in the shadows". В колонке Instance найдем номер соответствующего Text Lists (str#). В данном случае Instance = 0x00000046(70)

      Теперь в Text Lists (str#) найдем ресурс, номер которого заканчивается на ..046. Это и есть тот текстовый ресурс, который нам необходимо будет воспроизвести в воссоздаваемом файле ТЛ ЕАксис. Помимо очевидной текстовой информации, в окошке Desc присутствует запись: "Sims 2 EP10 - Needs Translation".
    2. Извлечем этот ресурс из Text Lists (str#) целиком в отдельную папку.
    3. Теперь по очереди выбирая языки из выпадающего списка, экспортируем в ту же папку тексты названия нашего лота и описаний к нему кнопкой Export Lang

      К сожалению, нельзя ни экспортировать, ни импортировать все названия одной кнопкой. Зато нужное имя файла выбирается по умолчанию.
  2. Внесение многоязычного текста названия и описания лота
    1. Теперь полностью аналогично тому, как мы это делали в п.1.1, найдем номер ресурса str#, в который мы будем переносить нашу многоязычную информацию о лоте:

    2. Подобно тому, как в п. 1.3 мы по очереди выбирали экспортируемые тексты на разных языках, по очереди выбирая языки из выпадающего списка, импортируем их из нашей папки кнопкой Import Lang

      К сожалению, нельзя ни экспортировать, ни импортировать все названия одной кнопкой. Зато нужное имя файла выбирается по умолчанию.
      Если в процессе экспорта языков мы что-то забыли, мы сможем все в том же сеансе редактирования окрестности в SimPE импортировать извлеченный в п.1.2 ресурс и вытащить оттуда недостающий языковый файл. А потом убить уже не нужный многоязычный файл описания.
  3. Наша задача решена. НО. Чтобы основные результаты редактирования не канули в никуда при первом же запуске игры и => первом же запуске "локализатора", как это произошло в моем примере, когда для проверки изменений я убрала свой бывший (и все еще резиденциальный) "лот123" в корзину лотов, внесение многоязычной информации нужно делать в правильное время. :)
Конечно же, эксперименты еще не закончены, но полагаю, поскольку многоязычность лота никак не влияет на его функциональность, делать это нужно уже после окончательного оформления шаблона окрестности.

В принципе, восстановление названий и описаний вообще не обязательно делать (по крайней мере, полностью) если работа выполняется только для себя. И это просто вежливость по отношению к возможным пользователям, если все же предполагается какое-то "разделение" шаблона в интернете.

***UPD 21-11-11 Так, "совершенный" механизм локализации от ЕА вполне достоин прочих ЕА-механизмов. :( - В общем, судя по всему, правильный выход для вновь создаваемого лота, особенно тайного с его особенностями установки, - сразу после окончательной установки всех лотов разделяемой окрестности и сразу перед размещением шаблона на его законное место в соответствующей подпапке ProgrammFiles, - нужно долго и нудно вносить локализацию во все по очереди языковые ресурсы каждого установленного в шаблон лота.

Но. в случае коррекции оф. ЕА-шаблона можно пытаться перенести файлы лотов, а так же соответствующие текстовые и информационные (сейчас не помню точно, как он называется, потом допишу, если получится) ресурсы в файл шаблона-окрестности. - Зря, что ли они нам что-то запретили?! ВОт, осложнили все как могли. :(

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