Чесно говоря я уже понял одну вещь...
Прежде всего нужно колдовать над его TakeDamage и TraceAttack.
Я думаю надо убрать Richochet оттуда и написать уменьшение хелса.
А дальше??? Добавлено (11.05.2009, 14:34)
---------------------------------------------
Можно прописать в int CGMan :: TakeDamage уменьшение хелса, для этого я добавил строчку:
Quote
pev->health = pev->health - flDamage;//CA:NPC takes real damage
Но это пол беды. Нам нужно его убить. Как? Добавлено (11.05.2009, 15:25)
---------------------------------------------
У меня кажется получилось.
Вообщем вот- получился тутор.
Все делаем в файле gman.cpp.
Прежде всего прописываем в описании класса CGMan новую переменную:
Quote
int iGib;//CA:for spawning gibs
Затем прописываем новую функцию там же:
Quote
void Kill();//CA:Death of G-Man
Переходим в функцию int CGMan :: TakeDamage
Там добавляем следующие строки:
Quote
pev->health = pev->health - flDamage;//CA:NPC takes real damage
if (pev->health<=0)
{
CGMan::Kill();
}
И наконец в самом конце, после всего, пишем функцию CGMAn::Kill:
Quote
//CA:Spawn meat, blood, delete npc
void CGMan::Kill()
{
CGib::SpawnRandomGibs( pev, 1, 1 );
CBaseMonster::Killed(pev, iGib);
}
Правда тут глюк - монтировка, пистолет, мп5 и hivehand его все равно не берут(в отличие от всего остального оружия )
Я думаю все дело в строке
Quote
pev->health = pev->max_health / 2; // always trigger the 50% damage aitrigger