ChatHandler.h
上传用户:jxpjxmjjw
上传日期:2009-12-07
资源大小:5877k
文件大小:7k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. ////////////////////////////////////////////////////////////////////// //  ChatHandler // //  Receives all messages with a chat-related opcode. ////////////////////////////////////////////////////////////////////// #ifndef WOWPYTHONSERVER_CHAT_H #define WOWPYTHONSERVER_CHAT_H #include "MsgHandler.h" class ChatHandler; class GameClient; class Character; class Unit;
  2. class ChatHandler;
  3. class ChatCommand
  4. {
  5. public:
  6. const char *       Name;
  7.     uint16             SecurityLevel;
  8.     bool (ChatHandler::*Handler)(uint8* args) ;
  9.     std::string        Help;
  10.     ChatCommand *      ChildCommands;
  11. ChatCommand(){};
  12. ~ChatCommand(){};
  13. void setValues(const char * nme, 
  14.            uint16 sl, 
  15.    bool (ChatHandler::*hnd)(uint8* args), 
  16.    std::string hlp, 
  17.    ChatCommand * cc)
  18. Name=nme;
  19. SecurityLevel=sl; 
  20. Handler=hnd; Help=hlp; 
  21. ChildCommands=cc; 
  22. };
  23. };
  24. class ChatHandler : public MsgHandler {
  25. public:     ChatHandler(){};     ~ChatHandler(){};     void HandleMsg( wowWData & recv_data, GameClient *pClient );     void FillMessageData( wowWData *data, uint8 type, GameClient *pClient, uint8 *text );     void SpawnCreature(GameClient *pClient, char* pName, uint32 display_id, uint32 npcFlags, uint32 faction_id, uint32 level);     void smsg_NewWorld(GameClient *pClient, uint16 c, float x, float y, float z);     void MovePlayer(GameClient *pClient, float x, float y, float z);
  26.     
  27. ChatCommand * ChatHandler::LoadHelp(bool load);
  28. protected:
  29.     bool hasStringAbbr(const char* s1, const char* s2);     void SendMultilineMessage(const char *str);     int ParseCommands(uint8* textCompare, uint16 text_length);     bool ExecuteCommandInTable(ChatCommand *table, uint8* text);     bool ShowHelpForCommand(ChatCommand *table, const char* cmd);     // Level 0 commands     bool HandleHelpCommand(uint8* args);     bool HandleCommandsCommand(uint8* args);     bool HandleNYICommand(uint8* args);     bool HandleAcctCommand(uint8* args);     bool HandleGMLoginCommand(uint8* args);     bool HandleStartCommand(uint8* args);     bool HandleInfoCommand(uint8* args);     bool HandleMountCommand(uint8* args);     bool HandleDismountCommand(uint8* args);     bool HandleSaveCommand(uint8* args);     bool HandleGMListCommand(uint8* args);
  30. bool HandleGMPassCommand(uint8* args); //LINA     // Level 1 commands     bool HandleSummonCommand(uint8* args);     bool HandleAppearCommand(uint8* args);     bool HandleRecallCommand(uint8* args);     bool HandleAnnounceCommand(uint8* args);     bool HandleKickCommand(uint8* args);     bool HandleGMOnCommand(uint8* args);     bool HandleGMOffCommand(uint8* args);     bool HandleGPSCommand(uint8* args);
  31. bool HandleSaveAllCommand(uint8* args); //LINA     bool HandleModifyHPCommand(uint8* args);     bool HandleModifyManaCommand(uint8* args);     bool HandleModifyLevelCommand(uint8* args);     bool HandleModifyGoldCommand(uint8* args);     bool HandleModifySpeedCommand(uint8* args);     bool HandleModifyScaleCommand(uint8* args);     bool HandleModifyMountCommand(uint8* args);
  32. bool HandleModifyWaterSpeedCommand(uint8* args);    /* // Level 2 commands     bool HandleGUIDCommand(uint8* args);     bool HandleNameCommand(uint8* args);     bool HandleProgCommand(uint8* args);     bool HandleItemMoveCommand(uint8* args);     bool HandleSpawnCommand(uint8* args);     bool HandleDeleteCommand(uint8* args);     bool HandleSpellCommand(uint8* args);     bool HandleSpawnTaxiCommand(uint8* args);     bool HandleItemCommand(uint8* args);     bool HandleAddMoveCommand(uint8* args);     bool HandleRandomCommand(uint8* args);     bool HandleRunCommand(uint8* args);     bool HandleChangeLevelCommand(uint8* args);     bool HandleNPCFlagCommand(uint8* args);     bool HandleDisplayIdCommand(uint8* args);     bool HandleFactionIdCommand(uint8* args);
  33. bool HandleRemoveSpellCommand(uint8* args);
  34. bool HandleRemoveItemCommand(uint8* args);
  35. bool HandleAggressiveCommand(uint8* args); */
  36. // Level 2 commands 
  37.     bool HandleGUIDCommand(uint8* args); 
  38.     bool HandleNameCommand(uint8* args); 
  39.     bool HandleProgCommand(uint8* args); 
  40.     bool HandleItemMoveCommand(uint8* args); 
  41.     bool HandleSpawnCommand(uint8* args); 
  42.     bool HandleDeleteCommand(uint8* args); 
  43.     bool HandleSpellCommand(uint8* args); 
  44.     bool HandleSpawnTaxiCommand(uint8* args); 
  45.     bool HandleItemCommand(uint8* args); 
  46.     bool HandleAddMoveCommand(uint8* args); 
  47.     bool HandleRandomCommand(uint8* args); 
  48.     bool HandleRunCommand(uint8* args); 
  49.     bool HandleChangeLevelCommand(uint8* args); 
  50.     bool HandleNPCFlagCommand(uint8* args); 
  51.     bool HandleDisplayIdCommand(uint8* args); 
  52.     bool HandleFactionIdCommand(uint8* args); 
  53.     bool HandleRemoveSpellCommand(uint8* args); 
  54.     bool HandleRemoveItemCommand(uint8* args); 
  55.     bool HandleAggressiveCommand(uint8* args); 
  56.     bool HandleNPCScaleCommand(uint8* args);//THE_WIZARD 
  57.     bool HandleNPChpminCommand(uint8* args);//THE_WIZARD 
  58.     bool HandleNPChpmaxCommand(uint8* args);//THE_WIZARD bool HandleTalantPointsCommand(uint8* args);//THE_WIZARD      // Level 3 commands     bool HandleSecurityCommand(uint8* args);     bool HandleWorldPortCommand(uint8* args);     bool HandleAddSpiritCommand(uint8* args);     bool HandleMoveCommand(uint8* args);     bool HandleLearnCommand(uint8* args);     bool HandleAnimFreqCommand(uint8* args);     bool HandleStandStateCommand(uint8* args);     bool HandleDieCommand(uint8* args); bool HandleReviveCommand(uint8* args);
  59.     bool HandleMorphCommand(uint8* args);     bool HandleAuraCommand(uint8* args);
  60. bool HandleUnBanCommand(uint8* args); //LINA
  61. bool HandleBanCommand(uint8* args); //LINA
  62. bool HandleUpdateCommand(uint8* args);
  63. bool HandleIsleCommand(uint8* args);//LINA
  64. //START OF LINA COMMAND BY PTR PATCH 1.3
  65. int32 ChatHandler::TestValue(const float Value, const float max, const float min);
  66. int32 ChatHandler::TestValue(const uint32 Value, const uint32 max, const uint32 min);
  67. void ChatHandler::ChangeSelectedChar(const uint16 &index, const uint32 Value, const uint32 max, const uint32 min, char * nom);
  68. void ChatHandler::ChangeSelectedChar(const uint16 &index, const float Value, const float max, const float min, char * nom);
  69. void ChatHandler::ChangeSelectedCharMsg(const uint16 &index, const float Value, const float max, const float min, char * nom);
  70. void ChatHandler::ChangeSelectedCharMsg(const uint16 &index, const uint32 Value, const uint32 max, const uint32 min, char * nom);
  71. void ChatHandler::Message(Character * pChar, char * nom, const float Value);
  72. void ChatHandler::Message(Character * pChar, char * nom, const uint32 Value);
  73. void ChatHandler::Message(Character * pChar, char * nom);
  74. Character * ChatHandler::getCurrentCharByName(uint8 * pName);
  75. Character * ChatHandler::getSelectedChar();
  76. Unit * ChatHandler::getSelectedNPC();
  77. void ChatHandler::ChangeSelectedNPC(const uint16 &index, const uint32 Value, const uint32 max, const uint32 min);
  78. //END OF LINA COMMAND BY PTR PATCH 1.3     void GenCreature(GameClient *pClient, uint32 StartId, uint32 EndId , uint32 StepId ); //ELECTRIX ADD     GameClient *m_pClient; }; #endif