*Cleanup, add two new functions, attempt to fix arena point flushing for offline players.

--HG--
branch : trunk
This commit is contained in:
maximius
2009-09-30 03:29:08 -07:00
parent 693251497a
commit f0d5924891
4 changed files with 38 additions and 9 deletions

View File

@@ -21,6 +21,9 @@
#include "DatabaseEnv.h"
#include "Config/ConfigEnv.h"
#include "Common.h"
#include "../../game/UpdateFields.h"
#include <ctime>
#include <iostream>
#include <fstream>
@@ -172,6 +175,26 @@ bool Database::PExecute(const char * format,...)
return Execute(szQuery);
}
bool Database::_UpdateDataBlobValue(const uint32 guid, const uint32 field, const uint32 value)
{
return PExecute(
"UPDATE characters SET data="
"CONCAT(SUBSTRING_INDEX(`data`,' ',%u),' ',"
"SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',%u),' ',-1)+%u,"
"' ',SUBSTRING_INDEX(`data`,' ',%u)) WHERE guid=%u",
field, field+1, value, -int32(PLAYER_END-field)-1, guid);
}
bool Database::_SetDataBlobValue(const uint32 guid, const uint32 field, const uint32 value)
{
return PExecute(
"UPDATE characters SET data="
"CONCAT(SUBSTRING_INDEX(`data`,' ',%u),' ',"
"%u,' ',SUBSTRING_INDEX(`data`,' ',%u)),"
"WHERE guid=%u",
field, field+1, value, -int32(PLAYER_END-field)-1, guid);
}
bool Database::DirectPExecute(const char * format,...)
{
if (!format)