Half-Life DeathMatch
Сообщество

Форум сообщества Half-Life

Чат сообщества Half-Life
Онлайн

Онлайн: 1
Гостей: 1
Пользователи: 
отсутствуют

Роботы: 
отсутствуют

 Последние посетители: 
Популярное

Последние сообщения с форума
Тема Послед. сообщение
storagex3 2024-07-25 | vef4
sewagex3 2024-07-25 | vef4
project_bs 2024-05-06 | Nyanicore
Идеи для карт. 2024-04-27 | Nyanicore
Армагедонец 2023-11-27 | Alice

Half-Life DeathMatch » Интересное » Статьи » Портирование карт без декомпиляции

7-04-2014, 20:07 | Разместил: Nikita

Портирование карт без декомпиляции

В этой статье пойдет речь о портировании карт в Half-Life из других игр GoldSource (Counter-Strike, Team Fortress Classic, Day of Defeat и других.). Думаю, что тем кто любит что-то создавать для Half-Life эта статья придется по вкусу. Процесс портирования не будет скучен и однообразен. На портирование одной карты примерно уходит от 10 минут до одного часа.

Для портирования карт нам понадобится:
  • RipEnt. Консольное приложение из набора компиляторов Zoner's Halflife Tools (ZHLT).
  • Игра Half-Life с настроенным AmxModX и плагин "Weapon Factory", для удобного и быстрого раскидывания предметов по карте.
  • EntConverter конвертер.

    Необходимые утилиты:
    tools.zip [4.35 Mb] (cкачиваний: 953)


    Процесс портирование -- это раскидывание предметов Half-Life по карте -- оружия, точек спавна, и удаление предметов другой игры. Вся информация об объектах на карте хранится в текстовом
    виде, нам нужно лишь экспортировать эту информацию в текстовый файл, отредактировать его и импортировать обратно в карту.

    Раскидывать предметы по карте мы будем в самой игре, очень удобно летать по карте и в подходящие места вставлять оружие. Делать это будем с помощью AMX плагина от GordonFreeman'а -- Weapon Factory.
    Переименуйте файл liblist.gam в liblist_backup.gam, он находится в директории valve.
    Теперь скачиваем архив ниже и копируем все содержимое в директорию valve, на все предложения о заменах нажимаем "Да".

    Сам процесс портирования я продемонстрирую на карте для Counter-Strike -- fy_kano, автором которой является Burner. Скачал я ее с gamebanana.com, там же можно найти множество интересных карт.

    Заходим в архив, видим там директорию cstrike, заходим в нее и распаковываем все содержимое в директорию valve, она находится в каталоге с игрой Half-Life (Например, D:\Games\Steam\steamapps\common\Half-Life). Распаковывать нужно содержимое, но не саму директорию cstrike.

    Портирование карт без декомпиляции


    При первом запуске карты в игре Half-Life я получил ошибку "Mod_NumForName: models/winebottle.mdl not found".

    Портирование карт без декомпиляции


    Подобные ошибки появляются, когда используемый ресурс (модель, звук, спрайт) не был найден.
    Есть два способа решения этой пробелемы. Первый способ -- скопировать используемые ресурсы карты из игры Counter-Strike в Half-Life.
    Второй способ -- удалить или заменить сведения об объектах из ent файла, в этом случае мы удалим объект на карте или просто заменим свойства объекта, и игра не станет его искать, либо загрузит другой файл. С этим способом нужно быть аккуратным и учитывать особенности карты, т.к. некоторые объекты могут быть очень важны. Если на карте есть какой-либо вертолет, дерево, бутылка, человек, то он может пропасть.

    Рассмотрим второй способ, т.к. экспортировать сведения об объектах нам все равно придется. Для этого воспользуемся приложением RipEnt.
    В архиве, что я дал, имеется два bat файла, необходимо открыть их и исправить имя карты на свое, сохранить и запустить ripent_export.bat

    Портирование карт без декомпиляции


    После запуска, у нас появится новый ent файл с названием нашей карты. Открываем этот файл и удаляем ненужные объекты, каждый объект начинается с открывающей фигурной скобки "{", и заканчивается "}", между скобками находятся различные директивы со свойствами. Директива "classname" это название объекта, мы будем работать лишь с некоторыми:

    cycler_sprite -- модель или спрайт на карте.
    env_sprite -- спрайт на карте (огонь или какой-то эффект).
    info_player_deathmatch -- точка спавна игроков в мультиплеере. В Counter-Strike точка спавна террористов.
    info_player_start -- точка спавна игрока в одиночном режиме. В Counter-Strike точка спавна спецназовцев.
    game_player_equip -- объект позволяет экипировать игрока нужным оружием.
    ambient_generic -- звук на карте.

    Портирование карт без декомпиляции


    На карте fy_kano я убрал все cycler_sprite, game_player_equip, и оставил по одному info_player_deathmatch и info_player_start, остальные спавны будут расставляться по всей карте. Также я переместил некоторые стандартные файлы из cstrike в valve. После редактирования ent файла, его нужно импортировать обратно, для этого в архиве есть ripent_import.bat. Импортируем свойства объектов, кидаем карту в папку valve/maps и пробуем запустить ее в игре.

    После запуска можно заметить отсутствие различного оружия и предметов.

    Портирование карт без декомпиляции


    Теперь воспользуемся плагином "Weapon Factory". Вводим в консоли "wp_spawn" и видим появившееся слева меню.

    Портирование карт без декомпиляции

    Портирование карт без декомпиляции


    Выбираем, какое оружие или предмет будем спавнить. Можно указать угол поворота нашего предмета. До перезагрузки карты все добавленные предметы будут иметь голографический эффект.

    Портирование карт без декомпиляции

    Портирование карт без декомпиляции


    Помимо оружия и патронов, не забываем расставить места спавна игроков. В плагине "Weapon Factory" объекта info_player_deathmatch нет, вернее он есть, но не работает. Я обычно использую монтировку в качестве точки спавна, в текстовом файле entity потом можно исправить weapon_crowbar на info_player_deathmatch.

    После того, как расставили все предметы и точки спана, перезагружаем карту ("restart" в консоли) и видим уже, что наша карта полна предметами. Но портирование на этом не закончено,
    все эти предметы хранятся в базе данных плагина "Weapon Factory", а нам нужно внедрить все предметы в саму карту.

    Портирование карт без декомпиляции


    Теперь нужно конвертировать данные "Weapon Factory" в данные, которые можно спокойно импортировать в карту. Переходим в директорию valve\addons\amxmodx\configs\weapon_factory, в ней должен находится ini-файл с названием нашей карты, в моем случае fy_kano.ini. Для конвертации воспользуемся моим конвертером EntConverter, копируем файл ent_converter.exe в директорию с ini файлами valve\addons\amxmodx\configs\weapon_factory и запускаем его. После этого должен появится ent-файл с названием нашей карты, в моем случае это fy_kano.ent, все содержимое этого файла нужно дописать в ent-файл, который мы экспортировали с помощью RipEnt.

    Портирование карт без декомпиляции


    Не забываем про наш костыль. Нужно заменить weapon_crowbar на info_player_deathmatch. В некоторых случаях игроки могут появиться в земле, поэтому нужно увеличить z-координату (высоту) объекта, не забываем, что числа могут быть отрицательными.

    Портирование карт без декомпиляции

    Портирование карт без декомпиляции


    После сохранения конечного ent-файла, его нужно импортировать в карту, для этого нужно запустить файл "ripent_import.bat".
    Карта успешно портирована из Counter-Strike в Half-Life. Можно проверить, все ли работает. Перед этим не забываем удалить liblist.gam и переименовать liblist_backup.gam обратно в liblist.gam,
    этим самым мы отключим AmxModx и плагин "Weapon Factory", если этого не сделать, то все раскиданные нами предметы будут дублироваться.

    Подобным образом можно портировать абсолютно все GoldSource карты. Помимо портирования, можно добавлять какие-то предметы в существующие карты Half-Life, исправить какие-то проблемы карт и т.п.



  • Другие новости по теме:

    123 | ICQ: | 4 August 2015 14:01


    Публикаций: 0
    Комментариев: 0
    Рекапча говно))0)))

    6rfdgfdgfvgfcbghb dhgfvbfgchfgc


    FastBrick | ICQ: | 1 June 2016 20:06


    Публикаций: 0
    Комментариев: 0
    Как добавить Med-Kit'ы и Зарядники на стены?


    Добавить отзыв

    Мониторинг серверов

    ИМПЕРАТОР СЕРВЕР
    HLDM.ORG:27015
    Игроков: 3/32
    Карта: winter_cool

    Развернуть



    ВЕСЕЛЫЙ СЕРВЕР (FUN)
    HLDM.ORG:27017
    Игроков: 3/32
    Карта: undertow

    Развернуть



    GunGame 2.2
    HLDM.ORG:27018
    Игроков: 3/24
    Карта: pool_party

    Развернуть



    Кооператив (Sven Co-op)
    HLDM.ORG:27025
    Игроков: 0/32
    Карта: uplink

    Развернуть



    TF2 Classic #1. Custom Weapons
    TF2C.HLDM.ORG:27015
    Игроков: 0/24
    Карта: plr_hightower

    Развернуть



    TF2 Classic #2. Custom Weapons
    TF2C.HLDM.ORG:27016
    Игроков: /
    Карта:

    Развернуть




    Администраторы серверов :
    ET^NiK
    ET^Pontiy
    kissbb
    NH.Kanm!!r
    GordonFreeman
    Kiler