Показать все 11 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Регенерация здоровья (https://hlfx.ru/forum/showthread.php?threadid=3275)
Регенерация здоровья
Ну сам код лёгкий
if (здоровье > 0 && здоровье < 0)
здоровье++;
Но куда его пихать?
Добавлено 25-02-2012 в 18:44:
И как получить значение здоровья?
ONeiLL Если здоровье больше нуля и если здоровье меньше нуля?
__________________
Base Defense on Steam, ModDB
ага
Добавлено 25-02-2012 в 19:15:
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 | } |
ONeiLL
Этот код - ерунда какая-то. Во-первых, надо работать с pev->health, а не с m_iClientHealth. Во-вторых, мессага отправится в этом случае без твоего участия. В-третьих, надо завести переменную m_flNextHealthUpdate и сверять ее с gpGlobals->time (когда она меньше gpGlobals->time на 5 или более, то приравнивать к gpGlobals->time и увеличивать здоровье). Всё это можно пихать в PlayerPreThink, например.
__________________
Спасибо
Тут где-то был тутор в разделе соответствующем про регенерацию здоровья
Блин, а я только что хотел выложить этот тутор
Добавлено 25-02-2012 в 20:09:
XaeroX , писать тутор или нет?
Я не сторонник саморекламы, но в разделе туторов есть мой вариант, хотя он заточен под аптечку, адаптировать его несложно.
__________________
-Brain is dead-
Лан выкладывать не буду, раз уже такой есть
У меня другой вопрос, почему регенерация предложинна Ксероксо после смены уровня не пашет?
Добавлено 25-02-2012 в 20:44:
А, я понял, почему
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А может ForceClientDllUpdate?
Добавлено 25-02-2012 в 23:32:
А я вот не знал, где обнулить NextHealthUpdate, поэтому написал проверку
if (NextHealthUpdate > gpGlobals->time) |
NextHealthUpdate = gpGlobals->time; |
Временная зона GMT. Текущее время 00:05. | Показать все 11 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024