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

游戏引擎

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "XmudOS.h"
  3. #include "ActiveObject.h"
  4. #include "CmdEmote.h"
  5. #include "skillskillskill.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. static CList<TEmote *, TEmote *> listEmote;
  12. extern char g_tszPathName[256];
  13. extern rmfullglobals myglobs;
  14. extern CList <TClientConData *,TClientConData* >playersocketlist;
  15. static inline CString GetHe(CActiveObject *he);
  16. static void ChangeEmote(CString &szEmote, CActiveObject *me, CActiveObject *you);
  17. static BOOL GetEmote3(TEmote * lpEmote, CActiveObject *me, CActiveObject *you, CString &strRet1, CString &strRet2, CString &strRet3);
  18. static BOOL GetEmoteSpace(TEmote * lpEmote, CActiveObject *me, CString &strRet1, CString &strRet2);
  19. static BOOL GetEmoteMe(TEmote * lpEmote, CActiveObject *me, CString &strRet1, CString &strRet2);
  20. void DeleteEmote()
  21. {
  22. POSITION pos;
  23. TEmote * lpEmote;
  24. pos = listEmote.GetHeadPosition();
  25. while(pos != NULL){
  26. lpEmote = listEmote.GetNext(pos);
  27. delete lpEmote;
  28. }
  29. listEmote.RemoveAll();
  30. }
  31. BOOL InitEmote()
  32. {
  33. CStdioFile fEmote;
  34. CString szTmp;
  35. TEmote * lpEmote;
  36. szTmp =  g_tszPathName;
  37. szTmp += "\Emoted.dat";
  38. if(!fEmote.Open(szTmp, CFile::modeRead)){
  39. AddRecordMsg("ERROR Open Emoted.dat fail");
  40. return FALSE;
  41. }else{
  42. while (fEmote.ReadString(szTmp)){
  43. lpEmote = new TEmote;
  44. lpEmote->nKind = szTmp[0]-'0';
  45. fEmote.ReadString(lpEmote->szCEmote);
  46. fEmote.ReadString(lpEmote->szEmote);
  47. fEmote.ReadString(szTmp);
  48. lpEmote->nType = szTmp[0]-'0';
  49. if(lpEmote->nType & EMT_HAVE_TARGET){
  50. fEmote.ReadString(lpEmote->szTarget);
  51. fEmote.ReadString(lpEmote->szMeTo);
  52. fEmote.ReadString(lpEmote->szOthersTo);
  53. }
  54. if(lpEmote->nType & EMT_HAVE_NONAME)
  55. {
  56. fEmote.ReadString(lpEmote->szMe);
  57. fEmote.ReadString(lpEmote->szOthers);
  58. }
  59. if(lpEmote->nType & EMT_HAVE_SELF)
  60. {
  61. fEmote.ReadString(lpEmote->szMyself);
  62. fEmote.ReadString(lpEmote->szOtherself);
  63. }
  64. listEmote.AddTail(lpEmote);
  65. }
  66. }
  67. fEmote.Close();
  68. return TRUE;
  69. }
  70. inline CString GetHe(CActiveObject *he)
  71. {
  72. return (he->szSex[0] == 'F')?"