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

游戏引擎

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "XmudOS.h"
  3. #include "CommandCheck.h"
  4. #include "CmdPlayerLogon.h"
  5. #include "mapMapInfo.h"
  6. #include "npcNpc.h"
  7. #include "skillskillSkill.h"
  8. extern rmfullglobals myglobs;
  9. void CCommandCheck::AskProc(LPVOID pvPlayer,char *szWho, char * szSth1, char * szSth2, char *Result)//ask npc
  10. {
  11. CPlayerInfo *lpPlayerInfo;
  12. CNpc * lpNpc;
  13. CBaseMap * lpDataMap;
  14. BOOL bFindOppNPC = FALSE;
  15. lpPlayerInfo = (CPlayerInfo*)pvPlayer;
  16. if (lpPlayerInfo->nStatus != AOS_none) return;
  17. POSITION pMapPosite = lpPlayerInfo->pMapPosite;
  18. EnterCriticalSection(&myglobs.csMaplist);
  19. EnterCriticalSection(&myglobs.csPlayerData);
  20. lpDataMap = maplist.GetAt(lpPlayerInfo->pMapPosite);
  21. POSITION pos = lpDataMap->listNpc.GetHeadPosition();
  22. while(pos != NULL) {
  23. lpNpc = lpDataMap->listNpc.GetNext(pos);
  24. if(!stricmp(lpNpc->szEName,szWho) || !stricmp(lpNpc->szCName,szWho)) {
  25. if(lpNpc->nStatus != 0) {
  26. wsprintf(Result,"%s FAIL %sタΓ帝㎡!", SZASK, lpNpc->szCName);
  27. LeaveCriticalSection(&myglobs.csPlayerData);
  28.                 LeaveCriticalSection(&myglobs.csMaplist);
  29. return;
  30. }
  31. bFindOppNPC = TRUE;
  32. break;
  33. }
  34. }
  35. if(!bFindOppNPC) {
  36. wsprintf(Result,"%s FAIL