HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Steam патч для Invasion
В разработке
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Half-Life Steam патч для Invasion

Те, кто внимательно читают форум, знают, что Invasion является одним из моих любимых модов. В своё время (2005 или чуть позже) я был очень восхищён этим модом: в него и качественную музыку завезли, и красивые декали, и ленсфлаеры, и прострелы стен, и даже отстреливание частей тел монстров. И субтитры ещё.
Когда его сорцы стали доступны, я сразу же поглядел всё, что меня давно интересовало. Ориентируясь на французский код, точнее, используя его примерно на 80%, я написал спрайтовые декали, что сохраняются и ходят через уровни. К этому времени у меня накопилось несколько своих наработок, которые народ видел только на видео в ютубе. И тогда я подумал, что неплохо бы их встроить в какой-нибудь известный мод для обкатки, чтобы норот оценил, как оно в игре.

Наконец-то руки дошли. Я начал ворошить сорцы стим-патча для Инвазион. Ну, мягко говоря, не айс. Одна из самых бросающихся в глаза фич - декали и партикли, закомменчена с пометкой "пофикшу позже". Что автор собрался фиксить, мне не совсем понятно, ведь оно работает ровно так, как позволяет голдсорс. Естественно, в патче прикручены клиентские эвенты для пушек, опять же непонятно зачем, ведь в моде нет мультиплеера. Ещё одна пакость в том, что автор выкинул фмод, заботливо прикрученный французами, и перевесил музыку на встроенный в движок плеер. Который невозбранно глушит треки после чейнджлевела или загрузки сейва. Вишенкой на торте является то, что иногда скрипты могут слегка ломаться: с оригинальными дллками учёный при нападении грантов на лабораторию на карте l1m1_a2 умирает сразу возле окна, а с "пофикшенными" может бегать по комнате и не умереть. Поначалу я думал, что это мой косяк, потому что применил фикс DispatchAnimEvents, чтобы его протестировать в реальной игре. Но нет, с готовыми дллками из патча то же самое.

Итак, что уже готово:

1. MP3-плеер на основе fmod для windows и linux. Умеет менять громкость, ставиться на паузу, сохранять имя трека и позицию воспроизведения в сейв, восстанавливать это при загрузке сейва, поддерживает текстовые плейлисты из Инвазиона.

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

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

4. Типа фикс DispatchAnimEvents. Дошёл до карты l2m3, заметил только один сломанный скрипт с учёным, упомянутый выше, и то не из-за этого, а вообще из-за нового сдк 2.4.

В планах поправить подбор некоторых предметов, например для ракет рпг не отображается спрайт. Если будет желание - поправить модели NPC, чтобы они не елозили ногами по полу в некоторых анимациях, да выкинуть хдпачного барника, а то он не сочетается с лоуполи учёными, грантами и снайперами.

В общем, спустя некоторое время я выкачу тестовую версию на публику. Когда разберусь со сборкой для linux и пройду мод два раза. Пишите в этой теме ваши соображения.

Отредактировано Ku2zoff 20-08-2022 в 17:03

Сообщить модератору | | IP: Записан
Сообщение: 210725

Старое сообщение 20-08-2022 17:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Какие тут могут быть соображения? Ты уже сделал столько наработок, пора их оформлять в законченное произведение и становиться автором.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210726

Старое сообщение 20-08-2022 19:04
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша ну скорее не соображения, а предложения, что ещё включить в патч. Вполне возможно, я упустил некоторые моменты из-за синдрома утъонка и большой продолжительности мода. Навскидку, припомню разве что отстреливание частей тела мелкокалиберным оружием. Я бы сделал, чтобы такое было только от взрывов и мощных пушек.

Сообщить модератору | | IP: Записан
Сообщение: 210732

Старое сообщение 21-08-2022 04:35
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Вырежи защиту от читёров эту дурацкую.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210733

Старое сообщение 21-08-2022 06:45
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша а, ну это само собой. В документации нигде не написано ни про консольную команду test, ни про ключ командной строки -testmode. В юности это меня очень калило, некоторые места было трудно пройти, а при вводе читов мод вылетал. Вообще не понимаю, зачем это было нужно придумывать. В WON-халфе и так по-умолчанию консоль вообще не открывается, и ещё нужна команда sv_cheats и перезапуск карты. Защита в коде - это мелочи. Авторы TheGate пошли ещё дальше. Они разместили на каждой карте маленькую комнатку с триггером, который затемняет экран и пишет, что игрок читер. То есть, ходить между картами можно только через чейнджлевелы. Загрузить какую-то одну и протестить невозможно. Наверное это чтобы поиздеваться над игроками, потому что TheGate местами аццки сложный, сложнее Инвазиона. Но кинематографичный.

Отредактировано Ku2zoff 21-08-2022 в 08:47

Сообщить модератору | | IP: Записан
Сообщение: 210736

Старое сообщение 21-08-2022 08:45
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
То есть, ходить между картами можно только через чейнджлевелы

А команду changelevel точно так же можно вбить в консоль. Главное знать имя ландмарка.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210740

Старое сообщение 21-08-2022 11:08
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Главное знать имя ландмарка.

Откуда игрок его узнает?

Сообщить модератору | | IP: Записан
Сообщение: 210743

Старое сообщение 21-08-2022 11:40
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



В ксаше-можно сдампить entpatch и подглядеть

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210744

Старое сообщение 21-08-2022 12:01
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
Вообще не понимаю, зачем это было нужно придумывать.

Цитата:
Ku2zoff писал:
Они разместили на каждой карте маленькую комнатку с триггером, который затемняет экран и пишет, что игрок читер.

