mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
fixes for the ticket system
--HG-- branch : trunk
This commit is contained in:
@@ -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))
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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))
|
||||
{
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user