Advertisement
Guest User

oxevent.h

a guest
Jan 24th, 2021
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1.  
  2. #define OXEVENT_MAP_INDEX 113
  3.  
  4. #include "MultiLanguage.h"
  5.  
  6. enum OXEventStatus
  7. {
  8. OXEVENT_FINISH = 0, // OX이벤트가 완전히 끝난 상태
  9. OXEVENT_OPEN = 1, // OX이벤트가 시작됨. 을두지(20012)를 통해서 입장가능
  10. OXEVENT_CLOSE = 2, // OX이벤트의 참가가 끝남. 을두지(20012)를 통한 입장이 차단됨
  11. OXEVENT_QUIZ = 3, // 퀴즈를 출제함.
  12.  
  13. OXEVENT_ERR = 0xff
  14. };
  15.  
  16. class COXEventManager : public singleton<COXEventManager>
  17. {
  18. private :
  19. std::map<DWORD, DWORD> m_map_char;
  20. std::map<DWORD, DWORD> m_map_attender;
  21. std::map<DWORD, DWORD> m_map_miss;
  22.  
  23. std::vector<std::vector<tag_Quiz> > m_vec_quiz;
  24.  
  25. LPEVENT m_timedEvent;
  26.  
  27. protected :
  28. bool CheckAnswer();
  29.  
  30. bool EnterAudience(LPCHARACTER pChar);
  31. bool EnterAttender(LPCHARACTER pChar);
  32.  
  33. public :
  34. bool Initialize();
  35. void Destroy();
  36.  
  37. OXEventStatus GetStatus();
  38. void SetStatus(OXEventStatus status);
  39.  
  40. bool LoadQuizScript(const char* szFileName);
  41.  
  42. bool Enter(LPCHARACTER pChar);
  43.  
  44. bool CloseEvent();
  45.  
  46. void ClearQuiz();
  47. bool AddQuiz(const char* pszLanguage, const char* pszQuestion, bool answer);
  48. bool ShowQuizList(LPCHARACTER pChar);
  49.  
  50. bool IsLoadedQuizFiles();
  51. bool Quiz(int iTimeLimit);
  52. bool GiveItemToAttender(DWORD dwItemVnum, BYTE count);
  53.  
  54. bool CheckAnswer(bool answer);
  55. void WarpToAudience();
  56.  
  57. bool LogWinner();
  58.  
  59. DWORD GetAttenderCount() { return m_map_attender.size(); }
  60.  
  61. // Ox-event IP-Checker
  62. public:
  63. bool CheckIpAddress(LPCHARACTER ch);
  64. void RemoveFromAttenderList(DWORD dwPID);
  65. };
  66.  
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement