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: 54.158.127.188

Информация

Прочее

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

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

Голосование

Какая локализация (текст/звук) Serious Sam на ваше мнение лучшая?
1. Второе Пришествие (2002 год, под ред. Гоблина)
2. Serious Sam 3: BFE (2011 год, SnowBall)
3. Первая Кровь (2001 год, Логрус)
4. HD 2: BFM (???, ???)
5. Serious Sam 2 (2005 год, Логрус)
6. Золотое Издание (2004 год, Логрус)
7. HD: The Second Encounter (2010 год, Новый Диск)
8. HD: The First Encounter (2010 год, 1С)

Статистика



На сайте: 7
Гостей: 4
Пользователей: 3
Partypoison23, Manuelcix, FozzKt