HLFX.Ru Forum Страницы (3): [1] 2 3 »
Показать все 39 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- TEMPENTITY. SaveRestore и Changelevel (https://hlfx.ru/forum/showthread.php?threadid=5103)


Отправлено Sigurth 31-01-2018 в 21:50:

Half-Life TEMPENTITY. SaveRestore и Changelevel

Пока тут все обсуждают сбивание шапок, я вдохновился вопросом Chyvachok по поводу того, как же убрать исчезание кусков при сейве. И решил сделать так, чтобы темпентити писались в сейврестор и переходили между уровнями, как самые обычные серверные ентити. Сразу хочу поблагодарить Дядю Мишу за его статью, ведь в процессе создания я руководствовался именно ей.

На данный момент темпентити успешно сейвятся и ресторятся, а также переходят между уровнями. Единственное, что еще не готово, это проверка на trigger_transition'ы, по правде говоря, я просто забыл про их существование. А также я особо не отлавливал баги (а они есть) кроме самый явных. Когда все будет готово, я думаю оформить это в виде тутора, которых последнее время стало очень мало.

Кому интересно, кратко изложу суть. Необходимая информация об активных темпэнтитях пишется в mapname.HL4, а номера темпентитей (пришлось их пронумеровать), которые перешли на другой уровень, пишутся в mapname.HL5. Самое интересное, что халфа при сохранении игры сшивает абсолютно все файлы *.HL? по маске и при загрузке распаковывает их так же. То есть все данные сохраняются прямо в savefile.sav. И поэтому клиенту не нужно знать, например, имена ВСЕХ соседних уровней.

А пока, смотрите видео. За одно посмотрите на мод, про который я ничего не говорил, даже название можете заметить

__________________
Никогда не поздно сделать мод под хл1


Отправлено thambs 31-01-2018 в 22:18:

О, полезная фича была бы. А так что бы они не исчезали со временем можно?

>http://www.hlfx.ru/forum/showthread.php?s=&threadid=3394
Ссылка битая.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено a1batross 31-01-2018 в 23:02:

Ваще огонь.


Отправлено Ku2zoff 01-02-2018 в 02:36:

Sigurth да это ж полноценный клиентский сейв! Можно сохранять кастомные декали (такие как фпаранойе) и позицию муз. трека в фмоде.

Добавлено 01-02-2018 в 09:36:

З.Ы. Я тут подумал. Эта штука позволит сохранять значения чего-либо на клиенте. И вспомнил, как делал стамину. Сначала она была клиентская и влияла только на инпут. А потом я сделал серверную, и начался бардак с передачей на клиент.


Отправлено qpAHToMAS 01-02-2018 в 02:38:

Цитата:
Sigurth писал:
А пока, смотрите видео. За одно посмотрите на мод, про который я ничего не говорил, даже название можете заметить

Это не мод, это HL .


Отправлено Ku2zoff 01-02-2018 в 03:01:

qpAHToMAS у нас на форуме с давних времён модно называть модами то, что не имеет собственных карт и сюжета. То есть пару дллок + кастомные ресурсы. Каждый второй форумчанин так делал. Я раньше всегда делал одну-две кубичные карты для тестов своих кастомных энтить. А потом, когда перестал делать новые энтити, то и карты делать перестал.


Отправлено XaeroX 01-02-2018 в 04:09:

Не уверен, что это нужная фича.
Но про файлы HL? - интересное наблюдение.

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


Отправлено Ku2zoff 01-02-2018 в 04:18:

Цитата:
XaeroX писал:
Не уверен, что это нужная фича.

Для темпэнтить - ненужная. Но сама возможность клиентских сейвов - штука полезная.


Отправлено Sigurth 01-02-2018 в 06:18:

Цитата:
thambs писал:
Ссылка битая.

Странно, у меня переходит. Это статья про changelevel в quake и hl1.

Цитата:
thambs писал:
А так что бы они не исчезали со временем можно?

Можно, это делается довольно просто. Я собираюсь потестировать эту фичу как раз на неисчезаемых, на случай, если кто-то вдруг исчезнет, когда не должен.

Цитата:
Ku2zoff писал:
да это ж полноценный клиентский сейв

Да, можно сохранять что угодно)

Цитата:
qpAHToMAS писал:
Это не мод, это HL

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

__________________
Никогда не поздно сделать мод под хл1


