Sign up - or - Login

Recover password
×

To recover your password, you must enter the username or e-mail that you used during the registration. After that, a mail with a security code will be sent to your inbox.

Your username or e-mail :

Town Majini To Civilian corpse MajiniTown Majini To Civilian corpse Majini

Замена городских маджини на мертвяков....

False DestinationFalse Destination

is part of a larger unfinished mod that was supposed to tell the story of Gordon Freeman found himself in the wrong plac...

29/08/2020

Фикс: func_healthcharger и func_recharger


  • Description
  • HOW TO INSTALL

Фикс: func_healthcharger

Фикс: func_healthcharger и func_recharger


Author/s of tutorial : Maxwel
Views : 1695 ( +1 )
Uploader : Streit
Created : 04/07/2011 9:07:39 PM
Source : http://www.hlfx.ru/forum
Rating :
 ( 0 ) 
Share :


Following translations are available : | russian |

Итак… Когда сравнить HL1 и HL2 то замечается различие в зарядниках здоровья и костюм… Правильно! В HL2 зарядники прекращают свою работу, когда игрок будет заряжен полностью… В HL1 они не останавливаются… точнее они не заряжают, но звук зарядки проигрывается… Как-то неправильно получается… Это можно исправить очень простым способом. Вся робота будет вестись на серверной части.

Для func_recharger: Открываем h_battery.cpp, там ищем класс CRecharge, заходим в процедуру CRecharge::Use, ищем вот этот текст:

Code:

if ((m_iJuice <= 0) || (!(pActivator->pev->weapons & (1<<WEAPON_SUIT))))
{
   if (m_flSoundTime <= gpGlobals->time)
   {
     m_flSoundTime = gpGlobals->time + 0.62;
     EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/suitchargeno1.wav", 0.85, ATTN_NORM );
   }
   return;
}

тут нам стоит доработать условие, при котором проигрывается звук отказа, чтобы оно приходило в истину ещё и когда игрок полностью заряжен. Условие заряжености игрока формулируется так:

Code:

pActivator->pev->armorvalue == 100

то есть, у нас должно получится вот что:

Code:

if ((m_iJuice <= 0) || (!(pActivator->pev->weapons & (1<<WEAPON_SUIT))) || (pActivator->pev->armorvalue == 100) )
{
   if (m_flSoundTime <= gpGlobals->time)
   {
     m_flSoundTime = gpGlobals->time + 0.62;
     EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/suitchargeno1.wav", 0.85, ATTN_NORM );
   }
   return;
}

Итак зарядник костюма пофиксили.

Для func_healthcharger: Делается аналогично до зарядника костюма. Файл: healthkit.cpp Класс: CWallHealth Процедура: CWallHealth::Use Ищем текст:

Code:

if ((m_iJuice <= 0) || (!(pActivator->pev->weapons & (1<<WEAPON_SUIT))))
{
   if (m_flSoundTime <= gpGlobals->time)
   {
     m_flSoundTime = gpGlobals->time + 0.62;
     EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshotno1.wav", 1.0, ATTN_NORM );
   }
   return;
}

Добавляем ещё одно условие:

Code:

pActivator->pev->health == 100

(обратите внимание, тут используем не задефайненное значение, а точное 100) Получим:

Code:

if ((m_iJuice <= 0) || (!(pActivator->pev->weapons & (1<<WEAPON_SUIT))) || (pActivator->pev->health == 100))
{
   if (m_flSoundTime <= gpGlobals->time)
   {
     m_flSoundTime = gpGlobals->time + 0.62;
     EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/medshotno1.wav", 1.0, ATTN_NORM );
   }
   return;
}

Теперь и зарядник здоровья тоже пофиксили.

Казалось бы, что мелочь какую-то фиксили, но всё же надо было, чтобы всё правильно выглядело для игрока



Similar1. Мазлфлэш на брашах - Мазлфлэш на брашах
2. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2
3. Как пофиксить моргание монстров - Как пофиксить моргание монстров на движущихся платформах
4. Неработающие двери :) - Как сделать, чтоб двери не открывались, когда нет света и рядом с ними был индикатор (красн. зел.)
5. Создание КООП,смена карт аля сингл - Сдесь я расскажу как разрешить синглплеерные скрипты в мултиплеере!
6. Изменение цвета HUD'а (полное)! - Изменение цвета HUD'а (полное)! Но прицелы придётся переделывать вам самим! Сдесь я перевевёл туториал с twhl.info на русский язык!
You cannot comment, because you are not logged-in.
    Vambrace: Cold Soul (Раздача в GOG)
    Vambrace: Cold Soul (Раздача в GOG)
    Sifu (Раздача в EpicGamesStore)
    Sifu (Раздача в EpicGamesStore)
    [REDACTED] (Раздача в EpicGamesStore)
    [REDACTED] (Раздача в EpicGamesStore)
    Orcs Must Die! 3 (Раздача в EpicGamesStore)
    Orcs Must Die! 3 (Раздача в EpicGamesStore)