Приветствую народ,сегодня я хочу рассказать как сделать новый тип(ы) классических зомби.Т.е разные вариации внешнего вида(как ситезены),согласитесь ведь коряво смотрится одна и та же моделька на всех зомби.В общем приступим. Открываем наш солюшн и на сервере находим npc_zombie.cpp Там находим " class CZombie : public CAI_BlendingHost<CNPC_BaseZombie> " Крутим ниже до " private: " и там нам нужно добавить Дальше следуем к " BEGIN_DATADESC( CZombie ) " И после " DEFINE_FIELD( m_flDoorBashYaw, FIELD_FLOAT ), " Вставим Code DEFINE_KEYFIELD( m_iSkin, FIELD_INTEGER, "skin" ), Теперь же ищем CZombie::SetZombieModel ( void ) И меняем на Code void CZombie::SetZombieModel( void ) { Hull_t lastHull = GetHullType();
if ( m_fIsTorso ) { SetModel( "models/zombie/classic_torso.mdl" ); SetHullType( HULL_TINY ); }
if ( !m_fIsTorso && m_iSkin == 1) { SetModel( "models/zombie/classic.mdl" ); SetHullType (HULL_HUMAN); } else if( !m_fIsTorso && m_iSkin == 2) { SetModel( "models/zombie/zclassic_01.mdl" ); SetHullType (HULL_HUMAN); } else if( !m_fIsTorso && m_iSkin == 3) { SetModel( "models/zombie/zclassic_03.mdl" ); SetHullType (HULL_HUMAN); }
SetBodygroup( ZOMBIE_BODYGROUP_HEADCRAB, !m_fIsHeadless );
SetHullSizeNormal( true ); SetDefaultEyeOffset(); SetActivity( ACT_IDLE );
// hull changed size, notify vphysics // UNDONE: Solve this generally, systematically so other // NPCs can change size if ( lastHull != GetHullType() ) { if ( VPhysicsGetObject() ) { SetupVPhysicsHull(); } } } Соответственно меняем модельки на наши. Ну а теперь,нужно записать их в void CZombie::Precache( void ) Code PrecacheModel( "models/zombie/classic.mdl" ); PrecacheModel( "models/zombie/zclassic_01.mdl" ); PrecacheModel( "models/zombie/zclassic_03.mdl" ); PrecacheModel( "models/zombie/classic_torso.mdl" ); PrecacheModel( "models/zombie/classic_legs.mdl" );
Ну с этим разобрались.Насчёт кодинга тут всё. Далее скидываем модели в папку с модом,и чтоб у нас в Хамере можно было менять модельку каждому зомби,нам нужно слегка изминить fgd файл. Следуем в папку с сдк C:\Steam\steamapps\USERNAME\sourcesdk\bin\ep1\bin\ там у нас лежит файл halflife2.fgd открываем и заменяем строчку На вот так =) Code skin(choices) : "Version" : 3 = [ 1 : "Version 1" 2 : "Version 2" 3 : "Version 3" ] Всё,сохраняем. Теперь в хамере можно в настройках зомба изменять его модель. Источник http://warezoportal.3dn.ru
|