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


Итак дорогие читатели я решил снять завесу тайны с очень популярной темы:


- А как сделать много крови?
- Как сделать чтобы всё было замазано кровищей?
- Как сделать чтобы кровь долго не пропадала?
- Как сделать чтобы мясо лежало непроходимыми горами и на земле были галлоны крови?



На эти вопросы никто не хочет отвечать или говорят "разбирайся сам", я тоже получил когда-то такой ответ, но я разобравшись как это сделать самостоятельно посчитал долгом рассказать об этом кодерам.

Эта статья актуальна только для тех у кого настроен рабочий СДК.

Мы будем работать с классами:

- CDebris
- CBasicEffects



Я не буду здесь писать как сделать такие-же кровавые настройки какие реализовал Molodec; если вы уж так хотите сделать такие-же, вам поможет его статья про поля сессии, которую написал Molodec. Здесь просто будет рассказаны основы и где лежит нужный для модификации код.

Рекомендую использовать Notepad++, т.к. он очень удобный для редактирования SDK


Приступим.

1.) Мясо и кол-во крови
Fresh flesh =)

Открываем CDebris, здесь мы увеличим кол-во крови которую оставляют куски мяса и ее время жизни =) Где-то на 135 строке мы должны увидеть вот такое:

Code

  // don't allow too many stains to be left
  if (m_ctLeftStains>5) {
  return;
  }

 


Увеличим ка число к примеру до 15, теперь крови от катящегося по земле мяса будет в 3 раза больше.
- Но боже мой, что же будет в мультиплеере?
- Будут ужасные лаги от кучи мяса?
- А мы это предусмотрели и сделаем своё значение для мультиплеера. Потом даже можно будет туда пихнуть вместо цифрового значения, значение поля сессии.

 

Code

  FLOAT fBloodStainsNum = 5;
  if (GetSP()->sp_bSinglePlayer) {
  fBloodStainsNum = 15;
  }else{
  fBloodStainsNum = 5;
  }
  // don't allow too many stains to be left
  if (m_ctLeftStains>fBloodStainsNum) {
  return;
  }

 


Теперь в сингле будет значение 15, а в мультиплеере 5, вы можете взять числа и побольше, моё дело показать.

Следующий наш шаг в CDebris - увеличить время жизни мяса.

Идём куда-то на 360 строку и видим вот такой код

 

Code

  SetCollisionFlags(ECF_DEBRIS);
  m_fFadeStartTime = _pTimer->CurrentTick();
  m_fFadeTime = 5.0f;
  m_bFade = TRUE;
  autowait(m_fFadeTime);

 


И перед ним ставим это:

 

Code

  FLOAT fDebrisBFadeTime = 60.0f;  
  if (m_iBodyType==EIBT_FLESH) {
  autowait(fDebrisBFadeTime);  
  }

 


Теперь куски мяса поживут минуту.
- Но как же быть с мультиплеером?
- А вот так:

 

Code

  FLOAT fDebrisBFadeTime = 60.0f;  
  if (GetSP()->sp_bSinglePlayer) {
  fDebrisBFadeTime = 60.0f;
  }else{
  fDebrisBFadeTime = 20.0f;
  }
   
  if (m_iBodyType==EIBT_FLESH) {
  autowait(fDebrisBFadeTime);  
  }

 


Вот мы и закончили с CDebris. Можете скомпилировать исходник и протестировать на паре десятках гнааров пушечкой SBC

2.) Время жизни крови.
Blood, this is blood...

Открываем CBasicEffects и ищем void BloodStain(void)
Внутри функции находим m_fWaitTime = 12.0f + FRnd()*3.0f;

И вставляем код вместо него:

 

Code

  m_fWaitTime = 12.0f;
  if (GetSP()->sp_bSinglePlayer) {
  m_fWaitTime = 300.0f;
  }else{
  m_fWaitTime = 60.0f;
  }

 


Вот собственно и всё, в следующей части я расскажу про то как подключить к этому поля сессий.
Удачи вам! =)

 



Комментарии   

№ 8  |  31.05.2012  |  +1  
Зачем писать жёлтым? Ничего не видно и глаза болят! Ведь белый фон!
Ответ Цитата

№ 9  |  31.05.2012  |  -2  
Какой белый фон O_o

На сайте серый фон :D
Ответ Цитата

№ 10  |  31.05.2012  |  +4  
Включи стиль Ice Planet или Water Planet.
Ответ Цитата

№ 12  |  01.06.2012  |  +1  
Я люблю Ice Planet. Убери этот гадкий желтый цвет. Вообще, старайся юзать только черный.
Ответ Цитата

№ 13  |  01.06.2012  |  +1  
Я люблю когда на черном фоне написано. И желтый на черном замечательно смотрится. Поэтому считаю, что если есть необходимость, лучше просто, временно переставлять стиль, да и все.
Ответ Цитата

№ 14  |  01.06.2012  |  -2  
Вот так вот вы покаываете свое отношение к пользователям. Что ж, спасибо большое. Только какого черта тогда делать разные дизайны, если необходимо "временно менять их". И ещё добивает твой аргумент - "я люблю, когда на черном фоне написано". Извини, но с таким отношением к пользователям пользователи точно так же будут относиться к сайту.
Ответ Цитата

№ 15  |  01.06.2012  |  +1  
Слушай, я вообще не знал что добавили белые дизайны X_X
Я же на стиле Сириус уже как 2 месяца сижу и кнопку стилей не открывал =)
Ответ Цитата

№ 17  |  02.06.2012  |  0  
про тебя речи нет, ты молодец =)
Ответ Цитата

№ 18  |  02.06.2012  |  +1  
Я тоже пользуюсь Ice Planet
Ответ Цитата

№ 6  |  31.05.2012  |  0  
-Вот собственно и всё, в следующей части я расскажу про то как подключить к этому поля сессий.
Это просто =) Тем более была уже статья)
Было бы замечательно если бы что-то новое. Например, как добавить новое оружие, чтобы оно не заменило какое-то а добавился дополнительный пункт, когда выбираешь оружие. Ну или типо. =)
Ответ Цитата

№ 7  |  31.05.2012  |  0  
Новички могут и не понять :)
Ответ Цитата

№ 3  |  31.05.2012  |  0  
Исправив это, будет лучше:
Здесь просто будет рассказаны основы и где лежит нужный для модификации код код.
здесь мы укажем увеличим
Следующий нащ шаг в CDebris
Ответ Цитата

№ 5  |  31.05.2012  |  0  
Исправил, спасибо что помог :)
Ответ Цитата

№ 1  |  31.05.2012  |  0  
Для полного кайфа скринов не хватает. А так - 5.
Ответ Цитата

№ 2  |  31.05.2012  |  0  
Спасибо :D
Ответ Цитата

№ 4  |  31.05.2012  |  0  
Не за что. Рад что люди разбираются в СДК, и делятся с другими. Быть может это увеличит кол-во модостроителей...
Ответ Цитата

№ 11  |  31.05.2012  |  -1  
Лучше бы было побольше толковых и активных мапперов. <_< А то модостроителей всяких - пруд пруди. Карт для сингла классики в посл. время никто почти не выпускает, все в моды ударились.
Ответ Цитата

№ 16  |  01.06.2012  |  0  
Тгф в разработке, летом будет все.
Ответ Цитата

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

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

Гость

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

Информация

Прочее

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

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 [55]
Уроки по Serious Editor 2 [2]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [33]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [25]
Всё что не подошло не под одну из вышеупомянутых категорий.
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С)

Статистика



На сайте: 6
Гостей: 5
Пользователей: 1
KevinExism