Пока тут все обсуждают сбивание шапок, я вдохновился вопросом Chyvachok по поводу того, как же убрать исчезание кусков при сейве. И решил сделать так, чтобы темпентити писались в сейврестор и переходили между уровнями, как самые обычные серверные ентити. Сразу хочу поблагодарить Дядю Мишу за его статью, ведь в процессе создания я руководствовался именно ей.
На данный момент темпентити успешно сейвятся и ресторятся, а также переходят между уровнями. Единственное, что еще не готово, это проверка на trigger_transition'ы, по правде говоря, я просто забыл про их существование. А также я особо не отлавливал баги (а они есть) кроме самый явных. Когда все будет готово, я думаю оформить это в виде тутора, которых последнее время стало очень мало.
Кому интересно, кратко изложу суть. Необходимая информация об активных темпэнтитях пишется в mapname.HL4, а номера темпентитей (пришлось их пронумеровать), которые перешли на другой уровень, пишутся в mapname.HL5. Самое интересное, что халфа при сохранении игры сшивает абсолютно все файлы *.HL? по маске и при загрузке распаковывает их так же. То есть все данные сохраняются прямо в savefile.sav. И поэтому клиенту не нужно знать, например, имена ВСЕХ соседних уровней.
А пока, смотрите видео. За одно посмотрите на мод, про который я ничего не говорил, даже название можете заметить
__________________ Никогда не поздно сделать мод под хл1
Отправлено thambs 31-01-2018 в 22:18:
О, полезная фича была бы. А так что бы они не исчезали со временем можно?
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? - интересное наблюдение.
Для темпэнтить - ненужная. Но сама возможность клиентских сейвов - штука полезная.
Отправлено 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 сохраняй, добавь еще один лумп в набор и увеличь номер версии клиентского сейва. Какие еще нафиг номера
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" (или что-то подобное), при попытке сохраниться в мультиплеере. Это на уровне движка блокировка такая же. Можно как-то это дело обойти? Неохота мутить непонятную хрень для сохранений в коопе. Как-нибудь можно же заставить сейв/рестор из дллок работать в мультиплеере, утащив необходимые функции из движка... Ну, чтобы с друзьями несколько вечеров проходить какую-нибудь кампанию в коопе. Или, например, если все сдохли, начать уровень с теми же параметрами, что и раньше. Вот в свенкоопе как-то топорно сделано, там базовый набор каждый раз даётся. А охота полноценный перенос итемов и параметров игрока.