diff options
-rw-r--r-- | sql/updates/XXX_world_trinity_string.sql | 35 | ||||
-rw-r--r-- | src/game/Chat.cpp | 3 | ||||
-rw-r--r-- | src/game/Chat.h | 2 | ||||
-rw-r--r-- | src/game/Language.h | 23 | ||||
-rw-r--r-- | src/game/Level1.cpp | 158 | ||||
-rw-r--r-- | src/game/TicketMgr.cpp | 4 |
6 files changed, 154 insertions, 71 deletions
diff --git a/sql/updates/XXX_world_trinity_string.sql b/sql/updates/XXX_world_trinity_string.sql new file mode 100644 index 00000000000..41dd4e8a9d9 --- /dev/null +++ b/sql/updates/XXX_world_trinity_string.sql @@ -0,0 +1,35 @@ +DELETE FROM `trinity_string` WHERE `entry` BETWEEN '288' AND '295'; +DELETE FROM `trinity_string` WHERE `entry` BETWEEN '2000' AND '2029'; +INSERT INTO trinity_string (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES +(2000, '|cff00ff00New ticket from|r|cffff00ff %s.|r |cff00ff00Ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''), +(2001, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00edited his/her ticket:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''), +(2002, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00abandoned ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''), +(2003, '|cff00ff00Closed by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''), +(2004, '|cff00ff00Deleted by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''), +(2005, 'Ticket not found.', '', '', '', '', '', '', '', ''), +(2006, 'Please close ticket before deleting it permanently.', '', '', '', '', '', '', '', ''), +(2007, 'Ticket %d is already assigned.', '', '', '', '', '', '', '', ''), +(2008, '%u Tickets succesfully reloaded from the database.', '', '', '', '', '', '', '', ''), +(2009, 'Showing list of open tickets.', '', '', '', '', '', '', '', ''), +(2010, 'Showing list of open tickets whose creator is online.', '', '', '', '', '', '', '', ''), +(2011, 'Showing list of closed tickets.', '', '', '', '', '', '', '', ''), +(2012, 'Invalid name specified. Name should be that of an online Gamemaster.', '', '', '', '', '', '', '', ''), +(2013, 'This ticket is already assigned to yourself. To unassign use .ticket unassign %d and then reassign.', '', '', '', '', '', '', '', ''), +(2014, 'Ticket %d is not assigned, you cannot unassign it.', '', '', '', '', '', '', '', ''), +(2015, 'You cannot unassign tickets from staffmembers with a higher security level than yourself.', '', '', '', '', '', '', '', ''), +(2016, 'Cannot close ticket %d, it is assigned to another GM.', '', '', '', '', '', '', '', ''), +(2017, '|cff00ff00Ticket|r:|cff00ccff %d.|r ', '', '', '', '', '', '', '', ''), +(2018, '|cff00ff00Created by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''), +(2019, '|cff00ff00Last change|r:|cff00ccff %s ago|r ', '', '', '', '', '', '', '', ''), +(2020, '|cff00ff00Assigned to|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''), +(2021, '|cff00ff00Unassigned by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''), +(2022, '\n|cff00ff00Message|r: \"%s\"|r ', '', '', '', '', '', '', '', ''), +(2023, '\n|cff00ff00Comment|r: \"%s\"|r ', '', '', '', '', '', '', '', ''), +(2024, '\n|cff00ccff%s|r |cff00ff00Added comment|r: \"%s\"|r ', '', '', '', '', '', '', '', ''); +-- (2025, '', '', '', '', '', '', '', '', '') +-- (2026, '', '', '', '', '', '', '', '', '') +-- (2027, '', '', '', '', '', '', '', '', '') +-- (2028, '', '', '', '', '', '', '', '', '') +-- (2029, '', '', '', '', '', '', '', '', '') +DELETE FROM `command` WHERE (`name` LIKE '%ticket closedlist%'); +INSERT INTO `command` (`name`,`security`,`help`) VALUES ('.ticket closedlist','1','Displays a list of closed GM tickets.'); diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 43811f8e3e7..fc25216a55e 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -512,6 +512,7 @@ ChatCommand * ChatHandler::getCommandTable() { "viewname", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByNameCommand, "", NULL }, { "viewid", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByIdCommand, "", NULL }, { "close", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketCloseByIdCommand, "", NULL }, + { "closedlist", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketListClosedCommand, "", NULL }, { "delete", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGMTicketDeleteByIdCommand, "", NULL }, { "assign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketAssignToCommand, "", NULL }, { "unassign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketUnAssignCommand, "", NULL }, @@ -523,7 +524,7 @@ ChatCommand * ChatHandler::getCommandTable() { { "account", SEC_PLAYER, true, NULL, "", accountCommandTable }, { "gm", SEC_MODERATOR, true, NULL, "", gmCommandTable }, - { "ticket", SEC_MODERATOR, true, NULL, "", ticketCommandTable }, + { "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable }, { "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable }, { "go", SEC_MODERATOR, false, NULL, "", goCommandTable }, { "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable }, diff --git a/src/game/Chat.h b/src/game/Chat.h index 39aa3cb025f..1b7224c3f0d 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -68,6 +68,7 @@ class ChatHandler void SendSysMessage( int32 entry); void PSendSysMessage( const char *format, ...) ATTR_PRINTF(2,3); void PSendSysMessage( int32 entry, ... ); + std::string PGetParseString(int32 entry, ...); int ParseCommands(const char* text); @@ -412,6 +413,7 @@ class ChatHandler // GM ticket command handlers bool HandleGMTicketListCommand(const char* args); bool HandleGMTicketListOnlineCommand(const char* args); + bool HandleGMTicketListClosedCommand(const char* args); bool HandleGMTicketGetByIdCommand(const char* args); bool HandleGMTicketGetByNameCommand(const char* args); bool HandleGMTicketCloseByIdCommand(const char* args); diff --git a/src/game/Language.h b/src/game/Language.h index 3875ac092cc..d95489b056f 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -758,23 +758,32 @@ enum TrinityStrings LANG_YOU_CHANGE_GENDER = 1120, LANG_YOUR_GENDER_CHANGED = 1121, - // Ticket Strings 2000-2020 + // Ticket Strings 2000-2029 LANG_COMMAND_TICKETNEW = 2000, - LANG_COMMAND_TICKETUPDATED = 2001, + LANG_COMMAND_TICKETUPDATED = 2001, LANG_COMMAND_TICKETPLAYERABANDON = 2002, LANG_COMMAND_TICKETCLOSED = 2003, LANG_COMMAND_TICKETDELETED = 2004, LANG_COMMAND_TICKETNOTEXIST = 2005, - LANG_COMMAND_TICKETCLOSEFIRST = 2007, - LANG_COMMAND_TICKETALREADYASSIGNED = 2008, - LANG_COMMAND_TICKETRELOAD = 2009, - LANG_COMMAND_TICKETSHOWLIST = 2010, - LANG_COMMAND_TICKETSHOWONLINELIST = 2011, + LANG_COMMAND_TICKETCLOSEFIRST = 2006, + LANG_COMMAND_TICKETALREADYASSIGNED = 2007, + LANG_COMMAND_TICKETRELOAD = 2008, + LANG_COMMAND_TICKETSHOWLIST = 2009, + LANG_COMMAND_TICKETSHOWONLINELIST = 2010, + LANG_COMMAND_TICKETSHOWCLOSEDLIST = 2011, LANG_COMMAND_TICKETASSIGNERROR_A = 2012, LANG_COMMAND_TICKETASSIGNERROR_B = 2013, LANG_COMMAND_TICKETNOTASSIGNED = 2014, LANG_COMMAND_TICKETUNASSIGNSECURITY = 2015, LANG_COMMAND_TICKETCANNOTCLOSE = 2016, + LANG_COMMAND_TICKETLISTGUID = 2017, + LANG_COMMAND_TICKETLISTNAME = 2018, + LANG_COMMAND_TICKETLISTAGE = 2019, + LANG_COMMAND_TICKETLISTASSIGNEDTO = 2020, + LANG_COMMAND_TICKETLISTUNASSIGNED = 2021, + LANG_COMMAND_TICKETLISTMESSAGE = 2022, + LANG_COMMAND_TICKETLISTCOMMENT = 2023, + LANG_COMMAND_TICKETLISTADDCOMMENT = 2024, // Trinity strings 5000-9999 diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index d1f02ad507f..8dacbc4954b 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -267,6 +267,16 @@ bool ChatHandler::HandleGMChatCommand(const char* args) return false; } +std::string ChatHandler::PGetParseString(int32 entry, ...) +{ + const char *format = GetTrinityString(entry); + va_list ap; + char str [1024]; + va_start(ap, entry); + vsnprintf(str,1024,format, ap ); + va_end(ap); + return (std::string)str; +} bool ChatHandler::HandleGMTicketListCommand(const char* args) { SendSysMessage(LANG_COMMAND_TICKETSHOWLIST); @@ -274,18 +284,16 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args) { if((*itr)->closed != 0) continue; - - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString(time(NULL) - (*itr)->timestamp, true, false) << " ago."; - if((*itr)->assignedToGM != 0) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - SendSysMessage(message.str().c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); } return true; } @@ -299,17 +307,38 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args) if((*itr)->closed != 0 || !objmgr.GetPlayer((*itr)->playerGuid)) continue; - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL) - (*itr)->timestamp), true, false) << " ago."; - if((*itr)->assignedToGM != 0 && objmgr.GetPlayer((*itr)->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) + { + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); + } + return true; +} + +bool ChatHandler::HandleGMTicketListClosedCommand(const char* args) +{ + SendSysMessage(LANG_COMMAND_TICKETSHOWCLOSEDLIST); + for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr) + { + if((*itr)->closed == 0) + continue; + + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - SendSysMessage(message.str().c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); } return true; } @@ -327,22 +356,21 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args) return true; } - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago."; - if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - message << "|r\n|cff00ff00Message:|r " << ticket->message; + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str()); if(ticket->comment != "") { - message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment; + ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str()); } - SendSysMessage(message.str().c_str()); + SendSysMessage(ss.str().c_str()); return true; } @@ -358,22 +386,21 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args) return true; } - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago."; - if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - message << "|r\n|cff00ff00Message:|r " << ticket->message; + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str()); if(ticket->comment != "") { - message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment; + ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str()); } - SendSysMessage(message.str().c_str()); + SendSysMessage(ss.str().c_str()); return true; } @@ -394,7 +421,11 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args) PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid); return true; } - sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName(), ticket->guid); + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName()); + SendGlobalGMSysMessage(ss.str().c_str()); ticketmgr.RemoveGMTicket(ticket->guid, m_session->GetPlayer()->GetGUID()); Player *plr = objmgr.GetPlayer(ticket->playerGuid); @@ -457,10 +488,9 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args) ticket->assignedToGM = tarGUID; ticketmgr.UpdateGMTicket(ticket); std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 assigned to:|r "; - ss << "|cffff00ff\"" << gmname << "\"."; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); SendGlobalGMSysMessage(ss.str().c_str()); return true; } @@ -481,7 +511,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) } if(ticket->assignedToGM == 0) { - SendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED); + PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->guid); return true; } @@ -495,9 +525,10 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) } std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 unassigned.|r"; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, cplr->GetName()); SendGlobalGMSysMessage(ss.str().c_str()); ticket->assignedToGM = 0; ticketmgr.UpdateGMTicket(ticket); @@ -530,13 +561,18 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args) return true; } + std::string gmname; + objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); ticket->comment = comment; ticketmgr.UpdateGMTicket(ticket); std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 added comment:|r "; - ss << "|cffff00ff\"" << ticket->comment << "\"."; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) + { + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, cplr->GetName(), ticket->comment.c_str()); SendGlobalGMSysMessage(ss.str().c_str()); return true; } @@ -560,9 +596,9 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args) } std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << m_session->GetPlayer()->GetName() << "|r"; - ss << "|cff00ff00 deleted.|r"; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETDELETED, m_session->GetPlayer()->GetName()); SendGlobalGMSysMessage(ss.str().c_str()); Player *plr = objmgr.GetPlayer(ticket->playerGuid); ticketmgr.DeleteGMTicketPermanently(ticket->guid); diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp index 1e28c2a2ec1..111e1ed27ad 100644 --- a/src/game/TicketMgr.cpp +++ b/src/game/TicketMgr.cpp @@ -111,7 +111,7 @@ void TicketMgr::LoadGMTickets() InitTicketID(); // Delete all out of object holder GM_TicketList.clear(); - QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets` WHERE `closed` = '0'" ); + QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" ); GM_Ticket *ticket; if(!result) @@ -197,7 +197,7 @@ void TicketMgr::InitTicketID() QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets"); if(result) { - m_ticketid = result->Fetch()[0].GetUInt64() + 1; + m_ticketid = result->Fetch()[0].GetUInt64(); delete result; } } |