Регистрация - или - Войти
ReissuesReissues

Синглплеерный мод с большим количеством карт...

25/05/2008
Half Life 2: Deep DownHalf Life 2: Deep Down

First Person Shooter...

25/05/2013

Фикс: func_healthcharger и func_recharger


  • Описание
  • Ссылка и установка

Фикс: func_healthcharger

Фикс: func_healthcharger и func_recharger


Автор / ы урока : Maxwel
Просмотров : 807 ( +1 )
Прислал / (а) : Streit
Дата создания : 07.04.2011 18:07:39
Источник : http://www.hlfx.ru/forum
Рейтинг :
 ( 0 ) 
Поделиться :


Имеются следующие переводы : | русский |

Итак… Когда сравнить 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;
}

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

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



Похожие1. Создание нового оружия - В этом туторе не будет объяснено КАК сделать новое оружие, ибо для каждого оружия нужен свой код. Здесь просто будет приведена информация о тех нюансах без которых ваше оружие не будет работать
2. Спрыгивающий Headcrab - Наверняка каждый, кто поиграл в Half-Life2 хотел, чтобы хедкрабы спрыгивали с зомбяков и в первом Half-Life
3. Каждой пушке - спрайт - Итак вы создали новое оружие. А в меню выбора вместо рисунка непонятные спрайты, да и прицела нет.
4. Увеличение количества мяса от взрыв - Увеличение количества мяса от взрывов людей или инопланетян.
5. Как пофиксить моргание монстров - Как пофиксить моргание монстров на движущихся платформах
6. Неработающие двери :) - Как сделать, чтоб двери не открывались, когда нет света и рядом с ними был индикатор (красн. зел.)
7. Создание сценариев - Для создания сценариев (aka скриптов) в Half-Life существуют две энтити: scripted_sequence и scripted_sentence. Первая отвечает за движения, выполняемые монстром/персонажем, будь то ходьба, бег, нажатие кнопки, тряска автомата с газировкой или почёсывание подбородка. Вторая служит для того, чтобы персонаж произнес какую-то фразу. При этом его голова повернётся в сторону слушателя, и рот будет открываться в соответствии с амплитудой звука.
Вы не можете комментировать, т.к. вы не зарегистрированы.
    VCTF-Fortress
    Unreal Tournament 2004VCTF-Fortress
    1on1-Pack
    Unreal Tournament 20041on1-Pack
    CTF-DarkAges
    Unreal Tournament 99CTF-DarkAges
    AS-Annihilation
    Unreal Tournament 99AS-Annihilation

Время --------- ___ALL___ --------- : 0.56831 секунд