Вообщем ситуация с регистрацией пьедестала такая. При его зажатии начинается 30 секундный отсчет времени. Если вы простояли 30 секунд, тогда пьедестал успешно зарегистрирован для вашей гильдии.
Теперь самое интересное, время для успешной регистрации высчитывается из двух переменных accumulated (накопленный) и now (в данный момент).
Соответственно при удержании пьедестала каждую секунду проверяется условие if
(accumulated + now >= 30). И только в случае, если это условие выполнилось, пьедестал будет успешно зарегистрирован. Это значит, что при проверке учитывается также уже накопленное время.
К примеру у вас 0 секунд накопленного времени и вы начали удерживать пьедестал. Каждую секунду сервер прибавляет к now 1 секунду и проверяет описанное выше услование.
Пример:
if (0 + 1 >= 30) => false
if (0 + 2 >= 30) => false
if (0 + 3 >= 30) => false
if (0 + 4 >= 30) => false
if (0 + 5 >= 30) => falseЕсли на 5 секунде вы были сброшены с пьедестала, тогда сервер записывает 5 секунд в переменную accumulated. При каждом сбросе с пьедестала ваше накопленное время штрафуется 4 секундами, если оно больше 4 секунд. Таким образом теперь у вас накоплена 1 секунда. Ниже приведены расчеты.
Пример:
if (1 + 1 >= 30) => false
if (1 + 2 >= 30) => false
if (1 + 3 >= 30) => false
if (1 + 4 >= 30) => false
if (1 + 5 >= 30) => falseСтоит также заметить, что вы 100% теряете накопленное время, если удерживаете пьедестал менее 4 секунд, потому что отнимается больше, чем вы получаете.
Далее привожу логи сервера с комментариями:
"Ситуация со стороны Vimpel"// На начало удерживания у Vimpel уже накоплена 21 секунда
21:38:38 [CastleSiege] [Reg. Attempt] Accumulated Crown AccessTime : accumulated(21000) + now(0) [Faza](Vimpel)
// 1 секунда удержания - Прибавляется 1 секунда к now
21:38:39 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(21000) + now(1000) [Faza](Vimpel)
// 2 секунда удержания - Прибавляется 1 секунда к now
21:38:39 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(21000) + now(2000) [Faza](Vimpel)
// 3 секунды удержания - Vimpel был сброшен с пьедестала и получил 4 штрафных секунды. 21 + 2 - 4, итого 19 секунд
21:38:40 [CastleSiege] [Reg. Fail] Accumulated Crown AccessTime : 19000 [Faza](Vimpel)
Можно сделать вывод, что Vimpel за эту попытку потерял 1 накопленную секунду.
"Ситуация со стороны "KING"// На начало удерживания у KING накоплено 0 секунд
22:25:12 [CastleSiege] [Reg. Attempt] Accumulated Crown AccessTime : accumulated(0) + now(0) [PHOENIX](KING)
// 1 секунда удержания - Прибавляется 1 секунда к now
22:25:13 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(1000) [PHOENIX](KING)
// 2 секунда удержания - Прибавляется 1 секунда к now
22:25:14 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(2000) [PHOENIX](KING)
// 3 секунда удержания - Прибавляется 1 секунда к now
22:25:15 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(3000) [PHOENIX](KING)
// 4 секунда удержания - Прибавляется 1 секунда к now
22:25:16 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(4000) [PHOENIX](KING)
// 5 секунда удержания - Прибавляется 1 секунда к now
22:25:17 [CastleSiege] [Reg. Accumulating] Accumulated Crown AccessTime : accumulated(0) + now(5000) [PHOENIX](KING)
// 6 секунда удержания - KING был сброшен с пьедестала и получил 4 штрафных секунды. 0 + 5 - 4, итого 1 секунда
22:25:18 [CastleSiege] [Reg. Fail] Accumulated Crown AccessTime : 1000 [PHOENIX](KING)
Можно сделать вывод, что KING за эту попытку получил 1 накопленную секунду.
Такая система регистрации пьедестала используется на всех покупных MuOnline файлых от SCFMT вплоть до 3 сезона. Изменить принцип регистрации на данный момент невозможно.
Прошу заметить, что накопленное время применимо к обоим сторонам захвата, все справедливо!
Надеюсь теперь все стало на свои места.