Gerekli dosyalar indirmek için:
WarZ Server kurulum : WarZ Server kurma - Artık herkes kurabilecek
Bağlantıları görmek için lütfen
Giriş Yap
WarZ Server kurulum : WarZ Server kurma - Artık herkes kurabilecek
P2PMessages.h
C++:
PKT_C2C_PlayerJump,
C++:
// Player Interact Anim
PKT_C2C_StartPickup,
C++:
struct PKT_C2C_PlayerJump_s : public DefaultPacketMixin<PKT_C2C_PlayerJump>
{
};
C++:
//Player Interact Anim
struct PKT_C2C_StartPickup_s : public DefaultPacketMixin<PKT_C2C_StartPickup>
{
//Empty
};
AI_Player.cpp
C++:
DEFINE_GAMEOBJ_PACKET_HANDLER(PKT_C2C_PlayerJump);
C++:
DEFINE_GAMEOBJ_PACKET_HANDLER(PKT_C2C_StartPickup);
C++:
void obj_Player::StartJump()
C++:
void obj_Player::StartPickup()
{
ChangeWeaponByIndex(HANDS_WEAPON_IDX);
uberAnim_->StartPickupAnim();
PKT_C2C_StartPickup_s n;
p2pSendToHost(this, &n, sizeof(n));
// more code is needed -/- random AI dialog sound
// more code is needed -/- cancel the sound when the AI change the playerstate
// more code is needed -/- sync animation with the default idl playerstate
}
C++:
void obj_Player::OnNetPacket(const PKT_C2C_PlayerJump_s& n)
C++:
void obj_Player::OnNetPacket(const PKT_C2C_StartPickup_s& n)
{
uberAnim_->StartPickupAnim();
return;
}
Kod:
[CODE=cpp]uberAnim_->StartPickupAnim(); //start pickup animation here - temporal logic
C++:
// if we picked up weapon with empty hands - switch to it
if(m_SelectedWeapon == HANDS_WEAPON_IDX && (n.SlotTo == wiCharDataFull::CHAR_LOADOUT_WEAPON1 || n.SlotTo == wiCharDataFull::CHAR_LOADOUT_WEAPON2))
{
ChangeWeaponByIndex(n.SlotTo);
}
hudMain->showMessage(gLangMngr.getString("InfoMsg_NewItemAdded"));
C++:
uberAnim_->StartPickupAnim(); //start pickup animation here - temporal logic
AI_Player.h
C++:
void OnNetPacket(const PKT_C2C_PlayerJump_s& n);
C++:
void OnNetPacket(const PKT_C2C_StartPickup_s& n);
C++:
float StartFallingTime;
C++:
// Interact Anim System
void StartPickup();
AI_PlayerAnim.cpp
C++:
void CUberData::LoadDeathAnim()
{
...
}
C++:
void CUberData::LoadPlayerInteractAnim()
{
aid_.PlayerInteract[0] = AddAnimation("PickUpItem");
}
C++:
LoadHandsAnim();
C++:
LoadPlayerInteractAnim();
C++:
void CUberAnim::StartDeathAnim()
{
...
}
C++:
// PLAYER INTERACT
void CUberAnim::StartPickupAnim()
{
StopReloadAnim();
anim.StartAnimation(data_->aid_.PlayerInteract[0], ANIMFLAG_PauseOnEnd | ANIMFLAG_RemoveOtherFade, 0.0f, 1.0f, 0.1f);
}
AI_PlayerAnim.h
C++:
int deaths[20];
C++:
int PlayerInteract[20]; // for player Interactive with objs
C++:
void LoadDeathAnim();
C++:
void LoadPlayerInteractAnim(); // player interactive with objs
C++:
void StartDeathAnim();
C++:
// NEW ANIMATION SYSTEM
// Interactive Anim
void StartPickupAnim();
void StartPickup();
ve kodlama aşamamız burada bitiyor... Build ardından RSBuild atarak oyunumuzda aktif olmasını sağlıyoruz... Herkese iyi geliştirmeler.