Понедельник, 07.10.2024, 01:22
Приветствую Вас Guest | RSS
Главная страница | Статьи | Регистрация | Вход
Меню сайта

Случайный рисунок

Категории каталога
Туториалы по маппингу (HL2) [68]
Туториалы по маппингу для Half-Life
Туториалы по текстурированию (HL2) [10]
Туторы по текстурированию для Half-Life
Туториалы по моделированию (HL2) [9]
Туторы по моделированию для Half-Life
Туториалы по программированию (HL2) [53]
Туторы по прагроммированию для Half-life
Другие туториалы (HL1 и HL2) [4]
Туторы которые не вошли в другие категории
Half-Life 2 Beta [1]
Статьи о npc и weapon в бете Half-Life 2, а так же мануалы и FAQ.
Туториалы по маппингу (HL1) [14]
Туторы по маппингу для Half-Life 1
Туториалы по текстурированию (HL1) [1]
Туторы по текстурированию для Half-Life 1
Туториалы по моделированию (HL1) [1]
Туторы по моделированию для Half-Life 1
Туториалы по программированию (HL1) [30]
Туторы по программированию для Half-Life 1

Наш опрос
Очистить ли форум от всех сообщений и начать всё с чистого листа?
Всего ответов: 563

Начало » Статьи » Туториалы по программированию (HL1)

Спрыгивающий Headcrab
Наверняка каждый, кто поиграл в Half-Life2 хотел, чтобы хедкрабы спрыгивали с зомбяков и в первом Half-Life. Этот тутор призван изменить эту несправедливость. Теперь и в ваших модах Хедкрабы будут свободно спрыгивать с тела носителя.
Для этого нада MS VC++, и минимальное знание синтаксиса языка и структуры исходников HL. Если все это присутствует, начнем.

Собственно все изменения будут происходить только в файле zombie.cpp. Откроем его.
В самом начале после:

Quote
=========================================================
// Monster's Anim Events Go Here
//=========================================================
#define ZOMBIE_AE_ATTACK_RIGHT 0x01
#define ZOMBIE_AE_ATTACK_LEFT 0x02
#define ZOMBIE_AE_ATTACK_BOTH 0x03

Напишем:

Quote
#define ZOMBIE_AE_CRAB1 0x04
#define ZOMBIE_AE_CRAB2 0x05
#define ZOMBIE_AE_CRAB3 0x06

Это мы объявили специальные эвенты движка. После объявим еще один эвент, его будет использовать функция spawn, чтобы хедкраб мог спрыгивать с зомбика:

Quote
#define ZOMBIE_CRAB "monster_headcrab"

Далее в районе 56 строки, сразу после int IgnoreConditions ( void ) объявим процедуру:

Quote
Void SpawnCrab( void );

Далее в районе 396 строки, после функции Precache вставляем:

Quote
=========================================================
// Spawn Headcrab - headcrab jumps from zombie
//=========================================================
void CZombie :: SpawnCrab( void )
{
CBaseEntity *pCrab = CBaseEntity::Create( ZOMBIE_CRAB, pev->origin, pev->angles, edict() );

pCrab->pev->spawnflags |= SF_MONSTER_FALL_TO_GROUND;
}

Эта функция нужна, чтобы хедкраб спрыгивал. Далее в функции HandleAnimEvents добавим (297 строка):

Quote
// headcrab jumps from zombie
case ZOMBIE_AE_CRAB1:
{
ALERT( at_console, "Crab1 spawned!\n" );
pev->body = 1; // set the head to a skull
SpawnCrab(); // spawn a headcrab
}
break;

case ZOMBIE_AE_CRAB2:
{
ALERT( at_console, "Crab2 spawned!\n" );
pev->body = 1; // set the head to a skull
SpawnCrab(); // spawn a headcrab
}
break;

case ZOMBIE_AE_CRAB3:
{
ALERT( at_console, "Crab3 spawned!\n" );
pev->body = 1; // set the head to a skull
SpawnCrab(); // spawn a headcrab
}
break;

И последний штрих. В функции Precache, это 387 строка, вставим следующее:

Quote
UTIL_PrecacheOther( ZOMBIE_CRAB );

Теперь компилируем и наслаждаемся. Хедкраб спрыгивает, после смерти носителя.

P.S. Ой, одну минуточку, вам же еще нужна специальная модель зомби, со всеми эвентами и головой без хедкраба. Ее можно скачать здесь: http://confession.ucoz.ru/zombie.rar

Оригинальный код взят с http://collective.valve-erc.com/


Источник: http://confession.ucoz.ru/forum/14-23-1
Категория: Туториалы по программированию (HL1) | Добавил: DIMaN[BBc] (26.08.2007) | Автор: DIMaN[BBc]
Просмотров: 1422 | Комментарии: 2 | Рейтинг: 0.0 |

Всего комментариев: 2
2 AlexGordon  
0
Это не рабочий тутор. Даже если стрелять по headcrab, он все равно спрыгивает

1 MadKing  
0
у тебя void с большой буквы! happy happy

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт CrazyArts   Black   Сообщество сайтов о Half-Life   Самый   Только   Все   hl2 top 100     Rambler's Top100  

игры
игры

  Каталог сайтов Планета Топ 100 - Planet Top 100       ТОП ЛУЧШИХ ИГРОВЫХ САЙТОВ           Detroit Team Site :: Моды от Detroit Team, видео, новости.   Naruto-kun[Звезда Наруто]  


The idea of dising: Homie7