PDA

View Full Version : [JX] Source code - Hướng dẫn fix tốc độ đánh giữa 2 cửa sổ



thienthanden2
12-01-13, 03:46 PM
Chào các bạn!
Có lẽ khi build source ai cũng gặp phải tình trạng là mở 2 cửa sổ lên thì đôi khi bên cửa sổ này thấy nhân vật ở cửa sổ bên kia tốc độ đánh chậm hơn thực tế. Mình xin hướng dẫn cách fix như sau:
1.File KProtocolProcess.cpp
Hàm void KProtocolProcess::SyncPlayer(BYTE* pMsg) Tìm và sửa lại như sau:

Npc[nIdx].m_ArmorType = pPlaySync->ArmorType;
Npc[nIdx].m_CurrentAttackSpeed = pPlaySync->AttackSpeed; // chỉ sửa dòng này
Npc[nIdx].m_CurrentCastSpeed = pPlaySync->CastSpeed; // chỉ sửa dòng này
Npc[nIdx].m_bHorsetime = pPlaySync->Horsetime;
Npc[nIdx].m_HelmType = pPlaySync->HelmType;
Npc[nIdx].m_HorseType = (char)pPlaySync->HorseType;
Npc[nIdx].m_CurrentRunSpeed = pPlaySync->RunSpeed;
Npc[nIdx].m_CurrentWalkSpeed = pPlaySync->WalkSpeed;
Npc[nIdx].m_WeaponType = pPlaySync->WeaponType;
Hàm void KProtocolProcess::SyncPlayerMin(BYTE* pMsg) cũng sửa tương tự:

Npc[nIdx].m_CurrentAttackSpeed = pPlaySync->AttackSpeed; // chỉ sửa dòng này
Npc[nIdx].m_CurrentCastSpeed = pPlaySync->CastSpeed; // chỉ sửa dòng này
2.File KNpc.cpp
Hàm BOOL KNpc::SendSyncData(int nClient) Tìm và sửa 2 dòng tương tự bên protocol:

PLAYER_SYNC PlayerSync;

PlayerSync.ProtocolType = (BYTE)s2c_syncplayer;
PlayerSync.ID = m_dwID;
PlayerSync.ArmorType = (BYTE)m_ArmorType;
PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này
PlayerSync.Horsetime = (BYTE)m_bHorsetime;
PlayerSync.HelmType = (BYTE)m_HelmType;
PlayerSync.HorseType = (BYTE)m_HorseType;
PlayerSync.RunSpeed = (BYTE)m_CurrentRunSpeed;
PlayerSync.WalkSpeed = (BYTE)m_CurrentWalkSpeed;
Hàm void KNpc::NormalSync() Cũng tuơng tự:

PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này
Sau đó tìm dòng này: m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);
Và thay dòng đó bằng đoạn code sau:

int SoDu = m_CastFrame * 100 / (100 + m_CurrentCastSpeed);
if (SoDu%2 == 1)
m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100)+1;
else m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);

Vậy là filx xong tốc độ đánh nội công, còn lại tốc độ đánh ngoại công thì các bạn làm tương tự. Tìm từ khóa m_CurrentAttackSpeed và thay vào như trên. Goodluck!

Bi_Dep_Trai
12-01-13, 08:04 PM
Chào các bạn!
Có lẽ khi build source ai cũng gặp phải tình trạng là mở 2 cửa sổ lên thì đôi khi bên cửa sổ này thấy nhân vật ở cửa sổ bên kia tốc độ đánh chậm hơn thực tế. Mình xin hướng dẫn cách fix như sau:
1.File KProtocolProcess.cpp
Hàm void KProtocolProcess::SyncPlayer(BYTE* pMsg) Tìm và sửa lại như sau:

Npc[nIdx].m_ArmorType = pPlaySync->ArmorType;
Npc[nIdx].m_CurrentAttackSpeed = pPlaySync->AttackSpeed; // chỉ sửa dòng này
Npc[nIdx].m_CurrentCastSpeed = pPlaySync->CastSpeed; // chỉ sửa dòng này
Npc[nIdx].m_bHorsetime = pPlaySync->Horsetime;
Npc[nIdx].m_HelmType = pPlaySync->HelmType;
Npc[nIdx].m_HorseType = (char)pPlaySync->HorseType;
Npc[nIdx].m_CurrentRunSpeed = pPlaySync->RunSpeed;
Npc[nIdx].m_CurrentWalkSpeed = pPlaySync->WalkSpeed;
Npc[nIdx].m_WeaponType = pPlaySync->WeaponType;
Hàm void KProtocolProcess::SyncPlayerMin(BYTE* pMsg) cũng sửa tương tự:

Npc[nIdx].m_CurrentAttackSpeed = pPlaySync->AttackSpeed; // chỉ sửa dòng này
Npc[nIdx].m_CurrentCastSpeed = pPlaySync->CastSpeed; // chỉ sửa dòng này
2.File KNpc.cpp
Hàm BOOL KNpc::SendSyncData(int nClient) Tìm và sửa 2 dòng tương tự bên protocol:

