Редактирование Entity (Способ Lump File's)

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Всем привет.
В данной статье вы узнаете:
  1. Что такое LMP файлы и каким образом они взаимодействует с BSP файлом карты.
  2. Необходимое ПО для создания LMP файла
  3. Редактирование Entity через отдельный файл (с расширением LMP)
Введение:
Движок Source 1 уже существует более 10 лет и не для кого ни секрет, что он формально устарел (если не верите мне поверьте другим источникам). И даже несмотря на то, что вроде бы уже все известно о нём всплывают все новые и новые возможности (по крайне мере для меня).
Сегодня я хочу вам рассказать о так называемых LMP файлах, которые позволяет администратору или обычному игроку редактировать (без декомпиляция BSP файла и последующей компиляции в BSP) игровой мир (карту с расширением BSP).

Представим себе такую банальную ситуацию:
Вы скачали карту с какого-то ресурса, вас карта устраивает и вам все нравится. Но к примеру вы задались вопросом, если я не имею способностей для работы с Valve Hammer Edition. То я хочу редактировать карту. Для этих целей же конечно можно воспользовать программой Ent Spy (как пример). Но к сожалению данная программа давно не обновлялась поэтому морально устарела, но все же некоторые её функции ещё рабочие.

Что такое LMP файлы, взаимодействие с BSP:
Если объяснять совсем просто. Это файлы движка Source, содержащие информации о всех Entity объектах данной карты (на самом деле LMP файла хранят не только информацию об Entity, но речь не об этом) и которые имеют больший приоритет перед BSP файлами. То есть перед тем как движок загружает игровой мир (BSP файл) он проверяет наличие файлов LMP. Еси таковые имеются движок берёт информацию об Entity объектах не из BSP файла, а из LMP. Это позволяет изменять/создавать/удалять Entity с карты (то есть полная свобода над игровой картой) при этом файл BSP никак не будет затронут.

ПО для работы с LMP файлами:
Для работы с данными файлами вам необходимо скачать Valve Integrated Development Environment (VIDE). Данное ПО само по себе имеет очень много возможностей. Но нам нужна только одна функция для наших целей: BSP Info.

О возможностях и работой с VIDE вы можете узнать тут.

Порядок извлечения LMP из BSP:
  1. Скачайте VIDE, распакуйте архив и запустите EXE файл.
  2. В меню Tools выберите пункт BSP Info и выберите BSP файл, который хотите редактировать.
  3. В появившемся окне нажмите на пункт Entities и нажмите кнопку Extract.
  4. Выберите папку для извлечения и согласитесь на предложение "Save as *.lmp".
Редактирование LMP файла:
Открыв LMP файл любым текстовым редактором вы увидите все Entity, используемые картой.

Для редактирования Entity - изменяйте поля в пределах скобок, то есть
  1. { - открывает информацию об Entity
  2. ... - далее описаны KeyValue's для данной Entity, вы можете их изменять/добавлять/удалять
  3. } - закрывает информацию об Entity

Для удаления Entity - удалите все что от { и до } (включая скобки).

Для создания Entity:
  1. Напишите { - откройте информацию об Entity (то есть теперь вы можете писать свои KeyValue's)
  2. Запишите KeyValue's для Entity
  3. Напишите } - закройте информацию об Entity
Внимание (Для SRCDS под работой OC Linux): При работе с LMP файлом будте очень аккуратны так как Linux чувствителен к регистру. Поэтому если вы допустите ошибку в название Entity возможно ваш сервер на данной карте упадёт с ошибкой "Classnname missing from entity!"

Всем спасибо за внимание.

Обновление (03.02.2020):
Примечание.
Работоспособность в следующих играх:
  • Counter-Strike Source v34
  • Counter-Strike Source OB
  • Team Fortress 2 (необходимо уточнение)
  • Counter-Strike : Global Offensive (не работает)
  • Left 4 Dead 1
  • Left 4 Dead 2
 
Последнее редактирование:

Alraune

Участник
Сообщения
216
Реакции
52
Очень полезная статья . Спасибо автору! Рекомендуемая программа очень помогла в поисках "лишних" entities на картах . Ну а дальше stripper в помощь. De aztec без дождя и шума прекрасен ;)
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Есть ли смысл продолжить статью ? Появилось несколько идей для работы с Entity через VScript (относится к CS:GO, L4D2), если так, поставьте лайки чтоль, или просто отпишитесь в теме
Обновление (03.02.2020) Обновил информацию о поддерживаемых играх
 
Последнее редактирование:
Сверху Снизу