HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 20.08.2020, 03:02
atizoff
Познавший АНТИЧАТ
Регистрация: 02.08.2018
Сообщений: 1,295
С нами: 4095395

Репутация: 183


По умолчанию

Всем привет, многие просят на разных бордах показать как работает сайлент в варфейсе, ну так давайте

C++:





Код:
Vec3
GetBonePositionByID
(
IEntity
*
pIEntity
,
INT iBoneID
)
{
ICharacterInstance
*
pICharacterInstance
=
pIEntity
->
GetCharacter
(
0
)
;
if
(
!
pICharacterInstance
)
return
{
ZERO
}
;
ISkeletonPose
*
pISkeletonPose
=
pICharacterInstance
->
GetISkeletonPose
(
)
;
if
(
!
pISkeletonPose
)
return
{
ZERO
}
;
Matrix34 mOut
=
pIEntity
->
GetWorldTM
(
)
*
Matrix34
(
pISkeletonPose
->
GetAbsJointByID
(
iBoneID
)
)
;
return
mOut
.
GetTranslation
(
)
;
}


Получаем кость по айди кости. Возвращает уже готовые координаты

C++:





Код:
IActor
*
m_pActor
=
NULL
;
if
(
IItem
*
m_pItem
=
m_pActor
->
GetCurrentItem
(
)
)
{
if
(
IWeapon
*
m_pWeapon
=
m_pItem
->
GetIWeapon
(
)
)
{
Vec3 vHeadPosPVP
=
GetBonePositionByID
(
m_pEntity
,
13
)
;
// идеальная кость головы для пвп
Vec3 vHeadPosPVE
=
GetBonePositionByID
(
m_pEntity
,
11
)
;
// идеальная кость головы для пве
m_pWeapon
->
SetFiringPos
(
vHeadPosPVP
)
;
}
}
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.