void CustomQuest2ReqUser(PMSG_QUEST2_REQ_USER* lpMsg,int aIndex) { char szName[MAX_IDSTRING+1]; szName[MAX_IDSTRING] = '\0'; memcpy(szName,lpMsg->szName,MAX_IDSTRING); PMSG_QUEST2_ANS_USER pMsg = {0}; PHeadSubSetB((LPBYTE)&pMsg,0x65,0x11,sizeof(pMsg)); pMsg.aIndex = lpMsg->aIndex; strcpy(pMsg.szName,szName); char szQuery[256]; sprintf(szQuery,"SELECT QUEST_DATA FROM T_CustomQuest2 WHERE CHAR_NAME = '%s'",szName); switch( g_MyEventDB.ReadBlob(szQuery,&pMsg.m_UserData) ) { case 0: sprintf(szQuery,"INSERT INTO T_CustomQuest2 (CHAR_NAME,QUEST_DATA) VALUES ('%s',?)",szName); g_MyEventDB.WriteBlob(szQuery,&pMsg.m_UserData,sizeof(pMsg.m_UserData)); break; case sizeof(pMsg.m_UserData): break; default: return; } DataSend(aIndex,(LPBYTE)&pMsg,sizeof(pMsg)); }
void CustomQuest2SaveUser(PMSG_QUEST2_SAVE_USER* lpMsg) { char szName[MAX_IDSTRING+1]; szName[MAX_IDSTRING] = '\0'; memcpy(szName,lpMsg->szName,MAX_IDSTRING); char szQuery[256]; sprintf(szQuery,"UPDATE T_CustomQuest2 SET QUEST_DATA = ? WHERE CHAR_NAME = '%s'",szName); g_MyEventDB.WriteBlob(szQuery,lpMsg->m_UserData,sizeof(lpMsg->m_UserData)); }