Вторник, 19.03.2024, 10:17
 
Приветствую Вас Guest | RSS
Главная страница | [Hl2]Делаем расчленёнку - Форум | Регистрация | Вход
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Игровая мастерская » Программирование » [Hl2]Делаем расчленёнку
[Hl2]Делаем расчленёнку
Dark_AlexДата: Вторник, 28.06.2011, 22:55 | Сообщение # 1
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
Приветствую всех.Этот тутор покажет как сделать в своём моде расчленёнку.Примером послужит npc_zombine,т.к для новичков там будет проще разобраться.Видел много постов на эту тему,но так никто и не давал конкретный ответ.Решил исправить эту проблему

Итак,собственно открываем на сервере npc_zombine.cpp и в #include'ы добавим

Code
#include "gib.h"


Теперь ищем функцию

Code
void CNPC_Zombine::Event_Killed( const CTakeDamageInfo &info )


Она отвечает за то,что будет с нашим зомби после его смерти так сказать.
Нам нужно добавить туда

Code
if( info.GetDamageType() & ( DMG_BLAST ) )
{
  SetModel( "models/zombie/classic_legs.mdl" );
   
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/pgib_p1.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/pgib_p2.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/pgib_p3.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/pgib_p4.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/pgib_p5.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_jaw.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_scapula.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_scapula.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p1.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p2.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p3.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p4.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p5.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/rgib_p6.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/gibhead.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/shoe.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/leg.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/niku1.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_spine.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_ribs.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/hgibs_jaw.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/heart.mdl", 5 );
  CGib::SpawnSpecificGibs( this, 1, 750, 1500, "models/gibs/brain.mdl", 5 );


В данном случае DMG_BUCKSHOT говорит нам что разлетаться на части зомби будет от выстрела(ов) из дробовика.
DMG_BUCKSHOT можно менять на любой другой в соответствии от того что вам нужно.Например DMG_BLAST - говорит что нужно "разлетаться" от взрывов.
Теперь что бы в игре не вылазили ошибки,и игра не вылетала,нужно в функции

Code
void CNPC_Zombine::Precache( void )


Указать наши модели.
Code

BaseClass::Precache();

  PrecacheModel( "models/zombie/classic_legs.mdl" );
  PrecacheModel( "models/zombie/zombie_soldier.mdl" );
  PrecacheModel( "models/gibs/pgib_p1.mdl" );
  PrecacheModel( "models/gibs/pgib_p2.mdl" );
  PrecacheModel( "models/gibs/pgib_p3.mdl" );
  PrecacheModel( "models/gibs/pgib_p4.mdl" );
  PrecacheModel( "models/gibs/pgib_p5.mdl" );

И так далее.Естественно заменяя модельки на свои.
Ну а если же вы хотите чтоб зомби разрывало не от вида патронов\взрывов итп.То нужно вместо

Code
if( info.GetDamageType() & ( DMG_BUCKSHOT ) )


Прописать

Code
if( info.GetDamage() >= ( m_iMaxHealth * 0.75f ) )


Значение цифр-это количество нанесённого повреждения.
На этом всё.Так же советую для полной красоты картины побаловаться с particle.
 
AndreazzzДата: Среда, 29.06.2011, 10:54 | Сообщение # 2
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
+ за переводы иностранных туториалов.



Было отредактированно - Andreazzz - Среда, 29.06.2011, 14:09
 
Breen_HL2Дата: Среда, 29.06.2011, 13:03 | Сообщение # 3
Combat medic
Группа: Пользователи
Сообщений: 35
Репутация: -2
Статус: Offline
Я этот тутор прикручивал к комбайнам,и прочим NPC, выглядело прикольно.
 
StriderДата: Среда, 29.06.2011, 14:32 | Сообщение # 4
Spy
Группа: Проверенные
Сообщений: 1465
Репутация: 51
Статус: Offline
Я жибсы прицепил к вмоду как подключаемое украшение. И, да, их можно есть)
 
