Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   Период олимпиады (https://forum.zone-game.info/showthread.php?t=14405)

MarshalRotar 01.06.2011 12:02

Период олимпиады
 
У меня не знаю как настроено но 1 ого числа не дают хиро. Где настройть период олимпиады- что бы 1 ого числа хиро давали ? =_=

Добавлено через 3 часа 53 минуты
Help Guys!!

krisadr 01.06.2011 17:41

Re: Период олимпиады
 
а меня из - за химии могут к сессии не допустить. Что делать? а.
PS. на будующее говорите хоть что у вас за сборка, старая ли. мб на ней вообще хиро не реализовано и тд тп. невозможно ответить на ваш вопрос не зная ничего.

HeavyMetaJI 01.06.2011 20:16

Re: Период олимпиады
 
Вот типа так нада :)) какраз мне нада тоже ...

Сборка Gracia Final СКАЗКА

Подскажите пожайлуста ...Как зделать чтобы хиро выдавалося каждую неделю по понедельникам ???

FriendlyGhost 02.06.2011 11:11

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 и подобных, за остальные не ручаюсь, прошу отписаться разбирающихся в подобных вещах людей и по-возможности помочь реализовать.

linliss 02.06.2011 15:02

Re: Период олимпиады
 
Дело в том что система олимпа написана и работает через одно место:)
Геройство выдается 1 числа в 12 или 13 часов дня(я непомню уже точно - давно исправил), причем автоматически, а не через столб.

FriendlyGhost 02.06.2011 16:52

Re: Период олимпиады
 
А вот насчет выдачи геройства (именно выдачи, а не конца олимпа) - там же в таблице Olympiad_data есть столбец Validation_end, дак вот это число выставляется само автоматически сразу после окончания периода (о нем написал выше) и зависит от конфига Olympiad.properties, обычно валидация стоит 24 часа, т.е. к Olympiad_end прибавляется 24часа (т.е. 86400000 мсек) автоматом после окончания периода и результат заносится в Validation_end (собсно время выдачи геройства и обнуления очков для нового периода) .
Я сам поставил в конфигах время валидации 5 минут, т.е. олимп тока кончается и через 5 минут уже герои обновляются :) , минус тока в том, что если в эти 5 минут не заскринил для себя очки, то уже не уСПеешь ) .

ZeroMS 02.06.2011 18:13

Re: Период олимпиады
 
Цитата:

Сообщение от linliss (Сообщение 124756)
Дело в том что система олимпа написана и работает через одно место:)
Геройство выдается 1 числа в 12 или 13 часов дня(я непомню уже точно - давно исправил), причем автоматически, а не через столб.

Не подскажите как сделали чтоб через столб брать геройства? А не автоматом как стоит?


Текущее время: 04:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot