Jump to content

[fixed][Bug] Wrong reset time for Heroic Dungeons


Recommended Posts

Posted

Hello :).

Mangos Version: 10348

Custom Patches: a few ones, but not related

Database Name and Version : UDB 392

How it SHOULD work: Heroic Dungeons should reset after 24 hours max.

How it DOES work: Heroic Dungeons reset after a week.

If anyone has a clue about this (or if this is normal :o ), please help us.

Thanks,

Tom.

Posted

o.0 i thougth that this bug was fixed, i post it at rev 10100+ think, at mangos.conf we can configure the time to reset but like sytaria say the reset time is totally wrong also the raids. hope devs can fix it soon as possible

Posted

It seems to have a few constant expiry dates it's pulling out from somewhere. They are:

1996200000

2200881600

4450651200

It's also failing to assign instance reset times ("instance locks are scheduled to expire in ."), which may be the cause of this problem?

Posted

Just a few notes :

InstanceSaveMgr.cpp, line 233 and 640 :

uint32 period =  uint32(mapDiff->resetTime / DAY * sWorld.getConfig(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME)) * DAY;
...
uint32 period = mapDiff->resetTime * DAY;

When you replace that by something constant like :

uint32 period = 5 * DAY;

All works correctly.

So I think there's something wrong with mapDiff->resetTime...but it's DBC data :/

Posted

@Toinan67

The only other option is that

sWorld.getConfig(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME)

is a negative value...so yeah i think you're right and the problem lies with mapDiff->resetTime ;)

Posted

have this problem occured after switch to 3.3.5a? If yes, then maybe that blue guys changed DBC values for reset time of instances (mapDiff->resetTime) from number of days to something different, like number of hours, or minutes? Maybe this is where this huge numbers come from.

Posted

no, the DBC file are ok as far as I can see - 1day or 1 week in seconds

also the config float is correct with default == 1, and if not set I think it will be 0.0, so the period will be set to 1 DAY (line 230, which also is correct I think

I think you must focus on any "-" calculations in the different places there is something to reset time related, like

ScheduleReset(true, resetTime - resetEventTypeDelay[event.type], event);

resetTime might be zero for some dungeons, so there might be a check missing

Edit: If I am not mistaken, the code in line 640 should also be modified along the config Var

Edit2: line 640 is _wrong_ in any case: uint32 period = mapDiff->resetTime * DAY;

with the 5man hero we multiply DAY*DAY as period, instead of DAY ;)

Posted

Hmmm that can actually make a problem...

In that case we would have a period of 7 464 960 000 seconds, instead of 86 400. A bit too much :)

-    uint32 period = mapDiff->resetTime * DAY;
+    uint32 period = uint32(mapDiff->resetTime / DAY * sWorld.getConfig(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME)) * DAY;

Maybe?...

Or at least :

-    uint32 period = mapDiff->resetTime * DAY;
+    uint32 period = mapDiff->resetTime;

Posted

-    uint32 period = mapDiff->resetTime * DAY;
+    uint32 period = mapDiff->resetTime;

it work for me but i haven't mangos just emulator based of old mangos with some personnal add.

i don't know if work with actual mangos

Posted

Bumping this caus isnt fixed.

Core Rev: 10408

Sd2: 1792

Custom Pach: Only Armory Stuff from shadez dont think this has some effect on the problem.

Problems:

1) when you enter in a instance the text msg " Welcome To ( Instance Name)(5 Player Heroic). Instance Lock are Sheduled to expire in. ( Here Should Appear the time left for reset) "

1.a) The time is set at mangos.conf the hour for the instance reset. i have it at 4am so if the current time is 11pm. should say " Expire in. 5 Hours".

Photo Problem 1:

sinttulo23i.th.png

2) At raid Info Tab the time for expired time doesnt appear now, not sure if here should appear the time that we set in mangos.conf like a said if i set it to 4am maybe should appear Expired time 4am or like before the time left for reset. will confirm this latter.

3) When i use the .instance listbinds i see that the time for the instance expired is ( 341315days ) Lot of days.

Here an image.

Photo Problem 2 & 3.

sinttuloye.th.png

Plz review this, and try to get it fixed soon as possible :(

Posted
test again with cleaned source and cleaned DB - no problem for me with 10406 and UDB 392

due that the main problem that i got, was solved cleaning some tabs of the db like schormooz said i make a new threat with the rest of errors or bugs.

×
×
  • 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