Sidebar

Оружие в правой руке...

GaNDyRaC

VIP
VIP
01.12.2006
3 253
Оружие в правой руке...

Может и есть такая тема,но нужно срочно узнать в чём проблема....
Скачал я оружие из css начал мутить на hl2(ep2)...
Поставил и как обычно в левой руке...
По этому тутору всё сделал как там написано.Захожу в игру,почему то в левой руке пушка(((
Делал не AK-47,а Glock.
Прошу помощи как же всё таки заставить его быть в правой руке.
Заранее спасибо + в репу! :drink:

Решил проблему,написал тутор
 
Последнее редактирование:

PHombie

Зерги не перелетают
21.08.2006
4 278
35
5
0
Киев
насколько я помню в КСС изначально моделька в левой руке, просто Модельку в зеркало? Или йа ошибаюсь?

Похоже все же ошибся.
 

Noxter

Simpla Developer
02.09.2007
2 766
36
Ищи на форуме csm в разделе кодинг на Half-Life 2
попробуй еще раз кажется ты что-то пропустил, так бывает)))
 

GaNDyRaC

VIP
VIP
01.12.2006
3 253
Посидел подумал и нашёл!(Всё легко):agy:
В c_baseviewmodel.cpp:
после того как выполнили это
Код:
 //#ifdef CSTRIKE_DLL

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

//#endif
В этом же файле надо ещё закоментить(//):
Код:
#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
и закоментим
Код:
[COLOR=Red]//[/COLOR]#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();
	}
[COLOR=Red]//[/COLOR]#endif
 

Noxter

Simpla Developer
02.09.2007
2 766
36
2 GaNDyPaC:
Молодца что разобрался!
Если бы ты еще полный тутор нам настрочил было бы хорошо...

Лови репы!
 

GaNDyRaC

VIP
VIP
01.12.2006
3 253
Вот вам тутор о том как сделать оружие в правой руке!
Что нам понадобится:
  • Руки
  • Студия(2003 для еп1 & hl2,2005 для еп2)
  • Терпение
Приступим:
Открываем c_baseviewmodel.cpp в нём делаем:
Находим
Код:
#ifdef CSTRIKE_DLL
ConVar cl_righthand( "cl_righthand", "1", FCVAR_ARCHIVE, "Use right-handed view models." );
#endif
И закоментим( // )
Код:
[COLOR=Red]//[/COLOR]#ifdef CSTRIKE_DLL
ConVar cl_righthand( "cl_righthand", "1", FCVAR_ARCHIVE, "Use right-handed view models." );
[COLOR=Red]//[/COLOR]#endi
Находим
Код:
#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
И тоже закоментим( // )
Код:
// [/COLOR]#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();
	}
[COLOR=Red]//[/COLOR] #endif
Открываем 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;
		}
С кодингом всё! :agy:

#######################

Дальше...Например мы скачали пистолет(glock).
Распаковываем(models,materials,sound) в папку.
Дальше лезем в скрипты(weapon_pistol) в нём :
переделаем путь к модели
Код:
"viewmodel" "models/weapons/v_glock.mdl"
"playermodel" "models/weapons/w_glock.mdl"
И перед SounData допишем:
Код:
"BuiltRightHanded" "0"
"AllowFlipping" "1"

Заходим и смотрим :drink:

#########
Тутор Webmonstr'a + моё добавление
 
Последнее редактирование:

AlexNester

New member
31.07.2007
206
норм нужно будет попробовать, а то уменя тоже не получалось запихнуть ствол в правую руку.
тут походу можно все оружие будет перекидывать.
Тока по опыту скажу, со звуками проблема. Не будет оружие на 100% работать как в контре :(
 

GaNDyRaC

VIP
VIP
01.12.2006
3 253
Почему ты в скриптах открываешь(game_sounds_weapons) и там ищи например pistol.
И идут звуки,ты просто укажешь свою папку со звуками и вуаля))
 

AlexNester

New member
31.07.2007
206
Не все так просто.
Pistol и deaglе юзают разное количество звуков.
для последнего например для перезарядки нужно два звука, а для пистоля один.
 

DeTLeR

New member
17.12.2006
2 777
2 AlexNester:
Чуть-чуть мозгов и будут звуки. Надо зарегить в weapon_parse.cpp и .h другие звуки, а потом добовлять их в вепон. Я так постоянно для своих вепонов в олд стори делаю, если требуется :)
 

AlexNester

New member
31.07.2007
206
weapon_parse.cpp
про это знают не все.
приблизительно такой ответ я хотел услышать.
 

Game Server

Доноры Красавчики

Пользователи онлайн