Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- #include "Chat.h"
- /* SQL
- DROP TABLE IF EXISTS `report_bg`;
- CREATE TABLE IF NOT EXISTS `report_bg` (
- `TicketID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `Name` varchar(10) NOT NULL,
- `GUID` int(10) unsigned NOT NULL,
- `Report` text,
- `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `Solved` tinyint(1) NOT NULL DEFAULT '0',
- `Unk` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`TicketID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
- DROP TABLE IF EXISTS `report_general`;
- CREATE TABLE IF NOT EXISTS `report_general` (
- `TicketID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `Name` varchar(10) NOT NULL,
- `GUID` int(10) unsigned NOT NULL,
- `Report` text,
- `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `Solved` tinyint(1) NOT NULL DEFAULT '0',
- `Unk` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`TicketID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
- DROP TABLE IF EXISTS `report_object`;
- CREATE TABLE IF NOT EXISTS `report_object` (
- `TicketID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `Name` varchar(10) NOT NULL,
- `GUID` int(10) unsigned NOT NULL,
- `Report` text,
- `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `Solved` tinyint(1) NOT NULL DEFAULT '0',
- `Unk` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`TicketID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
- DROP TABLE IF EXISTS `report_quest`;
- CREATE TABLE IF NOT EXISTS `report_quest` (
- `TicketID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `Name` varchar(10) NOT NULL,
- `GUID` int(10) unsigned NOT NULL,
- `Report` text,
- `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `Solved` tinyint(1) NOT NULL DEFAULT '0',
- `Unk` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`TicketID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
- DROP TABLE IF EXISTS `report_spell`;
- CREATE TABLE IF NOT EXISTS `report_spell` (
- `TicketID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `Name` varchar(10) NOT NULL,
- `GUID` int(10) unsigned NOT NULL,
- `Report` text,
- `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `Solved` tinyint(1) NOT NULL DEFAULT '0',
- `Unk` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`TicketID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
- */
- class BugReport_commandscript : public CommandScript
- {
- public:
- BugReport_commandscript() : CommandScript("BugReport_commandscript") { }
- ChatCommand* GetCommands() const
- {
- static ChatCommand BugReportCommandTable[] =
- {
- { "object", SEC_PLAYER, false, &HandleReportObjectCommand, "", NULL },
- { "spell", SEC_PLAYER, false, &HandleReportSpellCommand, "", NULL },
- { "quest", SEC_PLAYER, false, &HandleReportQuestCommand, "", NULL },
- { "bg", SEC_PLAYER, false, &HandleReportBgCommand, "", NULL },
- { "general", SEC_PLAYER, false, &HandleReportGeneralCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
- };
- static ChatCommand commandTable[] =
- {
- { "bugreport", SEC_PLAYER, false, NULL, "", BugReportCommandTable },
- { NULL, 0, false, NULL, "", NULL }
- };
- return commandTable;
- }
- static void Execute(const char* DB, WorldSession * Session, const char* args)
- {
- Player* pPlayer = Session->GetPlayer();
- if (pPlayer)
- {
- WorldDatabase.PExecute("INSERT INTO `%s` (`Name`, `GUID`, `Unk`, `Report`) VALUES (\"%s\", %u, \"%s\", \"%s\")", DB, pPlayer->GetName(), pPlayer->GetGUID(), (char*)args, (char*)args);
- Session->SendAreaTriggerMessage("Your bugreport has been succesfully saved");
- }
- }
- static bool HandleReportObjectCommand(ChatHandler* handler, const char* args)
- {
- if(!*args)
- return false;
- Execute("report_object", handler->GetSession(), args);
- return true;
- }
- static bool HandleReportSpellCommand(ChatHandler* handler, const char* args)
- {
- if(!*args)
- return false;
- Execute("report_spell", handler->GetSession(), args);
- return true;
- }
- static bool HandleReportQuestCommand(ChatHandler* handler, const char* args)
- {
- if(!*args)
- return false;
- Execute("report_quest", handler->GetSession(), args);
- return true;
- }
- static bool HandleReportBgCommand(ChatHandler* handler, const char* args)
- {
- if(!*args)
- return false;
- Execute("report_bg", handler->GetSession(), args);
- return true;
- }
- static bool HandleReportGeneralCommand(ChatHandler* handler, const char* args)
- {
- if(!*args)
- return false;
- Execute("report_general", handler->GetSession(), args);
- return true;
- }
- };
- void AddSC_BugReport_commandscript()
- {
- new BugReport_commandscript();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement