Core/Guilds: Fix Guild bank event log for big stacks, fixes issue 3996, thanks maketheking for pointing out the problem

--HG--
branch : trunk
This commit is contained in:
Shocker
2010-09-13 22:41:32 +03:00
parent a48923ee8c
commit de9ed810ef
4 changed files with 7 additions and 6 deletions

View File

@@ -1449,7 +1449,7 @@ CREATE TABLE `guild_bank_eventlog` (
`EventType` tinyint(3) unsigned NOT NULL default '0' COMMENT 'Event type',
`PlayerGuid` int(11) unsigned NOT NULL default '0',
`ItemOrMoney` int(11) unsigned NOT NULL default '0',
`ItemStackCount` tinyint(3) unsigned NOT NULL default '0',
`ItemStackCount` smallint(4) unsigned NOT NULL default '0',
`DestTabId` tinyint(1) unsigned NOT NULL default '0' COMMENT 'Destination Tab Id',
`TimeStamp` bigint(20) unsigned NOT NULL default '0' COMMENT 'Event UNIX time',
PRIMARY KEY (`guildid`,`LogGuid`,`TabId`),

View File

@@ -0,0 +1 @@
ALTER TABLE `guild_bank_eventlog` CHANGE `ItemStackCount` `ItemStackCount` SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL;

View File

@@ -1450,7 +1450,7 @@ void Guild::LoadGuildBankEventLogFromDB()
NewEvent.EventType = fields[1].GetUInt8();
NewEvent.PlayerGuid = fields[2].GetUInt32();
NewEvent.ItemOrMoney = fields[3].GetUInt32();
NewEvent.ItemStackCount = fields[4].GetUInt8();
NewEvent.ItemStackCount = fields[4].GetUInt16();
NewEvent.DestTabId = fields[5].GetUInt8();
NewEvent.TimeStamp = fields[6].GetUInt64();
@@ -1497,7 +1497,7 @@ void Guild::LoadGuildBankEventLogFromDB()
NewEvent.EventType = fields[1].GetUInt8();
NewEvent.PlayerGuid = fields[2].GetUInt32();
NewEvent.ItemOrMoney = fields[3].GetUInt32();
NewEvent.ItemStackCount = fields[4].GetUInt8();
NewEvent.ItemStackCount = fields[4].GetUInt16();
NewEvent.DestTabId = fields[5].GetUInt8();
NewEvent.TimeStamp = fields[6].GetUInt64();
@@ -1553,7 +1553,7 @@ void Guild::DisplayGuildBankLogs(WorldSession *session, uint8 TabId)
sLog.outDebug("WORLD: Sent (MSG_GUILD_BANK_LOG_QUERY)");
}
void Guild::LogBankEvent(SQLTransaction& trans, uint8 EventType, uint8 TabId, uint32 PlayerGuidLow, uint32 ItemOrMoney, uint8 ItemStackCount, uint8 DestTabId)
void Guild::LogBankEvent(SQLTransaction& trans, uint8 EventType, uint8 TabId, uint32 PlayerGuidLow, uint32 ItemOrMoney, uint16 ItemStackCount, uint8 DestTabId)
{
//create Event
GuildBankEventLogEntry NewEvent;

View File

@@ -216,7 +216,7 @@ struct GuildBankEventLogEntry
uint8 EventType;
uint32 PlayerGuid;
uint32 ItemOrMoney;
uint8 ItemStackCount;
uint16 ItemStackCount;
uint8 DestTabId;
uint64 TimeStamp;
@@ -428,7 +428,7 @@ class Guild
// Guild Bank Event Logs
void LoadGuildBankEventLogFromDB();
void DisplayGuildBankLogs(WorldSession *session, uint8 TabId);
void LogBankEvent(SQLTransaction& trans, uint8 EventType, uint8 TabId, uint32 PlayerGuidLow, uint32 ItemOrMoney, uint8 ItemStackCount=0, uint8 DestTabId=0);
void LogBankEvent(SQLTransaction& trans, uint8 EventType, uint8 TabId, uint32 PlayerGuidLow, uint32 ItemOrMoney, uint16 ItemStackCount=0, uint8 DestTabId=0);
bool AddGBankItemToDB(uint32 GuildId, uint32 BankTab , uint32 BankTabSlot , uint32 GUIDLow, uint32 Entry, SQLTransaction& trans);
protected: