cmdoffline.cpp
上传用户:garry_shen
上传日期:2015-04-15
资源大小:45647k
文件大小:15k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "XmudOS.h"
  3. #include "MainWnd.h"
  4. #include "CmdPlayerLogon.h"
  5. #include "CommandCheck.h"
  6. #include "mapMapInfo.h"
  7. #include "skillskillSkill.h"
  8. #include "wgscommon.h"
  9. // Nuke +1
  10. #include "hash.h"
  11. // Spock start
  12. #include "Fight.h"
  13. extern CList <CFight*,CFight*>fightlist;
  14. extern CList <CFight*,CFight*>killlist;
  15. // Spock end
  16. extern char g_tszPathName[256];
  17. extern rmfullglobals myglobs;
  18. extern CList <CBaseMap*,CBaseMap*>maplist;
  19. extern CList <TChatChannel*,TChatChannel*>chatchannellist;
  20. extern CList <TDataUser*,TDataUser*>userlist;
  21. extern int g_iActiveClientNum;
  22. // Spock start
  23. int CCmdPlayerLogon::SavePlayerData(CPlayerInfo *lpPlayerInfo)
  24. {
  25. CString strtmp, sResultMsg, szTemp;
  26. char szPath[256], szFileName[256];
  27. int i,j,rn;
  28. TObjectSkill* lpPlayerSkill;
  29. CGoods* lpPlayerEquip;
  30. BOOL bFindHead = FALSE;
  31. char itmpString[20];
  32. CString sign = CString(""");
  33. CString parm = CString(" ");
  34. //POSITION pos;
  35. // Check start
  36. if (lpPlayerInfo == NULL) {
  37. AddRecordMsg("NULL player data in SavePlayerData");
  38. return -4000;
  39. }
  40. if (strcmp(lpPlayerInfo->szCheck, SZAOBJCHECK)) {
  41. AddRecordMsg("Bad player data in SavePlayerData");
  42. return -5000;
  43. }
  44. // Check end
  45. //ANDY_ADD REPUT ITEM
  46. POSITION pos,RunPos,lastpos;
  47. CGoods *lpCheckGoods = NULL;
  48. CGoods *lpReGoods = NULL;
  49. //lpPlayerInfo = (CPlayerInfo*)lpClientConData->pvPlayer;
  50. pos = lpPlayerInfo->listequip.GetHeadPosition();
  51. RunPos = pos;
  52. while( RunPos != NULL) {
  53. lpReGoods = lpPlayerInfo->listequip.GetNext( RunPos);
  54. pos = RunPos;
  55. while( pos != NULL) {
  56. lastpos = pos;
  57. lpCheckGoods = lpPlayerInfo->listequip.GetNext( pos);
  58. if( !strcmp(lpCheckGoods->lpGoods->szEName, lpReGoods->lpGoods->szEName)) {
  59. lpReGoods->nCount += lpCheckGoods->nCount;
  60. lpPlayerInfo->listequip.RemoveAt( lastpos);
  61. pos = lpPlayerInfo->listequip.GetHeadPosition();
  62. RunPos = pos;
  63. break;
  64. }
  65. }
  66. }
  67. //END
  68. //纗