Elex Элекс - Большая интерактивная карта игрового мира

Тема в разделе "Elex / Элекс: Справочник (FAQ)", создана пользователем GeorG, 21 окт 2017.

  1. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    Большая интерактивная карта мира Elex

    hhrhhr_github_io_LuaELEX_elex.jpg

    Автор: hhrhhr (собственно на его гитбабе и находится скрипт для создания карты из ресурсов игры.
    Саму интерактивную карту мира Elex, можно открыть в браузере (в Мозилле у меня что-то не открылась, в Хроме нормально).

    Эта карта сложена из ресурсов игры (объединении маленьких карт), её можно использовать для обозначений нахождения квестодателей, телепортов, продавцов, учителей, расположение врагов, полезного лута и.т.д..

    Технические детали (для тех кому интересно как всё там работает, как создана карта, и для того чтобы делать доработки под себя)
    Получение тайлов карт (отдельных плиток карт):
    Код:
    if not exist .\map_dds mkdir .\map_dds
    lua pak_unpack_map.lua path_to\c_1_na.pak .\map_dds
    Что тут происходит:
    • скрипт ищет файл 0_na_img\w_img_0_na.csv в c_1_na.pak
    • читает и сравнивает хэши в именах файлов (например w_img_0_na_98ca6197.rom -> Map_0000_0057_0029)
    • конвертирует имена из игровых файлов Map_ZZZZ_YYYY_XXXX в формат elex-Z-Y-X (убирает нули из формата даты)
    • копирует тайлы в формате DDS и новыми именами в папку .\map_dds

    Файлы .dds находятся формате DX10 со сжатием BC7. Для массового преобразования я использовал Compressonator (пока не смог найти других CLI-утилит, поддерживающих DX10-текстуры):

    Код:
    if not exist .\map_tga mkdir .\map_tga
    for /r .\map_dds %i in (*.dds) do @CompressonatorCLI "%i" ".\map_tga\%~ni.tga"
    Получаемые фрагменты карт имеют весьма скромные размеры 256x256, потому их можно объединить с помощью ImageMagick в плитки по 512x512 px, применив для этого tga_256_to_512_webp.lua

    merge.jpg

    Код:
    rem Make filelist
    dir /b /s .\map_tga\*.tga > .\map_tga\tga_filelist.txt
    
    if not exist .\map_www mkdir .\map_www
    lua tga_256_to_512_webp.lua .\map_tga\tga_filelist.txt .\map_www > convert.cmd
    
    rem Running the resulting batch-file
    convert.cmd
    После этого, вместо 1983 штук оригинальных плитки получает только 540.

    Вы можете сами настроить формат вывода, для это вам нужно отредактировать переменные magick4 и tile в tga_256_to_512_webp.lua

    (Перевод мой, выполнен в свободной форме, надеюсь ничего не упустил из оригинала)
     

    Вложения:

    • Like Like x 3
    Последнее редактирование модератором: 7 ноя 2017
  2. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    На карте появились координаты телепортов:

    teleport.jpg

    (Ссылка на карту в шапке)

    Несколько строк от автора:
    Мануал - как парсировать World_Teleporter.sec
    Для начала нужно создать хеш-таблицу всех строк файла ...\ELEX\system\ELEX.exe. Для этого проще всего использовать *nix утилиту:
    Код:
    strings -3 ELEX.exe | grep "^[A-Za-z][A-Za-z <>_\-]\+$" | LANG=C sort | uniq > strings.txt
    После этого создать хеш-таблицу для её дальнейшего использования:
    Код:
    lua generate_hash.lua strings.txt > hash_names.lua
    Также вам необходимо распаковать некоторые .rom файлы, например, чтобы найти нужные координаты телепортов ...\0_na_sec\0\9\w_sec_0_na_935f1e52.rom.
    В шестнадцатеричном коде файла ...\0_na_sec\w_sec_0_na.csv, можно найти соответствие с именем файла, в нашем случае, это World_Teleporter.sec.

    Теперь все готово для запуска самого парсера gar5_parser.lua:
    Код:
    lua gar5_parser.lua World_Teleporter.sec > World_Teleporter.txt
    (Перевод мой, выполнен в свободной форме)
     

    Вложения:

    • Like Like x 1
  3. ExCluD3D

    ExCluD3D
    Active Member
    Регистрация:
    9 фев 2014
    Сообщения:
    163
    Симпатии:
    192
    Баллы:
    43
    Пол:
    Мужской
    Не совсем конечно интерактивная. Но есть еще такая.
    Карта
    Плюс есть куча различной информации и других карт.
     
    • Like Like x 2
  4. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    На карту добавлены:
    Рецепты/чертежи, аудиозаписи, картинки, книги/письма и самоцветы, изменены иконки телепортов (что были в первой версии карты).
    Ссылка на карту в шапке темы (она автоматически обновляется).

    hhrhhr_github_io_LuaELEX_elex_1.jpg

    Технические детали распаковки:
    Показать список всех файлов в архиве или распаковать их:
    Код:
    lua pXX_unpack.lua path_to.p00
    lua pXX_unpack.lua path_to.p00 output_dir
    Комментарий автора:
     

    Вложения:

  5. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    map_elex.jpg

    Обновление веб-карты:
    Новый слой с местоположением амулетов и колец.
    Добавлены всплывающие подсказки.

    Технические детали локализации:
    Конвертирование \localization\w_strings.bin в таблицу Lua
    Код:
    lua w_strings.lua <w_strings.bin> <output.lua> [lang]
    lang - языковой код от 0...15 (в патче 1.1)
     

    Вложения:

    • Like Like x 2
  6. Kof

    Kof
    New Member
    Регистрация:
    2 ноя 2017
    Сообщения:
    7
    Симпатии:
    3
    Баллы:
    3
    Пол:
    Мужской
    У меня по ссылке в шапке не работает, вот ещё вариант - ссылка
    --- Добавлено: 4 ноя 2017 ---

    Кто нибудь видел карту с метками рудных жил?
     
    • Like Like x 1
    Последнее редактирование модератором: 7 авг 2018
  7. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    Обновил ссылку в шапке, и на всякий случай напоминаю - в браузере Мозилла карта по умолчанию работает некорректно (причина вжатие которое используется, но уже частично исправлено, о этом ниже).

    map_elex_01.jpg

    Карта обновлена:
    • Добавлены слои с очками (6 штук)
    • Векторный слой с дорогами
    • Добавлены тайлы в JPG формате (теперь возможно открывать карту в Мозилле или IE). Переключатся в правом нижнем углу карты (см. скрин), или добавлением параметра ?f=jpg к адресу в строке браузера (URL).
    • Плагин leaflet-hash, формирующий ссылку на текущее положение и уровень зума. Теперь стало возможно, делиться конкретными координатами. Например, такая ссылка покажет русскую версию с JPG-тайлами (для IE/Firefox) и расположение очков: https://hhrhhr.github.io/LuaELEX/elex_map.html?l=ru&f=jpg#7|-2806.563|-2020.438

    p.s. Ещё добавлю (я например, не сразу разобрался), что если кликнуть по предмету на карте, то появится подробная подсказка с его описанием.
    p.p.s. Вот кстати ещё одна карта, но не русская.
     

    Вложения:

  8. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.309
    Симпатии:
    2.166
    Баллы:
    113
    Пол:
    Мужской
    @Kof, автор услышал тебя :D

    map-elex-02.jpg

    Обновление:
    • Добавлен слой с залежами руды;
    • Автоопределение вашего браузера и автоматическое переключения на нужный набор тайлов (простыми словами, теперь работает и в браузере Мозилла с IE);
    • Остался ручной выбор формата WebP или JPG (см. скрин);
    :)
    p.s. Для локальной версии карты, можно использовать тайлы в лучшем качестве map_512_0-5_webp.zip или скачать с Меги (5.1 Mb)
    p.p.s Кстати, у автора большая проблема с иконками (чем собственно обозначать элементы на карте), если кто может помочь с этим, то думаю он бы не отказался...
     

    Вложения:

    • Like Like x 2

Поделиться этой страницей