Я решил по совету Молодца сделать статью на другую тему, всё таки если вы не совсем чайники вы должны понять как подключить к этому поля сессий.
Сегодня наш разговор пойдёт о мясе и о трупах врагов. Можете смело считать меня кровожадным маньяком, но это не так, я просто иду по стопам Молодца и открываю для вас собственным трудом то что он изобрёл.
Я благодарен тому человеку, который делает Blood Mod, ведь если бы он сразу дал мне исходники, я бы их просто скопипастил и ничего бы не понял, благодаря нему я научился делать вещи сам =)
Что-то я отвлёкся. Здесь я отвечу на вопросы:
- Как сделать непроходимые горы трупов?
- Как сделать чтобы трупы можно было рвать на мясо?
- Как прописать трупу жизни?
Мы будем работать сегодня только с одним классом:
- CEnemyBase
На номера строк на скриншотах и если увидите новые строки которых у вас нет не смотрите, делаем всё по инструкции! У меня нет сил настраивать новые исходники, поэтому я пишу на своих модовских сотню раз переделаных =)
1)Открываем наш файл.
И добавляем новую пропертю:
300 FLOAT m_fCHealth "Corpse Health" = 100.0f,
Это мы добавили переменную жизней трупа
------
2)Ищем функцию ReceiveDamage и после строки:
GiveImpulseTranslationAbsolute( m_vDamage/fNewRootLen*fMassFactor);
Вставляем:
if (!(GetFlags()&ENF_ALIVE)) {
m_fCHealth-=fKickDamage;
}
Это чтобы трупу наносился урон
------
3)Ищем строку
if( m_fMaxDamageAmmount > 10.0f)
И меняем на
if( m_fMaxDamageAmmount > 5.0f)
Это мы делаем для того чтобы брызги крови были и от пистолета.
------
4) После строки:
if (IsOfClass(this, "ExotechLarva")) { return TRUE; }
Ставим строку:
if (m_fCorpseHealth<=0.0f) { return TRUE; }
Это чтобы если не осталось жизней у трупа - его рвало.
------
5) Ищем строки:
SetPhysicsFlags(EPF_MODEL_CORPSE);
SetCollisionFlags(ECF_CORPSE);
SetFlags(GetFlags() | ENF_SEETHROUGH);
И закомментируем их так:
//SetPhysicsFlags(EPF_MODEL_CORPSE);
//SetCollisionFlags(ECF_CORPSE);
//SetFlags(GetFlags() | ENF_SEETHROUGH);
Это для того чтобы враг не был призраком после смерти.
------
6) В процедуре DeathSequence(EVoid)
Перед:
// start fading out and turning into stardust effect
m_fSpiritStartTime = _pTimer->CurrentTick();
Мы поставим autowait(300.0f);
Это чтобы труп лежал 5 минут на земле
------
Вот собственно и всё дорогие читатели. Я не буду обещать что-то к следующей части, потомучто обсоятельства могут измениться.
Комментарии
Ну да ладно. Статья хороша) Пора уже блуд мод выпускать а то ты меня обгонишь)
Мсье знает толк в извращениях xDО да >)Нужно сделать дело и ждать отзывов. Если работа хорошая, то хорошие отзывы, а следовательно и подъем репутации обеспеченны.
Никто не любит попрошаек и нытиков.http://www.serioussite.ru/load....-0-1822
Панты повысили да и все. И то те кто не забыл. У нас люди настолько ленивые что им ВПАДЛУ нажать плюсик! Это просто выводит из себя! Блин! Да хватит все критиковать, тратить силы на комменты длинные как статьи, а просто порой благодарите пользователей, чтобы они продолжали что-то делать, а то от ваших повествовательных комментов наоборот многим нихрена делать и не захочется.
Я пишу достаточно полезные статьи, новичкам они могут оказаться полезными.
К тому же я хочу исправить отношение к себе как к тупому троллоло