diff options
-rw-r--r-- | sql/base/characters_database.sql | 2 | ||||
-rw-r--r-- | sql/updates/9758_characters_game_event_save.sql | 4 | ||||
-rw-r--r-- | src/server/game/Events/GameEventMgr.cpp | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql index 591e15ff14c..a03fbddb23b 100644 --- a/sql/base/characters_database.sql +++ b/sql/base/characters_database.sql @@ -1213,7 +1213,7 @@ DROP TABLE IF EXISTS `game_event_save`; CREATE TABLE `game_event_save` ( `event_id` mediumint(8) unsigned NOT NULL, `state` tinyint(3) unsigned NOT NULL default '1', - `next_start` timestamp NOT NULL default '0000-00-00 00:00:00', + `next_start` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`event_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/sql/updates/9758_characters_game_event_save.sql b/sql/updates/9758_characters_game_event_save.sql new file mode 100644 index 00000000000..593840fd88c --- /dev/null +++ b/sql/updates/9758_characters_game_event_save.sql @@ -0,0 +1,4 @@ +ALTER TABLE `game_event_save` ADD `next_start_timestamp` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0'; +UPDATE `game_event_save` SET `next_start_timestamp` = UNIX_TIMESTAMP(`next_start`); +ALTER TABLE `game_event_save` DROP `next_start`; +ALTER TABLE `game_event_save` CHANGE `next_start_timestamp` `next_start` BIGINT(11) UNSIGNED NOT NULL DEFAULT '0'; diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 6d1976bd4b8..096634ad3ff 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -278,8 +278,8 @@ void GameEventMgr::LoadFromDB() sLog.outString("Loading Game Event Saves Data..."); - // 0 1 2 - result = CharacterDatabase.Query("SELECT event_id, state, UNIX_TIMESTAMP(next_start) FROM game_event_save"); + // 0 1 2 + result = CharacterDatabase.Query("SELECT event_id, state, next_start FROM game_event_save"); count = 0; if (!result) @@ -1676,9 +1676,9 @@ void GameEventMgr::SaveWorldEventStateToDB(uint16 event_id) SQLTransaction trans = CharacterDatabase.BeginTransaction(); trans->PAppend("DELETE FROM game_event_save WHERE event_id = '%u'",event_id); if (mGameEvent[event_id].nextstart) - trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u',FROM_UNIXTIME("UI64FMTD"))",event_id,mGameEvent[event_id].state,(uint64)(mGameEvent[event_id].nextstart)); + trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u', "UI64FMTD")",event_id,mGameEvent[event_id].state,(uint64)(mGameEvent[event_id].nextstart)); else - trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u','0000-00-00 00:00:00')",event_id,mGameEvent[event_id].state); + trans->PAppend("INSERT INTO game_event_save (event_id, state, next_start) VALUES ('%u','%u','0')",event_id,mGameEvent[event_id].state); CharacterDatabase.CommitTransaction(trans); } |