Kết quả 1 đến 10 của 77
-
25-08-12, 11:07 PM #1
- Ngày tham gia
- Jan 2010
- Bài viết
- 180
- Thanks
- 84
- Thanked 177 Times in 49 Posts
Share source Item giống cyberteam ! và hướng dẫn làm skill hỗ trợ
Dạo này thấy box JX vắng vẻ quá ! Mình xin đóng góp cho newbie về source Item của mình và hưỡng dẫn làm skill hỗ trợ
[Bố mình làm thợ hồ nên không cần gạch đâu nha cac huynh huhu]
Đây là source
[http]http://www.mediafire.com/?yua1f2i21nncu81[/http]
Mình cũng muốn hưỡng dẫn chi tiết làm Item lắm nhưng nó dài quá nên thui share luôn cho các bạn về tự tìm hiểu code lun
Còn đây là hưỡng dẫn ! nếu các bạn cần hình demo hình sẽ up hihi
Trong file MagicDesc.ini bạn thêm vào các option ở đây mình chỉ hưỡng dẫn làm option hỗ trợ skill thui vì các option khác thì có thể làm tương tự các option đã có
normal_end=
orther_new=
addphysicsmagic_v=S竧 thng v藅 l? n閕 c玭g: #d1+ 甶觤
addcoldmagic_v=B╪g s竧 - n閕 c玭g: #d1+ 甶觤
addfiremagic_v=H醓 s竧 - n閕 c玭g: #d1+ 甶觤
addlightingmagic_v=L玦 s竧 - n閕 c玭g: #d1+ 甶觤
addpoisonmagic_v=чc s竧 - n閕 c玭g: #d1+ 甶觤/l莕
fatallystrikeres_p=Kh竛g n ch?m筺g: #d1+%
expenhance_p=S竧 thng ch nh薾 頲 kinh nghi謒 #d1+%
addskilldamage1=T╪g s竧 thng #l1 #d3-%
addskilldamage2=T╪g s竧 thng #l1 #d3-%
addskilldamage3=T╪g s竧 thng #l1 #d3-%
addskilldamage4=T╪g s竧 thng #l1 #d3-%
addskilldamage5=T╪g s竧 thng #l1 #d3-%
addskilldamage6=T╪g s竧 thng #l1 #d3-%
orther_end=
Trong file KmagicDesc.cpp bạn cho load thêm các dòng vừa thêm vào
PHP Code:#define MAGICDESC_FILE "\\settings\\MagicDesc.Ini"
extern const char * g_MagicID2String(int nAttrib);
const char MAGIC_ATTRIB_STRING[][115] =
{
..............................
"normal_end",
"orther_new",
"addphysicsmagic_v",
"addcoldmagic_v",
"addfiremagic_v",
"addlightingmagic_v",
"addpoisonmagic_v",
"fatallystrikeres_p",
"expenhance_p",
"addskilldamage1",
"addskilldamage2",
"addskilldamage3",
"addskilldamage4",
"addskilldamage5",
"addskilldamage6",
"orther_end",
};
Tương tự ta định nghĩ các option này trong file KmagicAttrib.h
PHP Code:enum MAGIC_ATTRIB
{
......................................
magic_normal_end,
magic_orther_new,
magic_addphysicsmagic_v,
magic_addcoldmagic_v,
magic_addfiremagic_v,
magic_addlightingmagic_v,
magic_addpoisonmagic_v,
magic_fatallystrikeres_p,
magic_expenhance_p,
magic_addskilldamage1,
magic_addskilldamage2,
magic_addskilldamage3,
magic_addskilldamage4,
magic_addskilldamage5,
magic_addskilldamage6,
magic_orther_end,
};
extern const char MAGIC_ATTRIB_STRING[magic_orther_end + 1][115] ;
Giờ bắt đầu code
Trong file Kskills.h ta định nghĩa thêm các hàm và biến sau
PHP Code:Private :
KMagicAttrib m_SkillAdd[6]; //Load 6 option hỗ trợ vào
int m_nSkillAdd; //Đếm các option đc load vào
Public :
KMagicAttrib* GetSkillAdd() { return m_SkillAdd;}; // Cho các lớp khác lấy ttin
int GetnSkillAdd() { return m_nSkillAdd;}; //
PHP Code:BOOL KSkill::ParseString2MagicAttrib(unsigned long ulLevel, char * szMagicAttribName, char * szValue)
{
.................................................
if ( i > magic_orther_new && i < magic_orther_end)
{
switch(i)
{
case magic_addskilldamage1:
m_SkillAdd[0].nAttribType = i;
m_SkillAdd[0].nValue[0] = nValue1;
m_SkillAdd[0].nValue[1] = nValue2;
m_SkillAdd[0].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
case magic_addskilldamage2:
m_SkillAdd[1].nAttribType = i;
m_SkillAdd[1].nValue[0] = nValue1;
m_SkillAdd[1].nValue[1] = nValue2;
m_SkillAdd[1].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
case magic_addskilldamage3:
m_SkillAdd[2].nAttribType = i;
m_SkillAdd[2].nValue[0] = nValue1;
m_SkillAdd[2].nValue[1] = nValue2;
m_SkillAdd[2].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
case magic_addskilldamage4:
m_SkillAdd[3].nAttribType = i;
m_SkillAdd[3].nValue[0] = nValue1;
m_SkillAdd[3].nValue[1] = nValue2;
m_SkillAdd[3].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
case magic_addskilldamage5:
m_SkillAdd[4].nAttribType = i;
m_SkillAdd[4].nValue[0] = nValue1;
m_SkillAdd[4].nValue[1] = nValue2;
m_SkillAdd[4].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
case magic_addskilldamage6:
m_SkillAdd[5].nAttribType = i;
m_SkillAdd[5].nValue[0] = nValue1;
m_SkillAdd[5].nValue[1] = nValue2;
m_SkillAdd[5].nValue[2] = nValue3;
m_nSkillAdd ++;
break;
}
return TRUE;
}
.................................................
}
Vậy là load xong option vào rồi bây h đến hiện thị
Bạn thêm đoạn code này vào cuối hàm nha
PHP Code:void KSkill::GetDescAboutLevel(char * pszMsg)
{
.....................................
strcat(pszMsg, "\n");
for ( i = 0; i < m_nSkillAdd; i ++)
{
if (!m_SkillAdd[i].nAttribType) continue;
char * pszInfo = (char *)g_MagicDesc.GetDesc(&m_SkillAdd[i]);
if (!pszInfo) continue;
strcat(pszMsg, pszInfo);
strcat(pszMsg, "\n");
}
}
Trong lớp KskillList ta thêm vào 1 hàm như sau
Public :
int CalPercentAdd(int nSkillID);
PHP Code:int KSkillList::CalPercentAdd(int nSkillID)
{
int nPercent = 0;
if (!nSkillID)
return nPercent;
for (int i=1; i<MAX_NPCSKILL; i++)
{
KSkill * pSkill = (KSkill *) g_SkillManager.GetSkill(m_Skills[i].SkillId, m_Skills[i].SkillLevel);
if (pSkill)
{
int x = pSkill->GetnSkillAdd();
KMagicAttrib* pMagicData = NULL;
pMagicData = pSkill->GetSkillAdd();
for (int j =0 ; j < x ; j ++)
{
if (!pMagicData[j].nAttribType) continue;
if ( pMagicData[j].nValue[0] == nSkillID)
{
nPercent = nPercent + pMagicData[j].nValue[2];
}
}
}
}
return nPercent;
}
int nPercent = 0 ;
nPercent = Npc[Player[CLIENT_PLAYER_INDEX].m_nIndex].m_SkillList.CalPercentAdd(ulSkillId);
với ulSkillId là ID của skill truyền vào h ta test thử % hiện lên skill nha
tìm đến hàm getdes của lớp Kskill
PHP Code:if (pCurSkill)
{
pCurSkill->GetDescAboutLevel(pszMsg);
}
// Đoạn dưới thêm vào thêm vào
char TextLevel[80];
int nPercent = 0 ;
nPercent = Npc[Player[CLIENT_PLAYER_INDEX].m_nIndex].m_SkillList.CalPercentAdd(ulSkillId);
if (nPercent > 0)
{
sprintf(TextLevel, "Ho tro tu cac ky nang khac - %d%s",nPercent,"%");
strcat(pszMsg, "\n");
strcat(pszMsg, TextLevel);
strcat(pszMsg, "\n");
}
void KPlayer::GetEchoDamage(int* nMin, int* nMax, int nType) // Hàm hiện thị dame của skill trên F3
void KNpc::AppendSkillEffect(BOOL bIsPhysical, BOOL bIsMelee, void *pSrcData, void *pDesData) //Dame của skill
Do mình là newbie ko rành về cách tính dame nên các bạn tự làm nha công việc đơn giản lắm
“Ở trên đã lấy dc % đc cộng vào của skill rồi. Chỉ cần lấy dame của skill + với % dame đó là OK” nhớ là skill thui nha ! dame của NPC nói chung hay Item thì đừng + vì làm tăng dame lắm.
Đây là file skill chưa add dame của mính các bạn có thể download về tham khảo hì
[Only registered and activated users can see links. ]
Hiện tên skill
PHP Code:const char* KMagicDesc::GetDesc(void *pData)
{
char szTempDesc[128];
char* pTempDesc = szTempDesc;
int i = 0;
ZeroMemory(m_szDesc, 128);
if (!pData)
return NULL;
KMagicAttrib* pAttrib = (KMagicAttrib *)pData;
const char *pszKeyName = g_MagicID2String(pAttrib->nAttribType);
m_IniFile.GetString("Descript", pszKeyName, "", szTempDesc, 128);
while(*pTempDesc)
{
if (*pTempDesc == '#')
{
int nDescAddType = 0;
switch(*pTempDesc + 3)
{
case '+':
nDescAddType = 1;
break;
default:
nDescAddType = 0;
break;
}
int nValue = 0;
switch(*(pTempDesc + 2))
{
case '1':
nValue = pAttrib->nValue[0];
break;
case '2':
nValue = pAttrib->nValue[1];
break;
case '3':
nValue = pAttrib->nValue[2];
break;
default:
nValue = pAttrib->nValue[0];
break;
}
switch(*(pTempDesc+1))
{
case 'm': // ÃÅÅÉ
strcat(m_szDesc, g_Faction.m_sAttribute[nValue].m_szName);
i += strlen(g_Faction.m_sAttribute[nValue].m_szName);
break;
case 's': // ÎåÐÐ
switch(nValue)
{
case series_metal:
strcat(m_szDesc, "½ðϵ");
break;
case series_wood:
strcat(m_szDesc, "ľϵ");
break;
case series_water:
strcat(m_szDesc, "ˮϵ");
break;
case series_fire:
strcat(m_szDesc, "»ðϵ");
break;
case series_earth:
strcat(m_szDesc, "ÍÁϵ");
break;
default:
strcat(m_szDesc, "ÎÞϵ");
break;
}
i += 4;
break;
case 'k': // ÏûºÄÀàÐÍ
switch(nValue)
{
case 0:
strcat(m_szDesc, "ÄÚÁ¦");
break;
case 1:
strcat(m_szDesc, "ÉúÃü");
break;
case 2:
strcat(m_szDesc, "ÌåÁ¦");
break;
case 3:
strcat(m_szDesc, "½ðÇ®");
break;
default:
strcat(m_szDesc, "ÄÚÁ¦");
break;
}
i += 4;
break;
case 'd': // Êý×Ö
{
//if (nValue == 0) // ÊýֵΪÁãµÄ»°£¬²»ÏÔʾ
{
// return NULL;
}
switch(nDescAddType)
{
case 1:
if (nValue > 0)
{
strcat(m_szDesc, "Ôö¼Ó");
}
else
{
nValue = -nValue;
strcat(m_szDesc, "¼õÉÙ");
}
break;
default:
break;
}
char szMsg[16];
sprintf(szMsg, "%d", nValue);
strcat(m_szDesc, szMsg);
i += strlen(szMsg);
}
break;
case 'l':
{
// Đoạn thêm vào để hiện tên skill
KSkill * pSkill = NULL;
pSkill = (KSkill *) g_SkillManager.GetSkill(nValue, 1); // Lây thông tin về skill + % vào
if (!pSkill) continue;
char szMsg[80];
sprintf(szMsg, " %s ", pSkill->GetSkillName());
strcat(m_szDesc, szMsg);
i += strlen(szMsg);
}
break;
case 'x': // ÐÔ±ð
if (nValue)
strcat(m_szDesc, "Å®ÐÔ");
else
strcat(m_szDesc, "ÄÐÐÔ");
i += 4;
break;
default:
break;
}
pTempDesc += 4;
}
else
{
m_szDesc[i] = *pTempDesc;
pTempDesc++;
i++;
}
}
return m_szDesc;
}
Lần sửa cuối bởi trananh88vt, ngày 27-08-12 lúc 08:27 PM.
Khách viếng thăm hãy cùng trananh88vt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 24 Users Say Thank You to trananh88vt For This Useful Post:
assaa (25-08-12), authanhi (31-08-12), binhjx (13-09-12), CopBaDauRang (26-08-12), debaf9 (27-08-12), Edward_Newgate (26-08-12), jxvietnam (26-08-12), kelly (28-08-12), king7621 (26-08-12), KingMax (30-08-12), Learning (26-08-12),
Linh_JX(26-08-12), lzlsky301 (26-08-12), nhoxmap_b7 (26-08-12), notfile (29-08-12), ph4mduc4n (26-08-12), satthupro95 (03-01-13), thaihoa91 (26-08-12), thanhtunghk (26-08-12), thienvinh12312 (26-08-12), tieusuquay79 (11-04-13), Trung95 (27-08-12), vim239 (10-10-12), vipprolc (27-08-12)
-
25-08-12, 11:14 PM #2
- Ngày tham gia
- Jan 2010
- Bài viết
- 180
- Thanks
- 84
- Thanked 177 Times in 49 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Mình quên mất phần skill còn phải khai báo 1 số cái như sau
PHP Code:class KMissleMagicAttribsData
{
int nRef;
public:
KMagicAttrib * m_pStateMagicAttribs;
int m_nStateMagicAttribsNum;
KMagicAttrib * m_pDamageMagicAttribs;
int m_nDamageMagicAttribsNum;
KMagicAttrib * m_pImmediateAttribs;
int m_nImmediateMagicAttribsNum;
KMagicAttrib * m_pSkillAdd; //New add
int m_nSkillAdd; //New add
PHP Code:void KSkill::LoadSkillLevelData(unsigned long nLevel /* =0*/, int nParam)
{
m_nMissleAttribsNum = 0;
m_nDamageAttribsNum = 0;
m_nImmediateAttribsNum = 0;
m_nStateAttribsNum = 0; //¸öÊý£¬×î´ó10
m_nSkillAdd = 0;
PHP Code:KMissleMagicAttribsData* KSkill::CreateMissleMagicAttribsData(int nLauncher) const
{
if (nLauncher < 0 || m_bClientSend) return NULL;
KMissleMagicAttribsData* pMissleMagicAttribsData = new KMissleMagicAttribsData;
pMissleMagicAttribsData->m_pStateMagicAttribs = (KMagicAttrib *)m_StateAttribs;
pMissleMagicAttribsData->m_nStateMagicAttribsNum = m_nStateAttribsNum;
pMissleMagicAttribsData->m_pImmediateAttribs = (KMagicAttrib *)m_ImmediateAttribs;
pMissleMagicAttribsData->m_nImmediateMagicAttribsNum = m_nImmediateAttribsNum;
pMissleMagicAttribsData->m_pSkillAdd = (KMagicAttrib *)m_SkillAdd;//New add
pMissleMagicAttribsData->m_nSkillAdd = m_nSkillAdd; //New add
Khách viếng thăm hãy cùng trananh88vt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 18 Users Say Thank You to trananh88vt For This Useful Post:
assaa (26-08-12), authanhi (31-08-12), CopBaDauRang (26-08-12), danghai1993 (03-09-12), f-fantasy (05-09-12), HoangThaoBe (26-08-12),
Linh_JX(26-08-12), lzlsky301 (26-08-12), ngotiendat (26-08-12), ph4mduc4n (26-08-12), runkissbig (02-09-12), satthupro95 (03-01-13), thanhtunghk (03-11-12), thienvinh12312 (26-08-12), tieusuquay79 (11-04-13), vim239 (10-10-12), vipprolc (27-08-12), vn6789 (27-08-12)
-
25-08-12, 11:46 PM #3
- Ngày tham gia
- Jan 2010
- Bài viết
- 180
- Thanks
- 84
- Thanked 177 Times in 49 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Mình xin up vài hình demo chán up mà ko thấy ai nói ji hít huhu
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]Lần sửa cuối bởi trananh88vt, ngày 25-08-12 lúc 11:49 PM.
Khách viếng thăm hãy cùng trananh88vt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 11 Users Say Thank You to trananh88vt For This Useful Post:
authanhi (31-08-12), CopBaDauRang (26-08-12), debaf9 (30-08-12), hieu0071990 (27-08-12), HoangThaoBe (26-08-12), LBLN2N (26-08-12), ph4mduc4n (26-08-12), satthupro95 (03-01-13), thanhtunghk (03-11-12), tieusuquay79 (11-04-13), vipprolc (27-08-12)
-
26-08-12, 12:01 AM #4
- Ngày tham gia
- Mar 2011
- Bài viết
- 226
- Thanks
- 28
- Thanked 23 Times in 20 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Pro cho xin cái yahoo hỏi cái
............................Khách viếng thăm hãy cùng hackervnk xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
26-08-12, 12:06 AM #5
- Ngày tham gia
- Mar 2011
- Bài viết
- 35
- Thanks
- 9
- Thanked 0 Times in 0 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Chưa dowl chưa thử nhưng thanks trước cái đả,cho xin cái yahoo di chủ thớt có chút chuyện để hỏi
Lần sửa cuối bởi thaihoa91, ngày 26-08-12 lúc 07:43 AM.
Khách viếng thăm hãy cùng CopBaDauRang xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
26-08-12, 12:09 AM #6
- Ngày tham gia
- Jan 2010
- Bài viết
- 180
- Thanks
- 84
- Thanked 177 Times in 49 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Hì thông cảm mình có yahoo mà chắc cả tháng mới zo 1 lần vì ko có nhu cầu ! đi làm toàn dùng skyper không à hì. Mà có gì thì các bạn cứ hỏi ! nhưng hỏi về source thui nha chứ server và setting thì mình pó tay vì mình cũng chỉ là newbie vào JX chưa được bao lâu
Khách viếng thăm hãy cùng trananh88vt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
26-08-12, 12:09 AM #7
- Ngày tham gia
- Sep 2009
- Bài viết
- 500
- Thanks
- 284
- Thanked 102 Times in 25 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Giỏi thật đấy, trong box jx nhiều pro ẩn danh ^^
Khách viếng thăm hãy cùng ph4mduc4n xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
26-08-12, 02:25 AM #8
- Ngày tham gia
- Jul 2009
- Đang ở
- Tp Hồ Chí Minh Q.Tân Bình
- Bài viết
- 383
- Thanks
- 120
- Thanked 10 Times in 8 Posts
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Khách viếng thăm hãy cùng nhoxmap_b7 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
26-08-12, 06:43 AM #9
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
không có gì ngoài lời cảm ơn dành cho bạn. mặc dù ko dùng.. newbie cần những người như bạn
Sao? Như nào? Nói luôn.
-
26-08-12, 07:27 AM #10
Ðề: Share source Item giống cyberteam ! và hưỡng dẫn làm skill hỗ trợ
Rất là cảm ơn bạn đã share cho anh em mấy cái này
Khách viếng thăm hãy cùng assaa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[KT] Cần anh em pro share cho em xin cái source của Kiếm Thế !
Bởi killsuhn trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 9Bài viết cuối: 31-08-16, 05:43 PM -
Share 30 Map Việt Hóa Có Dấu + Item , Skill.txt
Bởi mr_lqd trong diễn đàn Guides - Kho Lưu trữTrả lời: 31Bài viết cuối: 18-05-12, 01:38 PM -
[JX] Phiên bản kết hợp của cyberteam và EdwardNewgate
Bởi ndquang92 trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 5Bài viết cuối: 25-12-11, 02:54 PM -
xin file reset ko mất skill + masterpoint TV WEB 1.85 full source
Bởi nhaodzo trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 3Bài viết cuối: 07-08-11, 08:39 AM -
xin Source Skill style: bro nào có cho mình với nhe!
Bởi kumamuka trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 25-09-10, 10:07 AM