L2-scripts Форум

L2-scripts Форум (http://l2-scripts.ru/forum/index.php)
-   Archive Lindvior, Ertheia, Odyssey, Undergeround, Helios, Grand Crusade (http://l2-scripts.ru/forum/forumdisplay.php?f=103)
-   -   Для выдачи не выданных героев. (http://l2-scripts.ru/forum/showthread.php?t=2717)

Core 03.03.2013 22:45

Для выдачи не выданных героев.
 
Эта тема предназначена для тех, кто желает выдать не выданных героев за прошедший месяц.

Для этой процедуры обновление самой сборки можно не дожидаться, а сделать прямо сейчас.

!!!Внимание!!! Статистика олимпиады с 1го по текущее число (когда вы поставите этот запрос), ОБНУЛИТСЯ!

1. Выключаем сервер.
2. Переименовываем таблицу olympiad_nobles в olympiad_nobles1.
3. Восстанавливаем бекап таких таблиц: heroes, olympiad_history, olympiad_nobles, за 28.02.2013 или ранее.
4. Выполняем этот запрос
!!!ВНИМАНИЕ!!! ЗАПРОС ВЫПОЛНЯЕМ ТОЛЬКО ОДИН РАЗ!!!
PHP код:

DELETE FROM olympiad_history WHERE old=1;
UPDATE olympiad_history SET old=1;

UPDATE heroes SET played 0active 0;

REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 139 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 140 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 141 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 142 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 143 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 144 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 145 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_idheroes.count 110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 LEFT JOIN heroes ON olympiad_nobles.char_id=heroes.char_id AND character_subclasses.type=0 WHERE heroes.char_id AND character_subclasses.class_id 146 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;

REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 139 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 140 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 141 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 142 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 143 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 144 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 145 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;
REPLACE INTO heroes (`char_id`, `count`, `played`, `active`, `message`) SELECT olympiad_nobles.char_id110'' FROM olympiad_nobles LEFT JOIN character_subclasses ON olympiad_nobles.char_id=character_subclasses.char_obj_id AND character_subclasses.type=0 WHERE olympiad_nobles.char_id NOT IN (SELECT char_id FROM heroes) AND character_subclasses.class_id 146 AND `competitions_done` >= 15 AND `competitions_win` > 0 ORDER BY `olympiad_pointsDESC, `competitions_winDESC, `competitions_doneDESC LIMIT 1;

UPDATE `olympiad_noblesSET `olympiad_points_past` = `olympiad_points`, `olympiad_points_past_static` = `olympiad_pointsWHERE `competitions_done` >= 15;
UPDATE `olympiad_noblesSET `olympiad_points` = 50, `competitions_done` = 0, `competitions_win` = 0, `competitions_loose` = 0game_classes_count=0game_noclasses_count=0;

UPDATE olympiad_noblesolympiad_nobles1 SET olympiad_nobles.olympiad_points=olympiad_nobles1.olympiad_points+olympiad_nobles.olympiad_pointsolympiad_nobles.olympiad_points_past=olympiad_nobles1.olympiad_points_past+olympiad_nobles.olympiad_points_past,
 
olympiad_nobles.olympiad_points_past_static=olympiad_nobles1.olympiad_points_past_static+olympiad_nobles.olympiad_points_past_staticolympiad_nobles.competitions_done=olympiad_nobles1.competitions_done+olympiad_nobles.competitions_done,
 
olympiad_nobles.competitions_win=olympiad_nobles1.competitions_win+olympiad_nobles.competitions_winolympiad_nobles.competitions_loose=olympiad_nobles1.competitions_loose+olympiad_nobles.competitions_loose
 
olympiad_nobles.game_classes_count=olympiad_nobles1.game_classes_count+olympiad_nobles.game_classes_countolympiad_nobles.game_noclasses_count=olympiad_nobles1.game_noclasses_count+olympiad_nobles.game_noclasses_count WHERE olympiad_nobles.char_id=olympiad_nobles1.char_id;

REPLACE INTO olympiad_nobles (`char_id`, `class_id`, `olympiad_points`, `olympiad_points_past`, `olympiad_points_past_static`, `competitions_done`, `competitions_win`, `competitions_loose`, `game_classes_count`, `game_noclasses_count`) 
SELECT olympiad_nobles1.char_idolympiad_nobles1.class_idolympiad_nobles1.olympiad_pointsolympiad_nobles1.olympiad_points_pastolympiad_nobles1.olympiad_points_past_staticolympiad_nobles1.competitions_doneolympiad_nobles1.competitions_winolympiad_nobles1.competitions_looseolympiad_nobles1.game_classes_countolympiad_nobles1.game_noclasses_count FROM olympiad_nobles1 WHERE olympiad_nobles1.char_id NOT IN (SELECT char_id FROM olympiad_nobles);
DROP TABLE olympiad_nobles1

или же скачайте в SQL: http://yadi.sk/d/Pzz7OW2Z311Xp

5. Запускаем сервер.
6. Готово.

unteam 03.03.2013 22:48

а сервер вариаблес что писать?

Core 03.03.2013 22:49

Ничего. Период олимпиады нормально 1го числа у вас самостоятельно изменился. Не выдалось только геройство.

Core 03.03.2013 22:50

P.S. Не забудьте игроков послать к статуе за геройством. =)

l2gold 04.03.2013 00:58

ВРОДЕ ВЫДАЛО !! СПАСИБО !Ё!!

l2gold 04.03.2013 01:00

только жалуются что нублесс у многих попроподал.

unteam 04.03.2013 03:39

нубелс попропадал..

unteam 04.03.2013 05:46

саб скилы еще перестали работать вроде как у кого-то

ankam26 04.03.2013 06:52

ждем ответа и подтверждения Алексея по вышеперечисленным нюансам. пока не стали рисковать с этими запросами. возможно будет поправка

l2gold 04.03.2013 12:10

теперь игроки нублесом долбят !


Часовой пояс GMT +4, время: 01:01.

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