diff options
author | Machiavelli <none@none> | 2009-04-14 17:48:58 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-04-14 17:48:58 +0200 |
commit | ecbaf6483d453e0d80ab0b24f27232fbda1a3c4c (patch) | |
tree | ba5ec002452215e375dcb6f367adf98c57f0b46b /src/game/TicketMgr.cpp | |
parent | e7ac066211a25d90039695badb0d9724fa610256 (diff) |
* Ticket system update;
- Add map, x, y, z coordinate data to ticket upon creation
- Add command .go ticket to teleport to the coordinates where the ticket was created
- Move InitTicketID() to the class constructor instead of at every LoadGMTickets call
- Minor code cleanup
--HG--
branch : trunk
Diffstat (limited to 'src/game/TicketMgr.cpp')
-rw-r--r-- | src/game/TicketMgr.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp index 3b6050d468b..7335b3a3067 100644 --- a/src/game/TicketMgr.cpp +++ b/src/game/TicketMgr.cpp @@ -92,13 +92,9 @@ void TicketMgr::DeleteGMTicketPermanently(uint64 ticketGuid) for(GmTicketList::iterator i = GM_TicketList.begin(); i != GM_TicketList.end();) { if((*i)->guid == ticketGuid) - { i = GM_TicketList.erase(i); - } else - { ++i; - } } // delete database record @@ -108,10 +104,9 @@ void TicketMgr::DeleteGMTicketPermanently(uint64 ticketGuid) void TicketMgr::LoadGMTickets() { - InitTicketID(); // Delete all out of object holder GM_TicketList.clear(); - QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `createtime`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" ); + QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `createtime`, `map`, `posX`, `posY`, `posZ`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" ); GM_Ticket *ticket; if(!result) @@ -127,10 +122,13 @@ void TicketMgr::LoadGMTickets() ticket->name = fields[2].GetString(); ticket->message = fields[3].GetString(); ticket->createtime = fields[4].GetUInt64(); - ticket->timestamp = fields[5].GetUInt64(); - ticket->closed = fields[6].GetUInt64(); - ticket->assignedToGM = fields[7].GetUInt64(); - ticket->comment = fields[8].GetString(); + ticket->pos_x = fields[5].GetFloat(); + ticket->pos_y = fields[6].GetFloat(); + ticket->pos_z = fields[7].GetFloat(); + ticket->timestamp = fields[8].GetUInt64(); + ticket->closed = fields[9].GetUInt64(); + ticket->assignedToGM = fields[10].GetUInt64(); + ticket->comment = fields[11].GetString(); AddGMTicket(ticket, true); @@ -173,12 +171,16 @@ void TicketMgr::SaveGMTicket(GM_Ticket* ticket) std::string msg = ticket->message; CharacterDatabase.escape_string(msg); std::stringstream ss; - ss << "REPLACE INTO `gm_tickets` (`guid`, `playerGuid`, `name`, `message`, `createtime`, `timestamp`, `closed`, `assignedto`, `comment`) VALUES('"; + ss << "REPLACE INTO `gm_tickets` (`guid`, `playerGuid`, `name`, `message`, `createtime`, `map`, `posX`, `posY`, `posZ`, `timestamp`, `closed`, `assignedto`, `comment`) VALUES('"; ss << ticket->guid << "', '"; ss << ticket->playerGuid << "', '"; ss << ticket->name << "', '"; ss << msg << "', '" ; ss << ticket->createtime << "', '"; + ss << ticket->map << "', '"; + ss << ticket->pos_x << "', '"; + ss << ticket->pos_y << "', '"; + ss << ticket->pos_z << "', '"; ss << ticket->timestamp << "', '"; ss << ticket->closed << "', '"; ss << ticket->assignedToGM << "', '"; |