Цитата:
Сообщение от Sandro Half-Dead
Тебе надо ловить время дауна Мелька/Сайта и по этому моменту уже ориентироваться...
|
Я изменил скрипт.
теперь сесии всё равно будут фиксироваться при таком раскладе:
1.Чар вошел.
2.обновление создана открытая игровая сессия
3.обновление без изменений
4.обновление без изменений
...
5.обновление без изменений X
6.мелк упал... обновление отменено....
7.мелк упал... обновление отменено....
8.мелк восстановился
9.обновление успешно:персонаж оффлайн. Будет выставлена сессия с момента открытия по момент Х
при этом для такого расклада
1.Чар вошел.
2.обновление создана открытая игровая сессия
3.обновление без изменений
4.обновление без изменений
...
5.обновление без изменений X
6.мелк упал... обновление отменено....
7.мелк упал... обновление отменено....
8.мелк восстановился
9.чар вошел. Y
10.обновление без изменений (в момент Х время в игре не изменилось, статус тоже)
11.обновление без изменений
...
12.обновление без изменений
13.чар вышел
13.обновление будет закрыта игровая сессия, дата начала останется без изменений, дата конца выставлена на (дата начала + продолжительность сессии) где продолжительность сесии это изменение GameTime = времени прошедшему с момента Y.
невозможность обработать второй случай вызвана невозможностью достоверно определить, что мелк упал.
Этот случай очень трудно отличить от например падения сайта или ошибки маршрутизации моего провайдера, или падения интернета.