на главную
об игре
Half-Life 2 16.11.2004

Объединение игр

Есть некоторые консольные команды (например prop_physics_create, prop_dynamic_create, ent_create и т.д.) которые работают только в эпизодах, но не работают в обычной half-life 2. Знаю, что можно как-то соединить эпизоды с самой half-life 2, добавив туда папки models, materials и еще какие-то. Когда я зашел в директорию с игрой (у меня orange box), то увидел, что таких папок и вообще ничего похожего нет. Есть только папка steamapps, в которой находятся какие-то gcf-архивы. Как же мне тогда объединить half-life 2 с двумя эпизодами и portal и возможно ли это?

Комментарии: 22
Ваш комментарий

всё достаточно просто, структура такова:
*root*\hl2\ - в этой папке находится весь контент с халфлайф2, *root*\hl2\maps - здесь карты, *root*\hl2\sound - здесь звуки, *root*\hl2\bin - здесь грубоговоря код игры(возможные в ней возможности, а не идентификатор), хл2 и еп1 самые старые, еп2 самый новый, эпизод2 находится в *root*\ep2, портал - *root*\portal
перемещать код из например еп2 в папку хл2 чтобы она получила все функции крайне не советуется, процесс "апгрейда" движка гораздо сложнее, чем просто перекинуть все ресурсы от старой игры в новую и запустить там, чтобы стрелять порталами в хл2 нужно кинуть ресурсы из *root*\hl2\ в *root*\portal, с еп2 таже история
папкой *root* в твоей пиратке является папка \SteamApps\юзернейм\half-life 2\ для хл2, таким образом файлы должны лежать по пути например \SteamApps\юзернейм\half-life 2\hl2\maps, но твой вопрос заключался в том, что их ты там не нашёл, дело втом что контент игор хранится в твоей пиратке в старых добрых гцф архивах, от которых валв нетак давно отказались (и на самом деле я даже незнаю можно ли теперь нормально провернуть переброс контента на лицушке не запоров игру), игра в первую очередь смотрит у себя в *root* папке, а если там не находит, то берёт из гцф архива - в котором точно такаяже структура, лежит папка hl2 и вней лежат мапс соунд н щит
поскольку игра сначало ищет в своей папке, и только потом в архиве, то вбросом контента в папку игры можно соверрайдить его вброшенным, таким образом ты открываеш гцфскейпом все гцф желаемой игры по очереди, и начинаеш распаковывать из *root*/hl2/ гцфшек файлы в *root*/ep2/ в папке эпизода2, но не перекинь лишнего иначе превратиш его в хл2 целиком - тебе нужны папки maps с картами, materials с текстурами, models с моделями, scenes с анимациями диалогов, sound с самими диалогами и звуками, возможно ещё expressions с resource и возможно ещё какието какие я забыл
этого текста должно быть достаточно чтобы как минимум написать гневный отзыв о его труднопереваримости

2

spectre from TM
У меня в директории с игрой есть папки: Base Source Engine 2 и Source 2007 Binaries. В первой находятся такие папки: bin, episodic, hl2, hl2_russian, platform. Во второй: bin, ep2, episodic, hl2, portal, tf. В какие из них нужно распаковывать gcf?

0

хм это точно гцф пиратка? в таком случае всё тоже самое, только вместо отдельных папок Half-Life 2 Episode Two/ep2 или Portal/portal, они обе лежат просто в папке своего движка - Source 2007 Binaries/portal, всё тоже самое - папки бейз соурс2 и соурс2007 это root папка, распаковываеш гцфшки в ту куда тебе надо, /ep2 это епизод2 /portal это портал

2

spectre from TM
Я не понял, а чем base source engine 2 отличается от source 2007 binaries?

0

собственно версией движка, как ты сам заметил игры оранжбокса на более новой версии были выпущены, с новыми партикл эффектс, динамическим освещением и так далее
обрати внимание, что контент хл2 тебе нужно распаковыать не в подпапку руут/хл2/, а в подпапку /еп2/ или /портал/, в зависимости от того чего хочеш добиться

2

spectre from TM
Скажи вот еще что: из каких именно этих gcf архивов нужно брать контент, вот скрин:

0

эй, на них же написано, "халф лайф 2" - халф лайф два, "епизод один" - епизод один, "эпизодик 2007" также относится к еп1
если вдруг будет нехватать стандартных материалов /звуков /моделей, также нужно будет распаковать архивы соурс моделс, материалс, и соундс (не 2007 сшаред)

2

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

2

//... да у него же ЛИЧНЫЙ БАНКОМАТ на столе

2

помню видел в 2008 году полностью функциональный мод на портальную пушку для хл2....

1

пекабир
Мне надо portal, episode one и episode two объединить с хл2...

0

