Наше комьюнити:   OpenGL Shader Lab  •  Half-Life FX  •  Форум  
HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Работа с сейвами
Как сохранить переменную в сейв
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
sas
Новичок

Дата регистрации: Mar 2017
Проживает: Xen
Сообщений: 4

Рейтинг



Half-Life Работа с сейвами

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

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

Старое сообщение 23-03-2017 20:38
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



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

__________________
Дядя Миша is not able at all to do that before Пасхальный понедельник

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

Старое сообщение 23-03-2017 20:45
-
sas
Новичок

Дата регистрации: Mar 2017
Проживает: Xen
Сообщений: 4

Рейтинг



Question

Примерно как здесь?

C++ Source Code:
TYPEDESCRIPTION    CRpg::m_SaveData[] =
{
    DEFINE_FIELD( CRpg, m_fSpotActive, FIELD_INTEGER ),
    DEFINE_FIELD( CRpg, m_cActiveRockets, FIELD_INTEGER ),
};
IMPLEMENT_SAVERESTORE( CRpg, CBasePlayerWeapon );

Если да, то добавлять в том же файле(в items.cpp в случае с костюмом)?

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

Старое сообщение 23-03-2017 22:14
- За что?
Sigurth
Новичок

Дата регистрации: May 2015
Проживает: Красноярск
Сообщений: 15
Возраст: 20

Рейтинг



А ты саму переменную в каком классе объявил? Если в CItemSuit, то в добавляешь её в CItemSuit::m_SaveData[] соответственно.

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

Старое сообщение 24-03-2017 04:10
- За что?
sas
Новичок

Дата регистрации: Mar 2017
Проживает: Xen
Сообщений: 4

Рейтинг



Все понял, спасибо.
И еще вопрос, можно ли сделать приближение у арбалета плавным, как в хл2?

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

Старое сообщение 25-03-2017 08:10
- За что?
 ~ X ~
offline

Дата регистрации: Oct 2005
Проживает: (void)
Сообщений: 2842
Нанёс повреждений: 0 ед.

Рейтинг



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


sas если с регулировкой, как в Unreal, то уже сделано: http://www.moddb.com/mods/xdm/
А как конкретно в ХЛ2 я не помню.

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

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

Старое сообщение 25-03-2017 08:27
-
sas
Новичок

Дата регистрации: Mar 2017
Проживает: Xen
Сообщений: 4

Рейтинг



~ X ~ , нет, чуть по-другому.
В хл1 прицеливаешься - фов сразу меняется,
в хл2 - есть эффект приближения.

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

Старое сообщение 25-03-2017 09:53
- За что?
 ~ X ~
offline

Дата регистрации: Oct 2005
Проживает: (void)
Сообщений: 2842
Нанёс повреждений: 0 ед.

Рейтинг



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


sas тогда это ещё проще. Чисто клиентский эффект.

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

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

Старое сообщение 25-03-2017 11:18
-
Luciferchik
Хм...

Дата регистрации: Jan 2016
Проживает: Украина
Сообщений: 31
Возраст: 20

Рейтинг



испробуй по этой теме
http://hlfx.ru/forum/showthread.php...15&pagenumber=1

если ты говорил про приближения то в каких-то сорцах видел такой пример

C++ Source Code:
void CSG552::SecondaryAttack( void )
{
    if( Scope )
        m_pPlayer->pev->fov = 0;
    else
        m_pPlayer->pev->fov = 55;
    m_pPlayer->m_iFOV = m_pPlayer->pev->fov;
    Scope = !Scope;
    m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.3;
}

__________________
Ну еб твой жопег, десу.
Если любой начитавшийся туторов и не знает с++ начинает говно кодить, тогда в чем смысл?

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

Старое сообщение 25-03-2017 13:15
- За что?
 ~ X ~
offline

Дата регистрации: Oct 2005
Проживает: (void)
Сообщений: 2842
Нанёс повреждений: 0 ед.

Рейтинг



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


Как я понял, ему надо сделать просто:
с сервера послать сигнал "начинаю зум" с финальным значением (эвент)
на сервере поменять pev->fov на желаемый
на клиенте поймать сигнал, начать плавно менять fov от текущего значения до пришедшего в эвенте.
в процессе изменения фова поймать и проигнорировать резкое изменение pev->fov игрока с сервера (т.е. не допустить "попадания его на экран")
когда процесс интерполяции фова закончен, перестать игнорить серверный фов
сравнить получившийся фов и серверный, при несовпадении вылететь в синий экран, повесить операционку, испортить бутсектор и бесконечно пытаться отправить багрепорт на несуществующий адрес

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

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

Старое сообщение 25-03-2017 14:28
-
Тема: (Опционально)
Ваш ответ:



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


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

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

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

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

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

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

Рейтинг@Mail.ru