Jump to content

Artkeep

Members
  • Posts

    16
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Artkeep's Achievements

Member

Member (2/3)

0

Reputation

  1. I've had problems with incorrect data, now everything works
  2. Compare these do you have data?
  3. The same problem, fault maps, have any ideas?
  4. UP !!!! Solution is for Linux?
  5. diff --git a/src/game/InstanceSaveMgr.cpp b/src/game/InstanceSaveMgr.cpp index 289ea07..e67e0a8 100644 --- a/src/game/InstanceSaveMgr.cpp +++ b/src/game/InstanceSaveMgr.cpp @@ -501,9 +501,10 @@ void InstanceSaveManager::LoadResetTimes() // schedule the global reset/warning uint8 type = 1; static int tim[4] = {3600, 900, 300, 60}; - for(; type < 4; type++) + for(type; type < 4; type++) if(t - tim[type-1] > now) break; + ScheduleReset(true, t - tim[type-1], InstResetEvent(type, mapid, difficulty, -1)); for(ResetTimeMapDiffInstances::const_iterator in_itr = mapDiffResetInstances.lower_bound(map_diff_pair); in_itr != mapDiffResetInstances.upper_bound(map_diff_pair); ++in_itr) @@ -610,6 +611,7 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b return; time_t now = time(NULL); + time_t today = (now / DAY) * DAY; if (!warn) { @@ -638,11 +640,16 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b // calculate the next reset time uint32 diff = sWorld.getConfig(CONFIG_UINT32_INSTANCE_RESET_TIME_HOUR) * HOUR; - uint32 period = mapDiff->resetTime * DAY; + uint32 period = uint32(mapDiff->resetTime / DAY * sWorld.getConfig(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME)) * DAY; + if (period < DAY) + period = DAY; time_t next_reset = ((now + timeLeft + MINUTE) / DAY * DAY) + period + diff; + SetResetTimeFor(mapid, difficulty, next_reset); + ScheduleReset(true, time_t(next_reset-3600), InstResetEvent(1, mapid, difficulty, -1)); // update it in the DB CharacterDatabase.PExecute("UPDATE instance_reset SET resettime = '"UI64FMTD"' WHERE mapid = '%d' AND difficulty = '%d'", (uint64)next_reset, mapid, difficulty); - } + SetResetTimeFor(mapid,difficulty,(uint64)next_reset); + ScheduleReset(true, next_reset-3600, InstResetEvent(1, mapid, difficulty, -1)); } // note: this isn't fast but it's meant to be executed very rarely Map const *map = sMapMgr.CreateBaseMap(mapid); // _not_ include difficulty Compiles.This fix works only Win, on Unix bug remains
  6. This bug is Unix only. Help!
  7. decision? http://github.com/mangos/mangos/commit/cf4bec609ed00a8f2edfb4b3e1fd699c2d029980
  8. code fix i'm not test diff --git a/src/game/InstanceSaveMgr.cpp b/src/game/InstanceSaveMgr.cpp index 81aca01..f408079 100644 --- a/src/game/InstanceSaveMgr.cpp +++ b/src/game/InstanceSaveMgr.cpp @@ -475,7 +475,9 @@ void InstanceSaveManager::LoadResetTimes() continue; // the reset_delay must be at least one day - uint32 period = (mapDiff->resetTime / DAY * sWorld.getRate(RATE_INSTANCE_RESET_TIME)) * DAY; + uint32 period = ((mapDiff->resetTime * sWorld.getRate(RATE_INSTANCE_RESET_TIME))/DAY) * DAY; + if (period < DAY) + period = DAY; time_t t = GetResetTimeFor(mapid,difficulty); if(!t) @@ -503,6 +505,8 @@ void InstanceSaveManager::LoadResetTimes() if(t - tim[type-1] > now) break; + ScheduleReset(true, t - tim[type-1], InstResetEvent(type, mapid, difficulty, -1)); + for(ResetTimeMapDiffInstances::const_iterator in_itr = mapDiffResetInstances.lower_bound(map_diff_pair); in_itr != mapDiffResetInstances.upper_bound(map_diff_pair); ++in_itr) { @@ -636,8 +640,14 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b // calculate the next reset time uint32 diff = sWorld.getConfig(CONFIG_INSTANCE_RESET_TIME_HOUR) * HOUR; - uint32 period = mapDiff->resetTime * DAY; + uint32 period = ((mapDiff->resetTime * sWorld.getRate(RATE_INSTANCE_RESET_TIME))/DAY) * DAY; + if (period < DAY) + period = DAY; uint64 next_reset = ((now + timeLeft + MINUTE) / DAY * DAY) + period + diff; + + SetResetTimeFor(mapid, difficulty, next_reset); + ScheduleReset(true, time_t(next_reset-3600), InstResetEvent(1, mapid, difficulty, -1)); + // update it in the DB CharacterDatabase.PExecute("UPDATE instance_reset SET resettime = '"UI64FMTD"' WHERE mapid = '%d' AND difficulty = '%d'", next_reset, mapid, difficulty); }
  9. confirm 9424 Ytdb 535 SD1586 Debianx64
  10. Please make Diff patch for 3.2.2. my mistakes
  11. ooo good thx No Edit realmlist.wtf automatically
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use