Kết quả 1 đến 5 của 5
Chủ đề: Code sử dụng questkey
-
18-09-12, 09:34 PM #1
- Ngày tham gia
- Sep 2011
- Bài viết
- 36
- Thanks
- 9
- Thanked 3 Times in 2 Posts
Code sử dụng questkey
Có thể dựa vào code EatItem để viết không? Và các file cần viết là những file nào? Có bạn nào biết xin gợi ý...
Khách viếng thăm hãy cùng doanhungit xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
18-09-12, 09:57 PM #2
- Ngày tham gia
- Sep 2008
- Bài viết
- 72
- Thanks
- 21
- Thanked 25 Times in 8 Posts
Ðề: Code sử dụng questkey
Khách viếng thăm hãy cùng shocklads xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
18-09-12, 10:02 PM #3
Ðề: Code sử dụng questkey
Khách viếng thăm hãy cùng assaa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
18-09-12, 10:39 PM #4
- Ngày tham gia
- Nov 2011
- Đang ở
- The Moon
- Bài viết
- 366
- Thanks
- 85
- Thanked 230 Times in 76 Posts
Ðề: Code sử dụng questkey
Khách viếng thăm hãy cùng lzlsky301 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
18-09-12, 10:43 PM #5
- Ngày tham gia
- Jan 2010
- Bài viết
- 180
- Thanks
- 84
- Thanked 177 Times in 49 Posts
Ðề: Code sử dụng questkey
Item_task hình như là quest Item thì phải hì
Client (CoreClient)
b1 : Gọi đến gói sử dụng Item [CoreShell::OperationRequest(GOI_USE_ITEM)]
b2 : Gọi tới hàm sủ dụng Item của lớp KPlayer [Player::ApplyUseItem]
b3 : Tại hàm ApplyUseItem gửi 1 gói tin đến server để xử lý (KProtocolProcess::..........)
Server(CoreServer)
b4 : Gói tin này đc thực thi và gọi tới 1 hàm trên CoreServer tại lớp KPlayer
Ví dụ :
#ifdef _SERVER
void KPlayer::EatItem(BYTE* pProtocol)
{
PLAYER_EAT_ITEM_COMMAND *pEat = (PLAYER_EAT_ITEM_COMMAND*)pProtocol;
m_ItemList.EatMecidine(pEat->m_btPlace, pEat->m_btX, pEat->m_btY);
}
#endif
+ Tại hàm này gọi tới hàm xủ lý của lớp KItemList
b5 : Trong KItemList tại hàm đc gọi đến sẽ thực thi hàm sử dụng Item đó
Ví dụ :
#ifdef _SERVER
BOOL KItemList::EatMecidine(int nPlace, int nX, int nY)
{
int nItemIdx = 0;
switch(nPlace)
{
case pos_equiproom:
nItemIdx = m_Room[room_equipment].FindItem(nX, nY);
if (nItemIdx > 0)
return EatMecidine(nItemIdx);
break;
case pos_immediacy:
nItemIdx = m_Room[room_immediacy].FindItem(nX, nY);
if (nItemIdx > 0)
{
if (Item[nItemIdx].GetGenre() != item_medicine)
return EatMecidine(nItemIdx);
int nGenre, nDetailType, nIdx, nXpos, nYpos;
BOOL bEat;
nGenre = item_medicine;
nDetailType = Item[nItemIdx].GetDetailType();
bEat = EatMecidine(nItemIdx);
if (bEat == FALSE)
return bEat;
if (FALSE == FindSameDetailTypeInEquipment(nGenre, nDetailType, &nIdx, &nXpos, &nYpos))
return bEat;
this->AutoMoveMedicine(nIdx, nXpos, nYpos, nX, nY);
return bEat;
}
break;
default:
break;
}
return FALSE;
}
#endif
b6 : Thực thi 1 hàm có trong cả CoreServer và cả CoreClient
Ví dụ :
BOOL KItemList::EatMecidine(int nIdx)
{
if (m_PlayerIdx <= 0)
return FALSE;
int nNpcIdx = Player[m_PlayerIdx].m_nIndex;
int nGenre = Item[nIdx].GetGenre();
_ASSERT(nGenre == item_medicine || nGenre == item_townportal);
if (nGenre == item_medicine)
Item[nIdx].ApplyMagicAttribToNPC(&Npc[nNpcIdx], 3);
if (nGenre == item_townportal)
{
if (!Npc[Player[m_PlayerIdx].m_nIndex].m_FightMode)
{
#ifndef _SERVER
KSystemMessage Msg;
Msg.byConfirmType = SMCT_CLICK;
Msg.byParamSize = 0;
Msg.byPriority = 1;
Msg.eType = SMT_PLAYER;
strcpy(Msg.szMessage, "ÎÞ·¨ÔÚÕâÀïʹÓÃÍÁµØ·û£¡" );
CoreDataChanged(GDCNI_SYSTEM_MESSAGE, (unsigned int)&Msg, NULL);
#endif
return FALSE;
}
#ifdef _SERVER
Player[m_PlayerIdx].UseTownPortal();
#endif
}
#ifdef _SERVER
Remove(nIdx);
ItemSet.Remove(nIdx);
#endif
if (Npc[Player[m_PlayerIdx].m_nIndex].m_Doing == do_sit)
{
Npc[Player[m_PlayerIdx].m_nIndex].SendCommand(do_stand);
}
return TRUE;
}Khách viếng thăm hãy cùng trananh88vt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các Chủ đề tương tự
-
[JX] Bác nào Giúp lỗi này với lỗi ở questkey
Bởi SIR.ThaiBinh trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 4Bài viết cuối: 28-08-12, 04:12 PM -
[JX] Ko thể add vật phẩm questkey ?
Bởi phamngochai2 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 3Bài viết cuối: 20-05-12, 04:53 PM -
Cho hỏi về questkey
Bởi jxonline94 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 01-08-11, 07:49 AM -
Xin Mấy Cái Questkey.txt
Bởi ThanhVipLn trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 2Bài viết cuối: 05-09-10, 09:43 AM -
Cho Em Hỏi Về Cách Làm QUESTKEY
Bởi hoivegame trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 28-08-10, 01:26 PM