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

  • allmax99
    Статус: оффлайн
    0
     #
    Есть некоторые консольные команды (например prop_physics_create, prop_dynamic_create, ent_create и т.д.) которые работают только в эпизодах, но не работают в обычной half-life 2. Знаю, что можно как-то соединить эпизоды с самой half-life 2, добавив туда папки models, materials и еще какие-то. Когда я зашел в директорию с игрой (у меня orange box), то увидел, что таких папок и вообще ничего похожего нет. Есть только папка steamapps, в которой находятся какие-то gcf-архивы. Как же мне тогда объединить half-life 2 с двумя эпизодами и portal и возможно ли это?
  • пекабир
    Статус: оффлайн
    1
     #
    помню видел в 2008 году полностью функциональный мод на портальную пушку для хл2....
  • allmax99
    Статус: оффлайн
    0
     #
    пекабир
    Мне надо portal, episode one и episode two объединить с хл2...
  • пекабир
    Статус: оффлайн
    0
     #
    allmax99
    да есть такая хрень, погугли
  • allmax99
    Статус: оффлайн
    0
     #
    Проблема в том, что у меня именно Orange Box, а не просто хл2 и эпизоды. В Orange box весь игровой контент хранится в gcf-архивах, и я не знаю что с ними делать. Слышал про программу GCFScape, но не знаю как ей пользоваться. Напишите пожалуйста, кто знает, подробную инструкцию как и куда нужно распаковывать эти gcf архивы, чтобы объединить хл2 с эпизодами и portal.
  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    всё достаточно просто, структура такова:
    *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 и возможно ещё какието какие я забыл
    этого текста должно быть достаточно чтобы как минимум написать гневный отзыв о его труднопереваримости
  • allmax99
    Статус: оффлайн
    0
     #
    spectre from TM
    У меня в директории с игрой есть папки: Base Source Engine 2 и Source 2007 Binaries. В первой находятся такие папки: bin, episodic, hl2, hl2_russian, platform. Во второй: bin, ep2, episodic, hl2, portal, tf. В какие из них нужно распаковывать gcf?
  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    хм это точно гцф пиратка? в таком случае всё тоже самое, только вместо отдельных папок Half-Life 2 Episode Two/ep2 или Portal/portal, они обе лежат просто в папке своего движка - Source 2007 Binaries/portal, всё тоже самое - папки бейз соурс2 и соурс2007 это root папка, распаковываеш гцфшки в ту куда тебе надо, /ep2 это епизод2 /portal это портал
  • allmax99
    Статус: оффлайн
    0
     #
    spectre from TM
    Я не понял, а чем base source engine 2 отличается от source 2007 binaries?
  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    собственно версией движка, как ты сам заметил игры оранжбокса на более новой версии были выпущены, с новыми партикл эффектс, динамическим освещением и так далее
    обрати внимание, что контент хл2 тебе нужно распаковыать не в подпапку руут/хл2/, а в подпапку /еп2/ или /портал/, в зависимости от того чего хочеш добиться
  • allmax99
    Статус: оффлайн
    0
     #
    spectre from TM
    Скажи вот еще что: из каких именно этих gcf архивов нужно брать контент, вот скрин:

  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    эй, на них же написано, "халф лайф 2" - халф лайф два, "епизод один" - епизод один, "эпизодик 2007" также относится к еп1
    если вдруг будет нехватать стандартных материалов /звуков /моделей, также нужно будет распаковать архивы соурс моделс, материалс, и соундс (не 2007 сшаред)
  • allmax99
    Статус: оффлайн
    0
     #
    А мне надо сначала все gcf распаковать, чтобы потом контент хл2 перенести в портал? И еще: у меня в папке portal, которая лежит в Source 2007 binaries уже есть папка maps в которой две подпапки graphs и soundcache. Карты хл2 кидать просто в эту папку maps?
    p.s. и что такое winui?
  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    зачем, только те что нужно, и то не целиком
    да
    относящиеся к интерфейсу файлы, скорее всего его распаковывать не надо
  • allmax99
    Статус: оффлайн
    0
     #
    Спасибо. Вроде получилось. Я только карты скинул. Еще, вопрос немного не по теме, на столе у Брина лежит штука, через которую он вызывал охрану. Как её можно вызвать через консоль?
  • Cvoxalury
    Статус: оффлайн
    Рейтинг эксперта: 7
    0
     #
    allmax99

    Это вроде кусочек геометрии, не модель, нельзя вызвать.
  • allmax99
    Статус: оффлайн
    0
     #
    Cvoxalury
    А почему тогда в консоле он обозначается как модель *101?
  • Cvoxalury
    Статус: оффлайн
    Рейтинг эксперта: 7
    1
     #
    allmax99

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



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



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



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

    Из того, что более-менее способно заменить пульт, могу предложить разве что props_lab/keypad. Это пульт с кнопками и голубым экранчиком, что используют повстанцы на своих точках.
  • spectre from TM
    Статус: оффлайн
    Рейтинг эксперта: 7
    2
     #
    //... да у него же ЛИЧНЫЙ БАНКОМАТ на столе
  • Mr.Rifleman
    Статус: оффлайн
    0
     #
    Прогой GCFScape извлекаются все эти GCF-файлы. Я, правда, сомневаюсь, что эти игры можно объединить.
  • allmax99
    Статус: оффлайн
    0
     #
    А workspace'ы из лаборатории Кляйнера можно заспаунить?
  • Cvoxalury
    Статус: оффлайн
    Рейтинг эксперта: 7
    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, чтобы отвязать его от камеры, когда он окажется в нужной тебе позиции. Повторюсь, так можно спаунить и размещать любые статики, например, я даже размещал целые здания через консоль: pix.playground.ru/half-life_2/815318/

    Чтобы удалить проп_динамик, наведи на него прицел и используй impulse 203 (требует активированного sv_cheats).
  • allmax99
    Статус: оффлайн
    0
     #
    Cvoxalury
    А пульт на столе Брина, все-таки вообще никак не создать? И даже повернуть его на сколько-нибудь градусов тоже?
  • xDDGx
    Статус: оффлайн
    Рейтинг эксперта: 7
    0
     #
    allmax99
    Если это браш, то разве только декомпилировать карту, поправить, что тебе надо, и скомпилить заново.
    Или же самому сделать такую модель, засунуть её в папку models и дальше по методу Cvoxalury.

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

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