atcommand.hpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL
  2. // For more information, see LICENCE in the main folder
  3. #ifndef ATCOMMAND_HPP
  4. #define ATCOMMAND_HPP
  5. #include <common/cbasetypes.hpp>
  6. #include <common/mmo.hpp>
  7. class map_session_data;
  8. //global var
  9. extern char atcommand_symbol;
  10. extern char charcommand_symbol;
  11. extern int atcmd_binding_count;
  12. enum AtCommandType : uint8 {
  13. COMMAND_ATCOMMAND = 1,
  14. COMMAND_CHARCOMMAND = 2,
  15. } ;
  16. typedef int (*AtCommandFunc)(const int fd, map_session_data* sd, const char* command, const char* message);
  17. bool is_atcommand(const int fd, map_session_data* sd, const char* message, int type);
  18. void do_init_atcommand(void);
  19. void do_final_atcommand(void);
  20. void atcommand_db_load_groups();
  21. bool atcommand_exists(const char* name);
  22. // @commands (script based)
  23. struct atcmd_binding_data {
  24. char command[50];
  25. char npc_event[EVENT_NAME_LENGTH];
  26. int level;
  27. int level2;
  28. };
  29. extern struct atcmd_binding_data** atcmd_binding;
  30. struct atcmd_binding_data* get_atcommandbind_byname(const char* name);
  31. #endif /* ATCOMMAND_HPP */