# Animation https://mega.nz/#!S9xDhJoA!trpt3wdLQQ4fN_eEXgSXXEaKovSjGnxfk8pdnXQai-A โอเคครับ ถ้าคุณทำตามผมทุกๆขั้นตอนคุณจะทำได้เองนะครับ ! ดาวน์โหลดไฟล์ : Animationเอาไฟล์ที่ดาวน์โหลดไปลง C:/WarZ/bin/data/Animation5 ค้นหาใน WarZ.sln
if(wpn && hudAttm && hudAttm->isActive() && wpn->getCategory()>=storecat_ASR && wpn->getCategory()<=storecat_SMG) isInAttmMenu = true;
เพิ่มไว้ข้างล่าง
bool isWantingToInspect = (InputMappingMngr->isPressed(r3dInputMappingMngr::KS_INSPECT_GUN) && wpn && wpn->getCategory()>=storecat_ASR && wpn->getCategory()<=storecat_SMG && hudMain && !hudPause->isActive() && !hudAttm->isActive() && !hudVault->isActive() && !hudRepair->isActive() && !hudCraft->isActive() && !hudSafelock->isActive() && !hudTrade->isActive() && !hudStore->isActive() && !hudMain->isChatInputActive() && !Mouse->GetMouseVisibility() && !InputMappingMngr->isPressed(r3dInputMappingMngr::KS_PRIMARY_FIRE) && !InputMappingMngr->isPressed(r3dInputMappingMngr::KS_AIM));
ค้นหา
uberAnim_->SyncAnimation(PlayerState, PlayerMoveDir, force, wpn, isInAttmMenu);
แทนที่
uberAnim_->SyncAnimation(PlayerState, PlayerMoveDir, force, wpn, isInAttmMenu, isWantingToInspect);
ค้นหา
aid_.attmMenuIdleWeapon[5] = AddAnimation("FPS_Attch_Idle_SMG");
เพิ่มไว้ข้างล่าง
aid_.InspectWeapon[0] = AddAnimation("FPS_Weap_Show");aid_.InspectWeapon[1] = AddAnimation("FPS_Weap_Show");aid_.InspectWeapon[2] = AddAnimation("FPS_Weap_Show");aid_.InspectWeapon[3] = AddAnimation("FPS_Weap_Show");aid_.InspectWeapon[4] = AddAnimation("FPS_Weap_Show");aid_.InspectWeapon[5] = AddAnimation("FPS_Weap_Show");
ค้นหา
void CUberAnim::SyncAnimation(int PlayerState, int MoveDir, bool force, const Weapon* weap, bool isInAttmMenu)
แทนที่
void CUberAnim::SyncAnimation(int PlayerState, int MoveDir, bool force, const Weapon* weap, bool isInAttmMenu, bool isWantingToInspect)
ค้นหา
if(isInAttmMenu && CurrentWeapon && IsFPSMode()
แทนที่
if(!isWantingToInspect && isInAttmMenu && CurrentWeapon && IsFPSMode()
ค้นหา
// switch anim state
เพิ่มข้างบน
if(isWantingToInspect && CurrentWeapon && IsFPSMode() && !IsSwimming && PlayerState != PLAYER_SWIM_IDLE && PlayerState != PLAYER_SWIM_SLOW && PlayerState != PLAYER_SWIM && PlayerState != PLAYER_SWIM_FAST ) { bool AlreadyPlayingInspect = false; int animIdx = 0; switch(CurrentWeapon->getCategory()) { case storecat_ASR: animIdx = 0; break; case storecat_SNP: animIdx = 1; break; case storecat_SHTG: animIdx = 2; break; case storecat_MG: animIdx = 3; break; case storecat_HG: animIdx = 4; break; case storecat_SMG: animIdx = 5; break; default: r3d_assert(false); break; } r3dgameVector(r3dAnimation::r3dAnimInfo)::iterator it; for(it=anim.AnimTracks.begin(); it!=anim.AnimTracks.end(); ++it) { const r3dAnimation::r3dAnimInfo& ai = *it; if(ai.pAnim->iAnimId == data_->aid_.InspectWeapon[animIdx]) { AlreadyPlayingInspect = true; break; } } if(!AlreadyPlayingInspect) anim.StartAnimation(data_->aid_.InspectWeapon[animIdx], ANIMFLAG_RemoveOtherNow | ANIMFLAG_Looped, 0.0f, 1.0f, 0.1f); else // playing idle anim { // do nothing :) } AnimPlayerState = -1; // reset, so that after attm menu we will return back to proper animation return; } ///END of Inspect
ค้นหา
int attmMenuIdleWeapon[6];
เพิ่มข้างบน
int InspectWeapon[6];
ค้นหา
void SyncAnimation(int PlayerState, int MoveDir, bool force, const Weapon* weap, bool isInAttmMenu);
แทนที่
void SyncAnimation(int PlayerState, int MoveDir, bool force, const Weapon* weap, bool isInAttmMenu, bool isWantingToInspect = false);
ค้นหา
KS_NUM,
เพิ่มไว้ข้างบน
KS_INSPECT_GUN,
ค้นหา
r3dInputMappingMngr::r3dInputMappingMngr()
เพิ่ม
m_Mapping[KS_INSPECT_GUN] = KeyboardMapping(INPUTMAP_KEYBOARD, kbsB, "INSPECT GUN", false); ต้แงการให้กด F แทน B สังเกตุ kbsB เปลี่ยนเป็น kbsF จบปิ้ง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น