редактирование .vpk файла

Тема в разделе "Вопросы и ответы", создана пользователем jhon2, 22 май 2020 в 08:51.

  1. jhon2

    jhon2 Новичок
    VIP

    Регистрация:
    30 апр 2020
    Сообщения:
    25
    Симпатии:
    6
    Всем привет. Кто знает как записать свои данные в vpk файл? Открыть на просмотр можно программой gcfscape, но она только позволяет извлекать файлы из vpk. А как закинуть свой файл внутрь vpk?
     
  2. taste

    taste Новичок
    VIP

    Регистрация:
    3 янв 2020
    Сообщения:
    8
    Симпатии:
    9
    Как запаковать свой мод или дополнение в VPK? Для этой цели используется утилита от Valve, которая находится в папке с игрой по пути C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin\ для Left4Dead 2 или C:\Program Files\Steam\steamapps\common\left 4 dead\bin для Left4Dead.

    В Left4Dead 2 для использования утилиты необходимо предварительно установить Left 4 Dead 2 Authoring Tools. Называется программа vpk.exe. Для того, чтобы запаковать свой addon в формат VPK можно просто создать ярлык vpk.exe и перетянуть папку с дополнение на этот ярлык. Утилита создаст VPK файл откинув файлы исходников (.VMF, .TGA, .SMD, .QC и т.п.). Если вы паковали свое дополнение в папке addons игры, вам нужно будет перенести папку с дополнением в другое место, оставив лишь запакованный файл VPK. Теперь можете выбрать свой addon в игре и протестировать его работу.

    Кроме запаковки своего дополнения нужно добавить в архив VPK его файл описания. Для этого в папке с нашим дополнением мы создаем текстовый файл addoninfo.txt с прмерно следующим содержанием:
     
  3. FPT

    FPT Элита

    Регистрация:
    3 май 2014
    Сообщения:
    226
    Симпатии:
    252
    Есть утилита в том же CS:S (к примеру) vpk.exe в папка_с_игрой\bin. Создай ярлык vpk.exe, кинь его туда, где тебе нужно запаковать в VPK всё содержимое, и затем зажми папку и потяни на ярлык vpk.exe. Готово, переименовать содержимое ты можешь вручную.

    Я лично не пробовал закидывать отдельно фаилы в готовые vpk архивы, но это возможно. Но я лично всё перепаковываю по новой, во избежании косяков. Нужно распаковать имеющееся содержимое, заложить свой фаил\фаилы внутрь, и запаковать по новой.

    Однако, есть проблема - большую папку нет возможности запаковать таким способом (vpk.exe моментально закроется).

    Решение следующее:

    1. Создаём себе папку в любом месте (желательно прям на диске, без лишних путей будет удобнее). Никакие русские символы не допускаются, нежелательно использовать цифры в наименовании папок. Чисто английский со спец символами, которые разрешает винда.

    2. Создаём там .bat фаил (я к примеру решил использовать vpk.exe с ксс). Всё что нам нужно - указать путь к местонахождению vpk.exe фаила (НЕ ЯРЛЫКА, А ОРИГИНАЛЬНОГО ФАИЛА В ПАПКЕ С ИГРОЙ / BIN), и затем использовать его в роли запаковщика со всеми вытекающими свойствами запаковки и конечным путём + наименовании запакованных архивов.

    В моём случае это:

    cd C:\<путь к самой CS:S>\bin
    vpk.exe -M -c 110 C:\<папка_где_будут_архивы+сам_батник>\<название_папки_которое_хочешь_запаковать>

    где

    -M - создание нескольких архивов
    -c 110 - разбиение архивов по 110 мегабайт

    Чтобы узнать какие ещё свойства имеются, после команды
    cd C:\<путь к bin>

    вводите vpk.exe -?

    И там покажутся команды.

    P.S. в CS:GO нету vpk.exe, запаковать содержимое возможно через тот же cs:s vpk.exe, но совместимость не проверялась!
    CREATE VPK / ADD FILES:
    vpk <dirname>
    Creates a pack file named <dirname>.vpk located
    in the parent of the specified directory.
    vpk a <vpkfile> <filename1> <filename2> ...
    Add file(s).
    vpk a <vpkfile> @<filename>
    Add files listed in a response file.
    vpk k <vpkfile> <keyvalues_filename>
    Add files listed in a keyvalues control file.
    vpk <directory>
    Create VPK from directory structure. (This is invoked when
    a directory is dragged onto the VPK tool.)
     
    #3 FPT, 22 май 2020 в 09:58
    Последнее редактирование: 22 май 2020 в 10:16
    jhon2, RETARDS и Мотор нравится это.