HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > VGUI - сохранение данных
как это сделать?
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
domded
люби няшного котейку

Дата регистрации: Aug 2013
Проживает: (void)
Сообщений: 146

Рейтинг



VGUI - сохранение данных

Вот у меня возник вопрос. Есть инвентарь. В инвентаре есть слоты под пушки. Как мне сохранить привязку "индекс слота - имя пушки"? Во всём клиентском проекте (client.dsw) не нашёл никакого механизма сохранения данных, так же нет никаких специализированных сообщений "послать данные для сохранения на сервер, а потом получать их". Пока можно извратиться с pfnClientCmd("inv save 1 weapon_crowbar") и принимать их в client.cpp на сервере, конечно, но есть ли более простой метод? Что-то типа MESSAGE_BEGIN, только в обратную сторону. Мой метод мне не нравится ещё и тем, что для каждого слота (и горячего, и инвентаря) придётся посылать такое текстовое сообщение.

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

Старое сообщение 25-09-2013 20:06
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
domded писал:
Во всём клиентском проекте (client.dsw) не нашёл никакого механизма сохранения данных, так же нет никаких специализированных сообщений "послать данные для сохранения на сервер, а потом получать их"

Совершенно верно. Нету в голдсорсе клиентского сохранения. Только декали, но это внутри движка. И кастомную мессагу обратно на сервер не пошлёшь. Но если немножко подумать - решение всё-таки есть.
Предметы инвентаря следует держать на сервере, точно так же как и пушки. А для выбора того или иного предмета использовать, например переменную impact_index в usercmd_t. У меня сильные подозрения, она для того и предназначалась изначально. Ну или для какой-нибудь стратегии

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-09-2013 20:23
-
 XaeroX
Crystice Softworks

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

Рейтинг



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


Я всё храню на сервере, а на клиент посылаю в gmsgInventory.

__________________

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

Старое сообщение 26-09-2013 00:30
-
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 39

Рейтинг



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

__________________
vk.com/skullcapstudios

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

Старое сообщение 26-09-2013 07:32
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 30

Рейтинг



У меня как и у XaeroX, а с клиента шлю команды типа moveitem "from" "to".

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 27-09-2013 14:28
- За что?
domded
люби няшного котейку

Дата регистрации: Aug 2013
Проживает: (void)
Сообщений: 146

Рейтинг



Фух, времени совсем нет сюда залезть. Всем спасибо, но я сделал через задний проход - при обновлении худа (где m_iWeaponBits) поставил сброс и загрузку итемов в инвентарь заново.
з.ы.
Почему вальва именно так написала систему оружия? В смысле, есть же приём сообщений худом - а они поставили биты оружия в структуру информации об игроке и на клиенте её чекают на изменение в каждом тчинке (CHudAmmo, насколько помню) (именно подбор/выброс). Для чего это сделано?

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

Старое сообщение 05-11-2013 22:00
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
domded писал:
а они поставили биты оружия в структуру информации об игроке

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-11-2013 15:51
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



Цитата:
domded писал:
Почему вальва именно так написала систему оружия?

ну а вот почему ты
Цитата:
domded писал:
Всем спасибо, но я сделал через задний проход

?

__________________
-Brain is dead-

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

Старое сообщение 06-11-2013 16:26
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



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


Топик хороший, хочу уточнить: можно ли сделать 1ым символом команды на сервере какой-нибудь непечатный символ чтобы она не вызывалась из консоли, а только через c2s message?

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

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

Старое сообщение 06-11-2013 20:46
- За что?
domded
люби няшного котейку

Дата регистрации: Aug 2013
Проживает: (void)
Сообщений: 146

Рейтинг



KiQ, моё решение запилить это так продиктовано наименьшим сопротивлением со стороны движка. Я вообще хочу попробовать переписать всю систему оружия на нормальные сообщения, но пока до этого руки не доходят. Плюс мне нужно ещё извратиться для создания нормальных поднимаемых предметов (ключ-карт, например).
~X~ - Можно, по идее. Тебе нужен код этого чара только. Хотя я сам таким не занимался.
А может дядя миша запилить поддержку нормального клиентского сохранения в своём ксаше?

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

Старое сообщение 07-11-2013 16:00
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
domded писал:
А может дядя миша запилить поддержку нормального клиентского сохранения в своём ксаше?

Дык давно уже запилил
Декали, энв-статики, звуки, музыка - всё пишется в клиентский сейв

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 07-11-2013 16:19
-
domded
люби няшного котейку

Дата регистрации: Aug 2013
Проживает: (void)
Сообщений: 146

Рейтинг



Тогда можете ткнуть меня носом, какие функции в вашем сдк за это отвечают? Исходники просмтаривал мельком через блокнот, шестую студию себе не ставил ещё.

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

Старое сообщение 07-11-2013 16:38
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 14:36. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > VGUI - сохранение данных
как это сделать?
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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