Суббота, 12.10.2024, 19:39
 
Приветствую Вас Guest | RSS
Главная страница | Оружие из CS:S в Half-Life 2 - Форум | Регистрация | Вход
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Оружие из CS:S в Half-Life 2
CastiGoДата: Четверг, 02.08.2007, 13:10 | Сообщение # 1
Combat medic
Группа: Пользователи
Сообщений: 31
Репутация: 4
Статус: Offline
Добрый всем день. Не так давно я начал заниматься маппингом и столкнулся с серьезной проблемой, а точнее, острой нехваткой моделей оружия для Half-Life 2, но вот случайно наткнулся на очень интересную статью, которая описывает как можно заменить стандартные типы оружия на оружие из CS:S. К сожалению, сейчас нет возможности проверить все, так как все программы на другом компьтере. Но уверен, что все описанное там работает на 100%.

----------------------------------------------------
В этом учебнике я покажу как перенести оружие из 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;
}

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

Автор: Web-Monster
---------------------------------------------------
Статья взята с http://stav-mapping.info/e107_plugins/content/content.php?content.51

PS. Скрины на оружие можно взять вот http://www.fpsbanana.com/skins
Надеюсь. что статья поможет и прибавит мне репутации.


...Я не всегда знаю, о чем говорю, но знаю, что прав...


Было отредактированно - CastiGo - Четверг, 02.08.2007, 13:13
 
DetLeRДата: Четверг, 02.08.2007, 15:28 | Сообщение # 2
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
эээ.. так я не понял, тебе сделать длл по этой статье или ты просто её на сайт в туториалы дал?
 
CastiGoДата: Четверг, 02.08.2007, 16:21 | Сообщение # 3
Combat medic
Группа: Пользователи
Сообщений: 31
Репутация: 4
Статус: Offline
Quote (DetLeR)
эээ.. так я не понял, тебе сделать длл по этой статье или ты просто её на сайт в туториалы дал?

Вообще то на сайт твой дал, может быть будет полезна. У тебя есть еще статья про то как копировать оружие
Half-life 2, а эта, надеюсь, поможет как то разнообразить арсенал вооружения, потому что для контры намного больше скринов оружия чем для Half-life 2, cool

PS. А так вообще вопрос, тут проскакивало, что ты начал заниматься кодингом: какими програми пользуешься, и где посмотрел как их верно настроить? Просто просить друзей, чтобы мне код немного подправили каждый раз не очень хорошо, а так хоть как-нибудь да сам бы справился.


...Я не всегда знаю, о чем говорю, но знаю, что прав...


Было отредактированно - CastiGo - Четверг, 02.08.2007, 16:21
 
DetLeRДата: Четверг, 02.08.2007, 17:02 | Сообщение # 4
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
Ууу.. там где качал уже нет, пользуюсь Visual Studio 2003. Настраивать не надо, в отличии от 2005 версии smile И спасибо за тутор, он будет добавлен на сайт smile

Добавлено (02.08.2007, 17:02)
---------------------------------------------
Моё 500 сотое сообщение cool

 
JOHN77Дата: Понедельник, 31.03.2008, 19:10 | Сообщение # 5
Newbie
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
Люди добрые, кто-нибудь пробовал это сделать?
Если пробовали расскажите результаты, и можно прикрепить DLL'ку или что там получится в итоге...
Мне только и нужно что калаш добавить.
 
  • Страница 1 из 1
  • 1
Поиск:

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