PLAYER_SYNC PlayerSync;

PlayerSync.ProtocolType = (BYTE)s2c_syncplayer;
PlayerSync.ID = m_dwID;
PlayerSync.ArmorType = (BYTE)m_ArmorType;
PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này
PlayerSync.Horsetime = (BYTE)m_bHorsetime;
PlayerSync.HelmType = (BYTE)m_HelmType;
PlayerSync.HorseType = (BYTE)m_HorseType;
PlayerSync.RunSpeed = (BYTE)m_CurrentRunSpeed;
PlayerSync.WalkSpeed = (BYTE)m_CurrentWalkSpeed;
Hàm void KNpc::NormalSync() Cũng tuơng tự:

PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này
Sau đó tìm dòng này: m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);
Và thay dòng đó bằng đoạn code sau:

int SoDu = m_CastFrame * 100 / (100 + m_CurrentCastSpeed);
if (SoDu%2 == 1)
m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100)+1;
else m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);

Vậy là filx xong tốc độ đánh nội công, còn lại tốc độ đánh ngoại công thì các bạn làm tương tự. Tìm từ khóa m_CurrentAttackSpeed và thay vào như trên. Goodluck!

cho xin yahoo cái đc ko......................

thienthanden2
12-01-13, 08:15 PM
Mình ko có xài yahoo, vì cty cấm và cũng wên pass rồi. Chỉ xài skype thôi: quangquyenwh

MinYeuVy
12-01-13, 08:33 PM
Mình ko có xài yahoo, vì cty cấm và cũng wên pass rồi. Chỉ xài skype thôi: quangquyenwh

K onl Skype hả bạn?







..........................

thienthanden2
12-01-13, 09:15 PM
K onl Skype hả bạn?







..........................

Có chứ, ban mới liên lạc mình à, lúc nãy đi ăn tối.

Bi_Dep_Trai
13-01-13, 10:07 AM
Có chứ, ban mới liên lạc mình à, lúc nãy đi ăn tối.

có thể giúp đc hôg :D:D

....................

thienthanden2
13-01-13, 01:50 PM
có thể giúp đc hôg :D:D

....................

Chuyện gì bạn cứ nói đi hoặc pm inbox, biết thì mình giúp.

Bi_Dep_Trai
13-01-13, 05:51 PM
Chuyện gì bạn cứ nói đi hoặc pm inbox, biết thì mình giúp.

in box rùi mà :(/......................................

tam241992
13-01-13, 08:28 PM
chỗ đoạn này có 2 đoạn: m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);
thay vào đó luôn hả anh.:D

thienthanden2
13-01-13, 09:44 PM
chỗ đoạn này có 2 đoạn: m_Frames.nTotalFrame = m_CastFrame * 100 / (m_CurrentCastSpeed + 100);
thay vào đó luôn hả anh.:D

Bất cứ chỗ nào có dòng tương tự như thế thì thay hết, đoạn code trên ko thay đổi gì nhìu cả, chỉ làm cho nó chẵn hoặc lẻ thôi.

tuancoi
19-07-13, 05:14 AM
.File KNpc.cpp
Hàm BOOL KNpc::SendSyncData(int nClient) Tìm và sửa 2 dòng tương tự bên protocol:
Code:


PLAYER_SYNC PlayerSync;

PlayerSync.ProtocolType = (BYTE)s2c_syncplayer;
PlayerSync.ID = m_dwID;
PlayerSync.ArmorType = (BYTE)m_ArmorType;
PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này
PlayerSync.Horsetime = (BYTE)m_bHorsetime;
PlayerSync.HelmType = (BYTE)m_HelmType;
PlayerSync.HorseType = (BYTE)m_HorseType;
PlayerSync.RunSpeed = (BYTE)m_CurrentRunSpeed;
PlayerSync.WalkSpeed = (BYTE)m_CurrentWalkSpeed;

Hàm void KNpc::NormalSync() Cũng tuơng tự:
Code:


PlayerSync.AttackSpeed = (BYTE)m_CurrentAttackSpeed; // chỉ sửa dòng này
PlayerSync.CastSpeed = (BYTE)m_CurrentCastSpeed; // chỉ sửa dòng này



Mình không hiểu đoạn này, ai hướng dẫn mình được không :(

thaihoa91
19-07-13, 06:12 PM
Là ở đoạn đó, sửa 2 dòng đó như trong đoạn code đã ghi đó, so sánh 2 dòng đó trong source gốc là hỉu

tuancoi
19-07-13, 06:55 PM
Là ở đoạn đó, sửa 2 dòng đó như trong đoạn code đã ghi đó, so sánh 2 dòng đó trong source gốc là hỉu

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Không thấy khác biệt chỗ nào nên không biết sửa sao cả :(

thaihoa91
19-07-13, 07:12 PM
Giống vậy là dc rùi ! Cứ làm tiếp !