Пятница, 22.09.2017, 14:38
Приветствую Вас 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

Наш опрос
Приводить ли сайт в чувство?
Всего ответов: 700

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

Оружие из CS:S в Half-Life 2
В этом учебнике я покажу как перенести оружие из CS:S в Half-life 2.

Возьмём любое оружие из CS:S, я взял наш любимый AK-47.
Копируем фаилы оружия в Халву (Materials,Models,Sound).
В папке Scripts найдём фаил weapon_smg1.txt, найдём
вверху две строки
viewmodel-это модель отображения в руках
playermodel-это модель состороны, ну там если на полу валяется или в руках Комбаинов.

"viewmodel" "models/weapons/v_smg1.mdl"
"playermodel" "models/weapons/w_smg1.mdl"

Заменяем на нашу модель:

"viewmodel" "models/weapons/v_rif_ak47.mdl"
"playermodel" "models/weapons/w_rif_ak47.mdl"

Так с моделью всё.
Заходим в игру берём SMG и видим что автомат у нас в левой руке и без вспышек, нам такой расклад ненужен!!!
Будем исправлять:
Чтобы оружие отображалось справой стороны нужно найти фаил в клиенте с названием c_baseviewmodel.cpp.
Там найти:

#ifdef CSTRIKE_DLL
ConVar cl_righthand( "cl_righthand", "1", FCVAR_ARCHIVE, "Use right-handed view models." );
#endif

и закоментировать ifdef и endif должно получится следующие:

//#ifdef CSTRIKE_DLL

ConVar cl_righthand( "cl_righthand", "1", FCVAR_ARCHIVE, "Use right-handed view models." );

//#endif

Теперь в фаиле weapon_smg1.txt перед SoundData вставим следующие строки:

"BuiltRightHanded" "0"
"AllowFlipping" "1"

Всё сохраняем.
Заходим в игру проверяем, теперь оружие у нас справа но вспышек не наблюдается.
Будем исправлять этот косяк.

Заходим в c_baseanimating.cpp там находим строки:

if ( iAttachment != -1 && m_Attachments.Count() > iAttachment )

{
GetAttachment( iAttachment+1, attachOrigin, attachAngles );
int entId = render->GetViewEntity();
ClientEntityHandle_t hEntity = ClientEntityList().EntIndexToHandle( entId );
tempents->MuzzleFlash( attachOrigin, attachAngles, atoi( options ), hEntity, bFirstPerson );

и вместо этого вставляем следующее:

if ( iAttachment != -1 && m_Attachments.Count() > iAttachment )
{
if ( input->CAM_IsThirdPerson() )
{
C_BaseCombatWeapon *pWeapon = GetActiveWeapon(); if ( pWeapon )
{
pWeapon->GetAttachment( iAttachment+1, attachOrigin, attachAngles );
}
}
else
{
C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
if ( pPlayer )
{
CBaseViewModel *vm = pPlayer->GetViewModel();
if ( vm )
{
vm->GetAttachment( iAttachment+1, attachOrigin, attachAngles );
attachAngles = pPlayer->EyeAngles();
g_pEffects->MuzzleFlash( attachOrigin, attachAngles, 1.0, MUZZLEFLASH_TYPE_DEFAULT );
}
}
}

Так теперь находим Fx.cpp он находится в Client->Source file-> Temporary Entities.

Находим там такую строку: pParticle->m_vecVelocity.Init();

И сразу после неё вставляем следующий код:

C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
if ( pPlayer )
{
Vector velocity = pPlayer->GetLocalVelocity();
pParticle->m_vecVelocity += velocity;
}

Всё теперь заходим в игру и видим что у нас всё в шоколаде!



Источник: http://stav-mapping.info/e107_plugins/content/content.php?content.51
Категория: Туториалы по программированию (HL2) | Добавил: DetLeR (02.08.2007) | Автор: Web-Monster
Просмотров: 2889 | Комментарии: 6 | Рейтинг: 4.8 |

Всего комментариев: 6
4  
go to line 173 and comment lines like this:

// #ifdef CSTRIKE_DLL
// If cl_righthand is set, then we want them all right-handed.
CBaseCombatWeapon *pWeapon = m_hWeapon.Get();
if ( pWeapon )
{
const FileWeaponInfo_t *pInfo = &pWeapon->GetWpnData();
return pInfo->m_bAllowFlipping && pInfo->m_bBuiltRightHanded != cl_righthand.GetBool();
}
// #endif


6  
Поясни еще, пожалуйста smile Дело вот ведь в чем, проект компилить? Знаю, наиглупейший вопрос, но все же?:D

3  
Не пашет правая рука. И модель анимацию не проигрывает. Лажа тутор.

2  
Куда надо впихнуть папку src?!?

5  
Скачиваешь Source SDK из Steam, запускаешь, жмешь "Create mod". Дальше по ходу пьесы, разберешься в общем.

1  
Неплохо, лучше подскажите как делать своих игроков в hilfe live

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

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт 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