Период олимпиады
У меня не знаю как настроено но 1 ого числа не дают хиро. Где настройть период олимпиады- что бы 1 ого числа хиро давали ? =_=
Добавлено через 3 часа 53 минуты Help Guys!! |
Re: Период олимпиады
а меня из - за химии могут к сессии не допустить. Что делать? а.
PS. на будующее говорите хоть что у вас за сборка, старая ли. мб на ней вообще хиро не реализовано и тд тп. невозможно ответить на ваш вопрос не зная ничего. |
Re: Период олимпиады
Вот типа так нада :)) какраз мне нада тоже ...
Сборка Gracia Final СКАЗКА Подскажите пожайлуста ...Как зделать чтобы хиро выдавалося каждую неделю по понедельникам ??? |
Re: Период олимпиады
Попробую объяснить примитивный способ, которым сам пользуюсь, не знаю подойдет ли для твоей сборки.
Суть такова - у меня в базе есть табличка Olympiad_data, в ней соответственно столбец Olympiad_end, там ставится число что-то вроде 1308510200000 (как выяснил опытным путем - это количество милисекунд от 01.01.1970, хз что за дата и почему она берется как отсчет :) ) . Чтобы вычислить, к примеру время 00:00 между воскресеньем и понедельником, я взял дату осады 20:00 этого воскресенья (она тоже в таблицах пишется таким же громадным числом например 1306915200000), затем прибавил к ней 4 часа (это 14400000 милисек) и при выключенном сервере заменил свое число в столбике Olympiad_end с 1308510200000 на 1306929600000. Ну и теперь, каждый раз после обновления героев, я просто прибавляю к этому числу 1306929600000 7 дней (т.е. 604800000 milis) и вписываю в этот столбик при выключенном серве. Для удобства можно сделать автоматический скрипт, но я сам тока учусь всему этому и еще руки не дошли. Но представляю это себе примерно так: Сперва нужно создать новую табличку, например Oly_dates со столбиком Date, куда будет записываться прошлое число смены героев, чтобы каждый раз его не записывать вручную: CREATE TABLE `Oly_dates` ( `date` int(20) NOT NULL default '0', PRIMARY KEY (`date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `Oly_dates` VALUES ('1306929600000'); Затем сделать скрипт (тут я уже не ручаюсь за написанное, пишу чтобы знающие люди подсказали и доработали мою идею, если найдут время :) , т.к. пишу по аналогии с другим скриптом и сам не все понимаю) : $result = mysql_query("SELECT MAX(`date`)+604800000 AS `id` FROM `Oly_dates`"); $row = mysql_fetch_assoc($result); $newdate = $row['id']; mysql_query("UPDATE `Olympiad_data` SET `Olympiad_end` = ".$newdate." ;"); mysql_query("INSERT INTO `Oly_dates` (`date`) VALUES ('".$newdate."')"); В итоге по задумке дата olympiad_end в табличке olympiad_data должна замениться на прошлую+неделя и продублироваться в табличку oly_dates, чтобы потом уже к ней, как последней, прибавлять опять неделю. То что выделено жирным шрифтом проверил лично, работало на сборках L2jserver и подобных, за остальные не ручаюсь, прошу отписаться разбирающихся в подобных вещах людей и по-возможности помочь реализовать. |
Re: Период олимпиады
Дело в том что система олимпа написана и работает через одно место:)
Геройство выдается 1 числа в 12 или 13 часов дня(я непомню уже точно - давно исправил), причем автоматически, а не через столб. |
Re: Период олимпиады
А вот насчет выдачи геройства (именно выдачи, а не конца олимпа) - там же в таблице Olympiad_data есть столбец Validation_end, дак вот это число выставляется само автоматически сразу после окончания периода (о нем написал выше) и зависит от конфига Olympiad.properties, обычно валидация стоит 24 часа, т.е. к Olympiad_end прибавляется 24часа (т.е. 86400000 мсек) автоматом после окончания периода и результат заносится в Validation_end (собсно время выдачи геройства и обнуления очков для нового периода) .
Я сам поставил в конфигах время валидации 5 минут, т.е. олимп тока кончается и через 5 минут уже герои обновляются :) , минус тока в том, что если в эти 5 минут не заскринил для себя очки, то уже не уСПеешь ) . |
Re: Период олимпиады
Цитата:
|
Текущее время: 20:27. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot