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

Восстановить пароль
×

Для восстановления пароля необходимо ввести логин или почту, которую Вы вводили при регистрации. После это, на Ваш почтовый ящик будет отпрвлено письмо с кодом.

Логин или почта :

Black Mesa SidelineBlack Mesa Sideline

За чертой Черной Мезы...

22/09/2007
VengeanceVengeance

Первая часть из дилогии. Вы - Гордон Фримен и работаете на правительство, а также теперь нечто типа внутреннего МЧС в но...

4/11/1999
Статистика по выложенному объему ( Общая )

Два цвета крови у зомби


  • Описание
  • КАК УСТАНОВИТЬ

Два цвета крови у зомби

Два цвета крови у зомби


Автор / ы урока : Ku2zoff
Просмотров : 2404 ( +1 )
Скачиваний : 0
Прислал / (а) : Streit
Дата создания : 07.04.2011 20:54:13
Источник : http://www.hlfx.ru/forum
Рейтинг :
 ( 0 ) 
Поделиться :


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

Ну вот. Проведя несколько несложных мыслительных операций и запоров три файла zombie.cpp, я наконец-то устроил так, чтобы при попадании в разные части тела зомби спавнилась разная по цвету кровь. Это реализованно в хл2: при стрельбе в голову(по крабу) с зомби брызжет зелёная кровь, а при стрельбе в тело - жёлтая в перемешку с красной. Чтобы у зомби в хл1 было нечто подобное надо открыть zombie.cpp и подключить туда новый заголовочный файл:

Code:

#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "schedule.h"

#include "weapons.h" //Для задекларирования функции SpawnBlood

Далее нужно добавить в описание класса CZombie новую строчку:

Code:

// No range attacks
BOOL CheckRangeAttack1 ( float flDot, float flDist ) { return FALSE; }
BOOL CheckRangeAttack2 ( float flDot, float flDist ) { return FALSE; }
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );

void TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);//Это и будет рисовать кровь
Потом, ниже после void CZombie

HandleAnimEvent( MonsterEvent_t *pEvent ) воткните:

Code:

void CZombie::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
{

   switch( ptr->iHitgroup)
   {
     case HITGROUP_CHEST://Грудь
     case HITGROUP_STOMACH://Живот
     case HITGROUP_LEFTLEG://Левая нога
     case HITGROUP_RIGHTLEG://Правая нога
     case HITGROUP_LEFTARM://Левая рука
     case HITGROUP_RIGHTARM://Правая рука
     case HITGROUP_GENERIC://Прочие хитгруппы
       SpawnBlood(ptr->vecEndPos, BLOOD_COLOR_RED, flDamage * 5.0);// Спавнится красная кровь
       break;
     case HITGROUP_HEAD://Голова(Хедкраб)
       SpawnBlood(ptr->vecEndPos, BLOOD_COLOR_YELLOW, flDamage * 5.0);// Спавнится жёлтая кровь
       break;
   }

CBaseMonster::TraceAttack( pevAttacker, flDamage, vecDir, ptr, bitsDamageType );
}
После этого надо изменить параметр m_bloodColor = BLOOD_COLOR_GREEN; в void CZombie

Spawn() на m_bloodColor = DONT_BLEED; чтобы не спавнилась жёлтая кровь по дефолту. На этом всё. Можно установить индивидуальный цвет крови для каждой хитгруппы, но как перевести цвет из RGB в халфовский формат цвета крови я не знаю, поэтому пока есть только два цвета.

ЗЫ. Сорри что немножко криво хитгруппы расписаны



Похожие1. Создание нового ствола - Создание нового ствола с новыми патронами
2. Исходный код ножа - weapon_knife (Нож) с двумя режимами атаки: Slash и Stab.
3. И снова наследование классов :) - Казалось бы тема наследования классов давно избита, ан нет всё ещё существуют вопросы, правда про чуть боле сложное наследование.
4. учёные не отставали - Как сделать так, чтобы учёные не отставали на каждом препятствии
5. Фикс: func_healthcharger - Фикс: func_healthcharger и func_recharger
6. Удалённый контроль зарядника - Всегда хотелось, чтобы зарядник в хл был управляемым.
7. Цвет спрайтов HUD - Итак, как же сменить цвет спрайтов в HUD-системе
8. Переключение оружия a la HL2 - Мне не нравится, как переключается оружие в ХЛ. Может, кому-то и интересно тыкать по менюшкам худа, но мне больше нравится реализация переключения в Unreal RTN, Quake Mission Packs и HL2
9. Звук попадания как в HL2 - Работа на клиенте
Вы не можете комментировать, т.к. вы не зарегистрированы.
    зомби без хедкраба №2
    Half-Lifeзомби без хедкраба №2
    HD Nissan Pathfinder LowPoly - By Netdenn.
    Half-LifeHD Nissan Pathfinder LowPoly - By Netdenn.
    С двадцатилетием, Half-Life 2! (Раздача в Steam)
    С двадцатилетием, Half-Life 2! (Раздача в Steam)
    de_city_battle
    Counter-Strike 1.6de_city_battle