allmax99
да есть такая хрень, погугли

0

Проблема в том, что у меня именно Orange Box, а не просто хл2 и эпизоды. В Orange box весь игровой контент хранится в gcf-архивах, и я не знаю что с ними делать. Слышал про программу GCFScape, но не знаю как ей пользоваться. Напишите пожалуйста, кто знает, подробную инструкцию как и куда нужно распаковывать эти gcf архивы, чтобы объединить хл2 с эпизодами и portal.

0

А мне надо сначала все gcf распаковать, чтобы потом контент хл2 перенести в портал? И еще: у меня в папке portal, которая лежит в Source 2007 binaries уже есть папка maps в которой две подпапки graphs и soundcache. Карты хл2 кидать просто в эту папку maps?
p.s. и что такое winui?

0

Спасибо. Вроде получилось. Я только карты скинул. Еще, вопрос немного не по теме, на столе у Брина лежит штука, через которую он вызывал охрану. Как её можно вызвать через консоль?

0

allmax99

Это вроде кусочек геометрии, не модель, нельзя вызвать.

0

Cvoxalury
А почему тогда в консоле он обозначается как модель *101?

0

allmax99

А ты про которую говоришь?
Про маленький пульт на столе, что мы видим во время своей случайной телепортации:

Или про этот металлический пульт, что Моссман взламывает в конце:

Если ты про первый - это часть геометрии в обоих случаях:

Если про второй - можно заспаунить через prop_dynamic_create props_combine/breenconsole

Из того, что более-менее способно заменить пульт, могу предложить разве что props_lab/keypad. Это пульт с кнопками и голубым экранчиком, что используют повстанцы на своих точках.

1

А workspace'ы из лаборатории Кляйнера можно заспаунить?

0

А workspace'ы из лаборатории Кляйнера можно заспаунить?

Конечно. prop_dynamic_create props_lab/workspace***, где *** - от 001 до 004. Ты можешь заспаунить любую статическую модель как проп_динамик. А чтобы манипулировать ими, наведи прицел на модель, напиши ent_setname ***, где *** - произвольное имя из букв латинского алфавита и цифр, в консоли должно появиться подтверждение - "Set the name of prop_dynamic to ***", с первого раза может не получиться (переименуется какой-нибудь другой объект, зачастую невидимый, тогда попробуй с другого ракурса и с другим именем). Затем используй ent_fire *** setparent !player, чтобы перемещать объект (он станет "приклеен" к камере игрока), и ent_fire *** clearparent, чтобы отвязать его от камеры, когда он окажется в нужной тебе позиции. Повторюсь, так можно спаунить и размещать любые статики, например, я даже размещал целые здания через консоль: http://pix.playground.ru/half-life_2/815318/

Чтобы удалить проп_динамик, наведи на него прицел и используй impulse 203 (требует активированного sv_cheats).

0

Cvoxalury
А пульт на столе Брина, все-таки вообще никак не создать? И даже повернуть его на сколько-нибудь градусов тоже?

0

allmax99
Если это браш, то разве только декомпилировать карту, поправить, что тебе надо, и скомпилить заново.
Или же самому сделать такую модель, засунуть её в папку models и дальше по методу Cvoxalury.

А почему тогда в консоле он обозначается как модель *101?
Насколько я понимаю (по крайней мере в ХЛ1 дело обстоит как-то так), брашевые энтити и модельные энтити (а в ХЛ1, возможно, и спрайтовые, не проверял) рассматриваются движком как сущности одного рода (и потому обозначаются одинаково, как "модели"), в голдсорсе, в самом движке на них установлен общий лимит (512 штук). При этом для компиляторов существует ограничение в 400 брашевых энтити. Таким образом, можно, уложившись в лимиты компилеров, не пройти по лимитам движка, если наставить кроме этих энтити, ещё и модели, или если игра или мод требует для своего запуска прекеширования более сотни моделей (оружие, итемы, модели игроков и т. д.). Если открыть bsp-файл в блокноте или извлечь тем же GCFScape'ом ent-файл из него, можно увидеть в описании брашевых энтити строки вида "model" "*101". Эти строки используются, чтобы игра могла понять, к какой именно "модели" относятся свойства, описываемые этой энтити. Если указана звёздочка с номером - то это указатель на брашевую "модель", иначе же маппер вручную заполняет этот параметр и указывает путь к модели в формате mdl (или спрайту spr в случае первохл).
В Сорсе есть ещё такой момент: func_detail'ы не считаются брашевыми энтити, компилятор делает из них обыкновенные браши, таким образом, на лимиты они не влияют. Жаль, что в первохл нет такой энтити.

P. S. На всякий случай отмечу, что "консоль" - слово женского рода, так что правильно говорить "в консоли".

0