Dark_AlexДата: Среда, 29.06.2011, 15:26 | Сообщение # 5
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
Так же знаю способ чтоб расчленёнка зависила от того в какую часть тела попадаешь.Делал через HITGROUP,если надо говорите,напишу.
 
HitmenДата: Среда, 29.06.2011, 15:26 | Сообщение # 6
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
Strider, особенно прикольно, что помимо гибсов можно спавнить итемы, если npc разлетается biggrin

Туториалы по программированию, мои и слегка изменённые чужие. :)

Sp@ce Project Blog
Sp@ce Project Web-Site

I'm in spaaace!
Я в контакте
Я в Facebook'е

 
Dark_AlexДата: Среда, 29.06.2011, 15:31 | Сообщение # 7
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
Quote (Breen_HL2)
Я этот тутор прикручивал к комбайнам,и прочим NPC, выглядело прикольно.

Дык там всё просто,в любом другом нпс регаем функцию Event_Killed и вс1 тоже самое =)
Кстате я делаю через TraceAttack,т.к там можно указать Хитгруппы,что даёт нам интересные возможности =)
 
HitmenДата: Среда, 29.06.2011, 15:36 | Сообщение # 8
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
Dark_Alex, кстати, пробовал такой ironsight сделать? smile Пока что только Strider и Andreazzz на этом форуме смогли слепить его по туториалу нормально. Если получится, делай перевод и лучше в туториалы добавляй. wink

Туториалы по программированию, мои и слегка изменённые чужие. :)

Sp@ce Project Blog
Sp@ce Project Web-Site

I'm in spaaace!
Я в контакте
Я в Facebook'е

 
Dark_AlexДата: Среда, 29.06.2011, 15:40 | Сообщение # 9
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
Hitmen,
Я тож смог по тому тутору сделать,капался правда долго,но сделать смог.Ток с подключением звука не стал мараться.
В туторы добавить немогу, т.к я не проверенный пользователь,прав не имею подобных.

Добавлено (29.06.2011, 15:40)
---------------------------------------------
А в плане перевести тот тутор,может займусь.

 
HitmenДата: Среда, 29.06.2011, 15:44 | Сообщение # 10
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
Dark_Alex, у Дета попроси, что бы в VIP добавил, а то ты вроде уже 2-ой туториал написал, если не ошибаюсь (перевёл точнее на сей раз)?

Туториалы по программированию, мои и слегка изменённые чужие. :)

Sp@ce Project Blog
Sp@ce Project Web-Site

I'm in spaaace!
Я в контакте
Я в Facebook'е

 
Dark_AlexДата: Среда, 29.06.2011, 15:49 | Сообщение # 11
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
Hitmen, Вообще третий уже =) Я просто смотрю,на всех русско-язычных сайтах одни и те же туторы практически.
Ну и подумал что новичкам будет очень кстате попробовать что-нибудь новое.Да и народа у которых с англ.языком проблемы тоже много.Вот перевожу время от времени.
 
ALEx25Дата: Четверг, 30.06.2011, 17:26 | Сообщение # 12
Combat medic
Группа: Пользователи
Сообщений: 20
Репутация: 4
Статус: Offline
Quote (Hitmen)
Пока что только Strider и Andreazzz на этом форуме смогли слепить его по туториалу нормально.

surprised
Quote (Hitmen)
Если получится, делай перевод

 
Dark_AlexДата: Четверг, 30.06.2011, 18:09 | Сообщение # 13
Combat medic
Группа: Проверенные
Сообщений: 36
Репутация: 16
Статус: Offline
ALEx25, ЖЖошь! =)
 
AndreazzzДата: Пятница, 01.07.2011, 10:12 | Сообщение # 14
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
Quote (Hitmen)
Пока что только Strider и Andreazzz на этом форуме смогли слепить

А HellMapper? А другие? И да, я им не пользуюсь =)


 
Форум » Игровая мастерская » Программирование » [Hl2]Делаем расчленёнку
  • Страница 1 из 1
  • 1
Поиск:

Помощь в разработке форума: HOMiE7