Видимо, у авторов какая-то иррациональная ненависть к читерам.
Возможно, в детстве читеры нанесли им психологические травмы, несовместимые с жизнью.

Добавлено 21-08-2022 в 14:13:

Цитата:
Дядя Миша писал:
В ксаше-можно сдампить entpatch и подглядеть

Или можно просто открыть bsp-файл в блокноте...

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 210748

Старое сообщение 21-08-2022 18:13
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Или можно просто открыть bsp-файл в блокноте...

Там же каша будет

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210749

Старое сообщение 21-08-2022 19:20
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша
Почему? Лумп энтитей текстовый. Просто ищешь там поиском trigger_changelevel и смотришь поля map и landmark.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 210752

Старое сообщение 21-08-2022 19:42
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Потому что форматирование поедет. Неудобно в той каше ориентироваться.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210753

Старое сообщение 21-08-2022 20:11
-
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
Навскидку, припомню разве что отстреливание частей тела мелкокалиберным оружием. Я бы сделал, чтобы такое было только от взрывов и мощных пушек.


По отстрелу конечностей, тут есть несколько проблем, оно реализовано только для солдат, хотя неплохо бы алиен слейвам, грантам и зомби добавить хотя бы, в общем основным противникам как минимум, и вторая, нельзя отстрелить трупам как в Брутал ХЛ, кстати по малокалиберному оружию, как вариант конечности можно запилить свое ХП, чтобы к примеру снайпа сносила башню или руку, ногу, а с автомата если именно пол обоймы выпустить пока нпс умирает, в общем сделать подобие как в Брутал Халве. Кстати для спавна кусков в нужной позиции и эффектов крови можно юзать код с сдешего туториал что позволяет вместо атачментов юзать позицию кости. Ну и реализация такая что одну конечность можно отстрелить.

Отредактировано Chyvachok 24-08-2022 в 20:20

Сообщить модератору | | IP: Записан
Сообщение: 210782

Старое сообщение 24-08-2022 20:19
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



С горем пополам разобрался с интерфейсом, то есть главным меню. Вообще бы туда не лез, но поскольку инвазион имеет в комплекте замечательную утилиту переключения языков и переводы аж на 4 языка (французский, английский, немецкий и испанский), я решил, что не стоит добру пропадать, и надо бы применить локализацию к главному меню. Заодно завести ещё русский перевод.

Так вот. Документации нифига нету, а та что есть - она для сорса, есть отличия. Пришлось ковыряться самому. Как устроена локализация меню в стим-халфе? VGUI2 и GameUI парсят res файлы, а так же kb_act.lst, settings.scr, user.scr. Если лейбелы в res'ах, и строчки в lst и scr начинаются с #, то движок пытается искать их локализованные версии в файлах valve/resource/gameui_english.txt, valve/resource/valve_english.txt, invasion/resource/gameui_english.txt, invasion/resource/valve_english.txt, invasion/resource/invasion_english.txt. Такой вот зоопарк получается.
Причём, invasion/resource/invasion_english.txt не обязательно содержать все строчки, которые требует меню, достаточно только те, которых нет valve/resource/valve_english.txt. А вот если нет каких-то строчек в invasion/resource/gameui_english.txt, то их и не будет, поскольку грузится только один файл, в отличие от предыдущего случая, где грузятся оба. Неважно, в каком из файлов gameui_english.txt или имямода_english.txt находятся локализованные строчки, меню в любом случае их подхватит. Разве что я ещё не проверял названия глав, что пишутся в кач-ве комментария в сейв. Думаю, что разницы нет.

Короче говоря, сделать волшебные файлики локализации меню для каждого из официальных языков мода, а так же для русского и положить их в папку invasion/resource - не проблема. Проблема - переключать язык уже внутри игры, чтобы менялись тексты титров и vgui-менюшек. Можно завести под каждый из языков свою папку типа invasion_french, invasion_russian, invasion_german, и положить туда соответствующие titles.txt и texts.txt. Но мне это категорически не нравится. Гораздо удобнее сделать автоматическое переключение языка, ведь все нужные текстовики имеются. В случае с текстами ничего мудрить не надо, файлы грузятся самой клиенткой. С титрами - другое дело, надо либо использовать парсер-локализатор (вчера написал), либо загружать титры прямо на клиентке в обход движка (можно невозбранно позаимствовать из ксаша). Так или иначе, нужен способ узнать, какой язык установлен для халфы в стиме.

Подскажите, есть ли какой-то экспорт, торчащий из стима, позволяющий узнать язык запущенной игры? Или это только искать в реестре? Опять же, в реестре я нашёл только язык стима, который может отличаться от языков установленных игр.

Отредактировано Ku2zoff 29-08-2022 в 12:33

Сообщить модератору | | IP: Записан
Сообщение: 210836

Старое сообщение 29-08-2022 12:29
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Ku2zoff писал:
с оригинальными дллками учёный при нападении грантов на лабораторию на карте l1m1_a2 умирает сразу возле окна, а с "пофикшенными" может бегать по комнате и не умереть. Поначалу я думал, что это мой косяк, потому что применил фикс DispatchAnimEvents, чтобы его протестировать в реальной игре. Но нет, с готовыми дллками из патча то же самое.


Вот из-за подобных ошибок я в своё время и забросил этот мод. Как назло ещё сохранился в этом месте. Что в купе с их божественным "античитом" выглядело как издевательство.

Сообщить модератору | | IP: Записан
Сообщение: 210837

Старое сообщение 29-08-2022 13:28
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:11. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Steam патч для Invasion
В разработке
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024