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 :

Half-Life FX: Lost in Black MesaHalf-Life FX: Lost in Black Mesa

Мод на движке HLFX...

25/12/2009
Half-Life 2: MModHalf-Life 2: MMod

The goal of Half-Life 2 : MMod is to enhance and expand gunplay...

25/12/2018
Stat ( software ), pcs.

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


  • Description
  • HOW TO INSTALL

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

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


Author/s of tutorial : Ku2zoff
Views : 2733 ( +2 )
Downloads : 0
Uploader : Streit
Created : 04/07/2011 8:54:13 PM
Source : http://www.hlfx.ru/forum...
Rating :
 ( 0 ) 
Share :


Following translations are available : | russian |

Ну вот. Проведя несколько несложных мыслительных операций и запоров три файла 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 в халфовский формат цвета крови я не знаю, поэтому пока есть только два цвета.

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



Similar1. Изменение цвета HUD'а (полное)! - Изменение цвета HUD'а (полное)! Но прицелы придётся переделывать вам самим! Сдесь я перевевёл туториал с twhl.info на русский язык!
2. Sparks - Как добавить искры
You cannot comment, because you are not logged-in.
    Бомба и инструментрон из Mass Effect 3
    Counter-Strike 1.6Бомба и инструментрон из Mass Effect 3
    DM-W-Garden-2025
    Unreal Tournament 99DM-W-Garden-2025
    speedrun_10K
    Counter-Strike 1.6speedrun_10K
    Dev model test
    Garrys modDev model test