- Joined
- Jan 9, 2009
- Messages
- 614
- Reaction score
- 152
So I've noticed servers that have dualdaggers still have the crapy version of them. you can't move, which basically defeats the purpose of having dualdaggers. So, here's the fix for that.
ZCharacterObject.h:
Find this:
Add this above it:
ZCharacter.cpp:
in this function
find this:
Add this above it:
In ZCharacter::UpdateSpeed(), find this:
Replace with this:
ZMyCharacter.cpp
Find this function:
In ZMyCharacter:rocessShot(), find htis:
Replace with this:
In ZMyCharacter::OnUpdate, find this:
ZGame.cpp:
In SelectSlasheffectmotion, find this:
in filterdelayedcommand, find this:
replace with this:
ZGameInterface.cpp
In ChangeWeapon, find this:
Man01/Woman01.xml
Find "attacks" (Note, there's many, find the one for the dagger stab), and replace it with "attack1". Any problems feel free to let me know, although I hope people will try to convert it from 1.0 to 1.5 before asking for help, it's a very single conversion.
ZMyCharacter.cpp (Optional):
If you want the daggers to block, find the processguard function, find this:
replace with this:
Gunblade for showing me how static works
ZCharacterObject.h:
Find this:
ZC_STATE_UPPER_SHOT,
Add this above it:
ZC_STATE_UPPER_ATTACK1,
ZC_STATE_UPPER_ATTACK1_RET,
ZC_STATE_UPPER_ATTACK2,
ZCharacter.cpp:
in this function
static ZANIMATIONINFO g_AnimationInfoTableUpper[ZC_STATE_UPPER_END] = {
find this:
{ "attackS" ,false ,false ,false ,false },
Add this above it:
{ "attack1", false, false, true, false },
{ "attack1_ret", false, false, true, true },
{ "attack2", false, false, true, false },
In ZCharacter::UpdateSpeed(), find this:
if( (aniState_Lower == ZC_STATE_LOWER_ATTACK1) || (aniState_Lower == ZC_STATE_LOWER_ATTACK1_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK2) || (aniState_Lower == ZC_STATE_LOWER_ATTACK2_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK3) || (aniState_Lower == ZC_STATE_LOWER_ATTACK3_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK4) || (aniState_Lower == ZC_STATE_LOWER_ATTACK4_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK5) || (aniState_Lower == ZC_STATE_LOWER_JUMPATTACK) ||
(m_AniState_Upper.Ref() == ZC_STATE_UPPER_SHOT))
Replace with this:
if( (aniState_Lower == ZC_STATE_LOWER_ATTACK1) || (aniState_Lower == ZC_STATE_LOWER_ATTACK1_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK2) || (aniState_Lower == ZC_STATE_LOWER_ATTACK2_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK3) || (aniState_Lower == ZC_STATE_LOWER_ATTACK3_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK4) || (aniState_Lower == ZC_STATE_LOWER_ATTACK4_RET) ||
(aniState_Lower == ZC_STATE_LOWER_ATTACK5) || (aniState_Lower == ZC_STATE_LOWER_JUMPATTACK) ||
(m_AniState_Upper.Ref() == ZC_STATE_UPPER_SHOT) || (m_AniState_Upper.Ref() == ZC_STATE_UPPER_ATTACK1) ||
(m_AniState_Upper.Ref() == ZC_STATE_UPPER_ATTACK1_RET) || (m_AniState_Upper.Ref() == ZC_STATE_UPPER_ATTACK2))
ZMyCharacter.cpp
Find this function:
Replace the information above the else statement near the top of the function with this:ZMyCharacter::OnShotMelee
static int nShotCount = 0;
static DWORD dwTime = timeGetTime();
// ´Ü°Ë
if (m_pVMesh->m_SelectWeaponMotionType == eq_wd_dagger ||
m_pVMesh->m_SelectWeaponMotionType == eq_ws_dagger) { // dagger
if (m_AniState_Upper.Ref() == ZC_STATE_UPPER_ATTACK1 || m_AniState_Upper.Ref() == ZC_STATE_UPPER_ATTACK2)
return;
if (m_bCharged/* || IsCounterAttackable()*/)
{
if (GetVelocity().z > 100.f || GetDistToFloor() > 80.f)
JumpChargedShot();
else
ChargedShot();
return;
}
if (m_pVMesh->m_SelectWeaponMotionType == eq_wd_dagger)
{
DWORD nCurrTime = timeGetTime();
if (dwTime + 500 < nCurrTime)
nShotCount = 0;
if (GetDistToFloor() > 80.f)
zStatus.m_bJumpShot = true;
else
{
if (nShotCount == 0)
{
SetAnimationUpper(ZC_STATE_UPPER_ATTACK1);
nShotCount++;
}
else
{
SetAnimationUpper(ZC_STATE_UPPER_ATTACK2);
nShotCount--;
}
}
dwTime = nCurrTime;
}
else
{
SetAnimationUpper(ZC_STATE_UPPER_ATTACK1);
}
uStatus.m_bWallJump = false;
uStatus.m_bWallJump2 = false;
zStatus.m_bEnterCharge = true;
}
In ZMyCharacter:rocessShot(), find htis:
ZC_STATE_UPPER_SHOT
Replace with this:
ZC_STATE_UPPER_ATTACK1
In ZMyCharacter::OnUpdate, find this:
Replace with this:if(uStatus.m_bPlayDone_upper) {
if(m_AniState_Upper.Ref()==ZC_STATE_UPPER_SHOT)
if(uStatus.m_bPlayDone_upper) {
if(m_AniState_Upper.Ref()==ZC_STATE_UPPER_ATTACK1 || m_AniState_Upper.Ref()==ZC_STATE_UPPER_SHOT)
ZGame.cpp:
In SelectSlasheffectmotion, find this:
replace with this:if(lower == ZC_STATE_LOWER_ATTACK1) { nAdd = 0; }
else if(lower == ZC_STATE_LOWER_ATTACK2){ nAdd = 1; }
if(lower == ZC_STATE_LOWER_ATTACK1 || upper == ZC_STATE_UPPER_ATTACK1) { nAdd = 0; }
else if(lower == ZC_STATE_LOWER_ATTACK2 || upper == ZC_STATE_UPPER_ATTACK2) { nAdd = 1; }
in filterdelayedcommand, find this:
if(pChar!=m_pMyCharacter &&
( pChar->m_pVMesh->m_SelectWeaponMotionType==eq_wd_dagger ||
pChar->m_pVMesh->m_SelectWeaponMotionType==eq_ws_dagger )) { // dagger
pChar->SetAnimationUpper(ZC_STATE_UPPER_SHOT);
}
replace with this:
if(pChar!=m_pMyCharacter &&
( pChar->m_pVMesh->m_SelectWeaponMotionType==eq_wd_dagger ||
pChar->m_pVMesh->m_SelectWeaponMotionType==eq_ws_dagger )) { // dagger
pChar->SetAnimationUpper(ZC_STATE_UPPER_ATTACK1);
}
ZGameInterface.cpp
In ChangeWeapon, find this:
add this under it:|| (pChar->GetStateUpper() == ZC_STATE_UPPER_SHOT && pChar->IsUpperPlayDone() == false
||
(pChar->GetStateUpper() == ZC_STATE_UPPER_ATTACK1 && pChar->IsUpperPlayDone() == false) ||
(pChar->GetStateUpper() == ZC_STATE_UPPER_ATTACK2 && pChar->IsUpperPlayDone() == false))
Man01/Woman01.xml
Find "attacks" (Note, there's many, find the one for the dagger stab), and replace it with "attack1". Any problems feel free to let me know, although I hope people will try to convert it from 1.0 to 1.5 before asking for help, it's a very single conversion.
ZMyCharacter.cpp (Optional):
If you want the daggers to block, find the processguard function, find this:
if(type!=MWT_KATANA && type!=MWT_DOUBLE_KATANA) return;
replace with this:
Thanks to:if(type!=MWT_KATANA && type!=MWT_DOUBLE_KATANA && type!=MWT_DUAL_DAGGER) return;
Gunblade for showing me how static works
Last edited: