PDA

View Full Version : [JX] Nhảy damage giống VNG



runkissbig
08-11-12, 11:32 AM
Damage thì đã nhảy sẵn trong source, giờ ta chỉ làm để nó hiển thị lên thôi. ^^

trong KNpc.h ta them setblood va bo clearblood nhu sau


// void ClearBlood();
// Khai báo thêm các biên sau
#ifndef _SERVER
int m_ResDir;
KNpcRes m_DataRes; // NpcµÄ¿Í»§¶Ë×ÊÔ´£¨Í¼Ïó¡¢ÉùÒ� �£©

// ÓÃÓÚÆÕͨս¶·npcðѪ´¦Àí
int m_nBloodNo[15][2];// Them bien nay vao
int m_nBloodAlpha;
//int m_nBloodTime;// Bo bien nay di
char m_szBloodNo[32];
KRUImage m_ImageSeries;
#endif



Tiep tim den


m_nPKFlag = 0;

sua lai doan nay nhu sau


#ifndef _SERVER
m_SyncSignal = 0;
m_sClientNpcID.m_dwRegionID = 0;
m_sClientNpcID.m_nNo = -1;
m_ResDir = 0;
m_nPKFlag = 0;
m_nSleepFlag = 0;
memset(&m_sSyncPos, 0, sizeof(m_sSyncPos));
for(int i=0;i<15;i++)
{
m_nBloodNo[i][0] = 0;
m_nBloodNo[i][1] = 0;
}

m_nBloodAlpha = 0;
//m_nBloodTime = 0;
m_szBloodNo[0] = 0;

m_nTongFlag = 0;
#endif

vao KNpc.cpp sua lai nhu sau


/*#ifndef _SERVER
void KNpc::ClearBlood()
{
m_nBloodNo = 0;
m_nBloodAlpha = 0;
// m_nBloodTime = 0;
m_szBloodNo[0] = 0;
}
#endif*/

#ifndef _SERVER
void KNpc::SetBlood(int nNo)
{
if (nNo <= 0)
return;
/*m_nBloodNo = nNo;
m_nBloodAlpha = 0;
m_nBloodTime = defMAX_SHOW_BLOOD_TIME;
sprintf(m_szBloodNo, "%d", nNo);*/
BOOL flag = FALSE;
int i = 0;
for (i; i< 15; i ++)
{
if (m_nBloodNo[i][0] == 0)
{
flag = TRUE;
break;
}
}
if (flag == TRUE)
{
m_nBloodNo[i][0] = nNo;
m_nBloodNo[i][1] = defMAX_SHOW_BLOOD_TIME;
}
else
{
int nMin = m_nBloodNo[0][1];//Thoi gian nho nhat
int n_mMin=0;//Vi Tri nho nhat
for (int j =0; j< 15; j ++)
{
if (m_nBloodNo[j][1] < nMin)
{
nMin = m_nBloodNo[j][1];
n_mMin = j;
}
}
m_nBloodNo[j][0] = nNo;
m_nBloodNo[j][1] = defMAX_SHOW_BLOOD_TIME;
}


}
#endif

#ifndef _SERVER
int KNpc::PaintBlood(int nHeightOffset)
{
BOOL _flag = FALSE;
for (int j = 0; j< 15; j++)
{
if (m_nBloodNo[j][0] > 0)
{
_flag = TRUE;
break;
}
}

if (_flag == FALSE )
{
return nHeightOffset;
}
int nFontSize = 16;
DWORD dwColor = SHOW_BLOOD_COLOR | (m_nBloodAlpha << 24);
int nMpsX, nMpsY;
GetMpsPos(&nMpsX, &nMpsY);
int nHeightOff = nHeightOffset;

for (int i = 0; i < 15; i++)
{
if (m_nBloodNo[i][0] > 0)
{
nHeightOff = nHeightOffset + (defMAX_SHOW_BLOOD_TIME - m_nBloodNo[i][1]) * defSHOW_BLOOD_MOVE_SPEED;
sprintf(m_szBloodNo, "%d", m_nBloodNo[i][0]);
g_pRepresent->OutputText(nFontSize, m_szBloodNo, KRF_ZERO_END, nMpsX - nFontSize * g_StrLen(m_szBloodNo) / 4, nMpsY, dwColor, 0, nHeightOff);
m_nBloodNo[i][1] = m_nBloodNo[i][1] - 1;
if (m_nBloodNo[i][1] <=0)
{
m_nBloodNo[i][0] = 0;
m_nBloodNo[i][1] = 0;
m_nBloodAlpha = 0;
m_szBloodNo[0] = 0;

}
}
}
m_nBloodAlpha++;
if (m_nBloodAlpha > 31)
m_nBloodAlpha = 31;

return nHeightOff;
}
#endif

tai ham


int KNpcSet::Add(int nNpcSettingIdxInfo, int nSubWorld, int nRegion, int nMa

bo clear blood


// Npc[i].ClearBlood();


PS:
De dieu chinh toc do cung nhu thoi gian len máu ta làm nhu sau


#define defMAX_SHOW_BLOOD_TIME 400//Thoi gian
#define defSHOW_BLOOD_MOVE_SPEED 0.1//Toc do

shinrenkyo
08-11-12, 02:24 PM
mình là newbie bạn hướng dẫn kỹ dùm ko? cái file đó nằm ở đâu bạn, mình tìm ko ra

Phong_JxOnline
19-11-12, 06:09 PM
thank bạn đả share ............

yeugame09
20-11-12, 02:30 PM
thank bạn đả share ............

cái file KNpc.cpp ở đâu vậy bạn 30charrrrrrrrrrrrrrr

thienthanden2
28-11-12, 12:07 PM
cái file KNpc.cpp ở đâu vậy bạn 30charrrrrrrrrrrrrrr

JX\Swrod3\SwordOnline\Sources->Core->Src->KNpc.cpp

savatage91
21-01-13, 11:24 PM
đã bác nào làm được cái này chưa hướng lại giùm cái em thấy bài hướng dẫn này khó hiểu thế nào ý .. làm xong bị lỗi à :(

savatage91
22-01-13, 02:53 AM
không tìm thấy hàm này trong KNpc.cpp:
int KNpcSet::Add(int nNpcSettingIdxInfo, int nSubWorld, int nRegion, int nMa
và hàm này thì không có trong KNpc.h mà có trong KNpc.cpp:
m_nPKFlag = 0;
và hàm này em cũng k tìm thấy luôn :
// Npc[i].ClearBlood();
<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>

greentears
22-01-13, 07:16 AM
đã bác nào làm được cái này chưa hướng lại giùm cái em thấy bài hướng dẫn này khó hiểu thế nào ý .. làm xong bị lỗi à :(

Hướng dẫn từng bước thế rùi mà còn nói ko hiểu thì bó tay, bạn chịu khó đọc kỷ trước khi làm đi [-O<

thienthanden2
29-01-13, 11:15 AM
không tìm thấy hàm này trong KNpc.cpp:
int KNpcSet::Add(int nNpcSettingIdxInfo, int nSubWorld, int nRegion, int nMa
và hàm này thì không có trong KNpc.h mà có trong KNpc.cpp:
m_nPKFlag = 0;
và hàm này em cũng k tìm thấy luôn :
// Npc[i].ClearBlood();
<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>

<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>

shinrenkyo
09-04-13, 09:40 PM
mình bị lỗi thế này khi build ai giúp mình đc ko?
<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> nhinh20130409214726.png?rand=0.3001089340541512

tam241992
09-04-13, 09:55 PM
mảng có rồi kìa xóa cái mbloo[i] [1] đi là đc, hình như cái này có tut rồi bạn chịu khó đọc cho kỹ mà làm. :)

shinrenkyo
10-04-13, 08:23 AM
mảng có rồi kìa xóa cái mbloo[i] [1] đi là đc, hình như cái này có tut rồi bạn chịu khó đọc cho kỹ mà làm. :)
àk đc rồi ko cần bỏ, tks bạn:D

nguyenvanvu
08-03-14, 08:54 AM
tai sao ta khong dung c ma phai dung c++ cho no phuc tap .
:!!