Фикс: func_healthcharger и func_recharger
Фикс: func_healthcharger
Фикс: func_healthcharger и func_recharger
Following translations are available : |
russian |
Итак… Когда сравнить HL1 и HL2 то замечается различие в зарядниках здоровья и костюм… Правильно! В HL2 зарядники прекращают свою работу, когда игрок будет заряжен полностью… В HL1 они не останавливаются… точнее они не заряжают, но звук зарядки проигрывается… Как-то неправильно получается… Это можно исправить очень простым способом. Вся робота будет вестись на серверной части.
Для func_recharger:
Открываем h_battery.cpp, там ищем класс CRecharge, заходим в процедуру CRecharge::Use, ищем вот этот текст:
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;
}
тут нам стоит доработать условие, при котором проигрывается звук отказа, чтобы оно приходило в истину ещё и когда игрок полностью заряжен. Условие заряжености игрока формулируется так:
pActivator->pev->armorvalue == 100
то есть, у нас должно получится вот что:
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
Ищем текст:
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;
}
Добавляем ещё одно условие:
pActivator->pev->health == 100
(обратите внимание, тут используем не задефайненное значение, а точное 100)
Получим:
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;
}
Теперь и зарядник здоровья тоже пофиксили.
Казалось бы, что мелочь какую-то фиксили, но всё же надо было, чтобы всё правильно выглядело для игрока
Similar 1. Создание нового оружия - В этом туторе не будет объяснено КАК сделать новое оружие, ибо для каждого оружия нужен свой код. Здесь просто будет приведена информация о тех нюансах без которых ваше оружие не будет работать 2. weapon_flamethrower - Играя в Халф-Лайф, вы не задумывались над тем, что в нем чего-то не хватает? Чего-то очень близкого, родного, горячего... 3. Как адаптировать код к модели - Допустим, вы сделали новую модель для автомата MP5, но порядок и кол-во анимаций не сходятся. 4. Динамическое освещение - этой статье будет описан способ добавления динамических вспышек света, которые можно использовать для еффекта молнии 5. Каждой пушке - спрайт - Итак вы создали новое оружие. А в меню выбора вместо рисунка непонятные спрайты, да и прицела нет. 6. Quake strafing & DoD bobing styles - Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл. 7. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2 8. Создание кооперативного прохождения - Данный тутор покажет как сделать в вашем моде кооператив. 9. Создание сценариев - Для создания сценариев (aka скриптов) в Half-Life существуют две энтити: scripted_sequence и scripted_sentence. Первая отвечает за движения, выполняемые монстром/персонажем, будь то ходьба, бег, нажатие кнопки, тряска автомата с газировкой или почёсывание подбородка. Вторая служит для того, чтобы персонаж произнес какую-то фразу. При этом его голова повернётся в сторону слушателя, и рот будет открываться в соответствии с амплитудой звука.
You cannot comment, because you are not logged-in.