Отправлено Ku2zoff 01-02-2018 в 06:58:

Цитата:
Sigurth писал:
Странно, у меня переходит.

Эту проблему XaeroX пока исправить не смог. Если юзер зашёл на форум по адресу www.hlfx.ru/forum, то у него открываются ссылки c www, а без www не открываются. И наоборот, если зашёл по hlfx.ru/forum, то с www не открываются.
Цитата:
Sigurth писал:
Да, можно сохранять что угодно)

В игре с помощью команд save и load, я вижу по видео, всё работает. А если загружать из меню, когда карта не загружена? И как сохранения из меню, тоже работают нормально? Если да, смело делись кодом, это будет очень оригинальный тутор.


Отправлено Дядя Миша 01-02-2018 в 07:02:

Цитата:
Sigurth писал:
Пока тут все обсуждают сбивание шапок

В старости все только этим и занимаются - обсуждают кто сколько шапок сбил и палок кинул. Это вы молодые и у вас еще всё впереди.

Цитата:
Sigurth писал:
Единственное, что еще не готово, это проверка на trigger_transition'ы

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

Цитата:
Sigurth писал:
Необходимая информация об активных темпэнтитях пишется в mapname.HL4, а номера темпентитей (пришлось их пронумеровать), которые перешли на другой уровень, пишутся в mapname.HL5


В HL2 сохраняй, добавь еще один лумп в набор и увеличь номер версии клиентского сейва. Какие еще нафиг номера

Добавлено 01-02-2018 в 10:02:

А, ты под чистую халфу делаешь?

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 01-02-2018 в 07:03:

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

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Sigurth 01-02-2018 в 08:04:

Цитата:
Ku2zoff писал:
В игре с помощью команд save и load, я вижу по видео, всё работает. А если загружать из меню, когда карта не загружена? И как сохранения из меню, тоже работают нормально?

Из стим-меню как раз вызываются консольные команды "save" и "load". Так что все работает.

Цитата:
Дядя Миша писал:
А, ты под чистую халфу делаешь?

Да, под чистый ХЛ.

Цитата:
Дядя Миша писал:
темпэнтить сдохнет через секунду после переноса

Ну вот тутор и будет для тех, у кого они живут подольше.

__________________
Никогда не поздно сделать мод под хл1


Отправлено Ghoul [BB] 01-02-2018 в 11:13:

Цитата:
Sigurth писал:
решил сделать так, чтобы темпентити писались в сейврестор


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

Добавлено 01-02-2018 в 14:13:

Лучше бы сделали так, что они в очередь на удаление сьановились. Это бы реально было бы интересно.

Да и зачем вам такое? У вас что, лимит на 500 темпэнтить исчез?!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo


Отправлено Ku2zoff 01-02-2018 в 13:47:

Ghoul [BB] ну захотел человек переход темпэнтить между уровнями, ну что тут такого? Сохранение в сейв - побочка. В хл2, вон, всё сохраняется, там полноценный клиентский сейв. И ксашу такое не помешает. Хотя бы на уровне дллок ксашмода и паранойи, для желающих.

Цитата:
Дядя Миша писал:
В HL2 сохраняй, добавь еще один лумп в набор и увеличь номер версии клиентского сейва. Какие еще нафиг номера

А если в оригинальной халфе принудительно перезаписать файл *.HL2, сейв/рестор не изломается? Просто это хороший вариант поправить сохранение декалей, и добавить туда темпэнтити, чтоб как в хл2 было.
Дядя Миша у меня вопрос. Халфа пишет: "Can't save multiplayer games" (или что-то подобное), при попытке сохраниться в мультиплеере. Это на уровне движка блокировка такая же. Можно как-то это дело обойти? Неохота мутить непонятную хрень для сохранений в коопе. Как-нибудь можно же заставить сейв/рестор из дллок работать в мультиплеере, утащив необходимые функции из движка... Ну, чтобы с друзьями несколько вечеров проходить какую-нибудь кампанию в коопе. Или, например, если все сдохли, начать уровень с теми же параметрами, что и раньше. Вот в свенкоопе как-то топорно сделано, там базовый набор каждый раз даётся. А охота полноценный перенос итемов и параметров игрока.


Временная зона GMT. Текущее время 02:38. Страницы (3): [1] 2 3 »
Показать все 39 сообщений этой темы на одной странице

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