HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Регенерация здоровья
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



Регенерация здоровья

Ну сам код лёгкий
if (здоровье > 0 && здоровье < 0)
здоровье++;

Но куда его пихать?

Добавлено 25-02-2012 в 18:44:

И как получить значение здоровья?

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

Старое сообщение 25-02-2012 14:44
- За что?
PLut
Creator

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

Рейтинг



ONeiLL Если здоровье больше нуля и если здоровье меньше нуля?

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 25-02-2012 15:08
- За что?
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



ага

Добавлено 25-02-2012 в 19:15:

C++ Source Code:
1
if (m_iClientHealth < 100 && m_iClientHealth > 0)
2
{
3
  int iHealth = m_iClientHealth + 1;
4
  MESSAGE_BEGIN( MSG_ONE, gmsgHealth, NULL, pev );
5
  WRITE_BYTE( iHealth );
6
  MESSAGE_END();
7
}


Только как сделать чтобы оно раз в пять секунд отправлялось?

Добавлено 25-02-2012 в 19:23:

Что затихли все?

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

Старое сообщение 25-02-2012 15:23
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


ONeiLL
Этот код - ерунда какая-то. Во-первых, надо работать с pev->health, а не с m_iClientHealth. Во-вторых, мессага отправится в этом случае без твоего участия. В-третьих, надо завести переменную m_flNextHealthUpdate и сверять ее с gpGlobals->time (когда она меньше gpGlobals->time на 5 или более, то приравнивать к gpGlobals->time и увеличивать здоровье). Всё это можно пихать в PlayerPreThink, например.

__________________

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

Старое сообщение 25-02-2012 15:41
-
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



Спасибо

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

Старое сообщение 25-02-2012 15:45
- За что?
PomanoB
Житель форума

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

Рейтинг



Тут где-то был тутор в разделе соответствующем про регенерацию здоровья

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

Старое сообщение 25-02-2012 16:03
- За что?
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



Блин, а я только что хотел выложить этот тутор

Добавлено 25-02-2012 в 20:09:

XaeroX , писать тутор или нет?

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

Старое сообщение 25-02-2012 16:09
- За что?
KiQ
Житель форума

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

Рейтинг



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

__________________
-Brain is dead-

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

Старое сообщение 25-02-2012 16:35
- За что?
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



Лан выкладывать не буду, раз уже такой есть

У меня другой вопрос, почему регенерация предложинна Ксероксо после смены уровня не пашет?

Добавлено 25-02-2012 в 20:44:

А, я понял, почему

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

Старое сообщение 25-02-2012 16:44
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
ONeiLL писал:
А, я понял, почему

пушо время надо обнулять в ForceUpdateClientDll

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-02-2012 18:50
-
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 26

Рейтинг



А может ForceClientDllUpdate?

Добавлено 25-02-2012 в 23:32:

А я вот не знал, где обнулить NextHealthUpdate, поэтому написал проверку

C++ Source Code:
if (NextHealthUpdate > gpGlobals->time)
  NextHealthUpdate = gpGlobals->time;


Хоть и бредовое, но работает

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

Старое сообщение 25-02-2012 19:32
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 16:25. Новая тема    Ответить
  Предыдущая тема   Следующая тема
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.
Дизайн и программирование: Crystice Softworks © 2005 - 2024