SDK: Расширяем опции жестокости игры часть 2 =)


Я решил по совету Молодца сделать статью на другую тему, всё таки если вы не совсем чайники вы должны понять как подключить к этому поля сессий.

Сегодня наш разговор пойдёт о мясе и о трупах врагов. Можете смело считать меня кровожадным маньяком, но это не так, я просто иду по стопам Молодца и открываю для вас собственным трудом то что он изобрёл.

Я благодарен тому человеку, который делает 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 минут на земле


------

Вот собственно и всё дорогие читатели. Я не буду обещать что-то к следующей части, потомучто обсоятельства могут измениться.


Комментарии   

[Материал]  |  № 9  |  04.06.2012  |  0  
Чувак просто не очень скромен) это да)
Ну да ладно. Статья хороша) Пора уже блуд мод выпускать а то ты меня обгонишь)
Ответ Цитата

[Материал]  |  № 5  |  03.06.2012  |  0  
Не обязательно менять CEnemyBase, ты можешь перегружать методы (Death(EVoid), ShouldBlowUp(void) и т. п.) базового класса в его наследниках. Таким образом, ты мог бы создать второстепенную ДЛЛку (какую-нибудь MyEntitiesMP.dll), в которой у тебя размещались бы твои враги, от которых остаётся в 2 (4, 8, 16) раза больше мяса, и чьи трупы не исчезают, в отличие от стандартных. Это позволило бы применить все эти фишки в отдельной карте, без необходимости делать мод. Если изменить CEnemyBase и скомпилировать его во второстепенную ДЛЛку, то в качестве базового класса для врагов будет всё равно использоваться тот, который находится в EntitiesMP.dll.
Ответ Цитата

[Материал]  |  № 6  |  03.06.2012  |  +1  
Мсье знает толк в извращениях xD
Ответ Цитата

[Материал]  |  № 12  |  06.06.2012  |  +1  
О да >)
Ответ Цитата

[Материал]  |  № 1  |  02.06.2012  |  +1  
ура, текст оранжевенький!
Ответ Цитата

[Материал]  |  № 2  |  02.06.2012  |  0  
А что не репу не повышаем, никакой благодарности, я трачу время для людей, а мне фиг
Ответ Цитата

[Материал]  |  № 3  |  02.06.2012  |  +1  
Ууу... Вот теперь тебе точно мало кто что "повысит"..
Нужно сделать дело и ждать отзывов. Если работа хорошая, то хорошие отзывы, а следовательно и подъем репутации обеспеченны.
Никто не любит попрошаек и нытиков.
Ответ Цитата

[Материал]  |  № 10  |  04.06.2012  |  +4  
Нет нет нет! Зря ты так! Он тоже не прав что что либо требует, но ты прекрасно знаешь наш сайт! В последнее время никому нафиг не надо поднимать репу за чтолибо. Только в редких случаях. Допустим:
http://www.serioussite.ru/load....-0-1822
Панты повысили да и все. И то те кто не забыл. У нас люди настолько ленивые что им ВПАДЛУ нажать плюсик! Это просто выводит из себя! Блин! Да хватит все критиковать, тратить силы на комменты длинные как статьи, а просто порой благодарите пользователей, чтобы они продолжали что-то делать, а то от ваших повествовательных комментов наоборот многим нихрена делать и не захочется.
Ответ Цитата

[Материал]  |  № 4  |  02.06.2012  |  0  
А... Так вот для чего ты делаешь свои статьи..
Ответ Цитата

[Материал]  |  № 7  |  03.06.2012  |  -2  
А что плохого? :)

Я пишу достаточно полезные статьи, новичкам они могут оказаться полезными.

К тому же я хочу исправить отношение к себе как к тупому троллоло <_<
Ответ Цитата

[Материал]  |  № 8  |  03.06.2012  |  +1  
Твердить, что ты делаешь что-то полезное - не лучший способ доказать, что ты действительно делаешь что-то полезное. Будь скромней.
Ответ Цитата

[Материал]  |  № 11  |  04.06.2012  |  -2  
Какие олени ему столько минусов поставило? <_< - плюсану,потому что на самом деле на человека вообще внимания не обращают
Ответ Цитата

Оставьте комментарий

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 216.73.216.162

Сейчас обсуждают

zorgpro1696
Bebralot2282459
AzuNeko2835
Ar2R-devil-PiNKy85
SeriousSashka16
SeriousSashka2225
RocketFox6911
SeriousSashka0
megainformatic108
SeriousSashka47

МЕМЫ

Файлы

LAF1
322 29 12

Tenshi
6253 1524 92

Bolzin
1579 369 11

Green
1873 734 17

Ekzoteh
3015 888 29

Категории раздела

Croteam [4]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [9]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [4]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [10]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [60]
Уроки по Serious Editor 2 [3]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [40]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [26]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Видео

Сэмолаш - Фанатский выпуск
36 5.0

Serious Sam: The Last Hope - Четвёртый Сэм, который не вышел
41 5.0

Seriou Sam Fusion: All enemies MOD 2
98 0.0

финальный бой
85 0.0

Hell encounter | Impossible Hell Gates ENHANCED
68 0.0