Вторник, 15.10.2024, 03:37
 
Приветствую Вас Guest | RSS
Главная страница | [HL2] Различные модели для зомби - Форум | Регистрация | Вход
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[HL2] Различные модели для зомби
NoxterДата: Воскресенье, 17.07.2011, 21:24 | Сообщение # 1
Newbie
Группа: Пользователи
Сообщений: 3
Репутация: 4
Статус: Offline
Товарищ lexxda написал туториал как добавить несколько классов для стандартного зомби. Минус туториала был в том что просто указать модельку для npc_zombie было невозможно, а как вариант выбирать модель из списка который записан в коде npc, что не совсем удобно. Я решил написать свой туториал как добавить к npc_zombie выборку модельки персонажа.

Откройте файл npc_zombie.cpp (src_mod\game\server\hl2\).
Для начала нам нужно в функцию void CZombie::Precache( void ) добавить
Code

//Noxter
PrecacheModel( STRING( GetModelName() ) );
//

Прокрутите чуток ниже до функции void CZombie::SetZombieModel( void ) и замените всю функцию на
Code

void CZombie::SetZombieModel( void )
{
   //Noxter
   char *szModel = (char *)STRING( GetModelName() );
   if (!szModel || !*szModel)
   {
    szModel = "models/zombie/classic.mdl";
    SetModelName( AllocPooledString(szModel) );
   }

   Hull_t lastHull = GetHullType();

   if ( m_fIsTorso )
   {
    SetModel( "models/zombie/classic_torso.mdl" );
    SetHullType( HULL_TINY );
   }
   else
   {
    //SetModel( "models/zombie/classic.mdl" );
    //Noxter
    SetModel( szModel );
    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();
    }
   }
}


С кодингом закончили, теперь переходим к FGD.
Откройте блокнотом файл halflife2.fgd (лежит в папке sourcesdk\bin\source2007\bin) и найдите строку
Code

@NPCClass base(BaseNPC) studio("models/Zombie/Classic.mdl") = npc_zombie : "Zombie"
[
]

И замените ее на
Code

@NPCClass base(BaseNPC) studio() = npc_zombie : "Zombie"
[
   model(studio) : "World model" : "models/barney.mdl"
]

Проверяйте отписывайтесь.

Изображения:


Источник http://cs-mapping.com.ua/forum/showthread.php?t=29712


Я буду мстить и мстя моя будет страшна...
 
  • Страница 1 из 1
  • 1
Поиск:

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