[help] Запрос в Navicat на удаление Мобов.
Железо: -
ОС: хр х32
Программы: мускул 5.0 х32, ява х32
Сборка: La2base [Interlude] Ver. 1.1.6
Суть в том нужен запрос в Navicat на удаление мобов... К примеру убрать всех мобов ниже чем 40 лвл. Кроме нпц(Гм шопов и т.п.)
Вот кто бы мог дать мне такой запрос или подсказать как это зделать, буду очень благодарин + Спасибка с меня -;)))
К сожилению с помощью запросов это не возможно...
Возможно написание php скрипта или программы...
Если очень нужно могу сделать за wmz
Как я понимаю вам нужно удалить мобов из спауна, с лвлом < 40
Сейчас посмотрел таблицу spawnlist, поля lvl или чего то похожего я там не нашел.
Решение: Извлечение ид всех мобов с лвл < 40 из таблицы мобов( не спауна) и удаление их из спаун листа.
Делать это ручками вы вряд ли захотите.
p.s.Таблица спауна это около 40000 записей на грации
giko: К сожилению с помощью запросов это не возможно...
Возможно написание php скрипта или программы...
Если очень нужно могу сделать за wmz
Ну и за какую сумму ты хочеш написать?)
— Кот ЦАРЬ
Уже написал, бесплатно, но не тестил. Не тестил потому что жалко таблицу
Писал я, идея тоже моя.
Небольшое предостережение: удалятся из спауна даже нпц необходимые для квестов.
/*Скрипт удаления npc из спаун листа с лвлом ниже чем задано*/
/*Програмный код и идея: giko*/
$levelminimum = 40; /*Минимальный уровень моба*/
$servdb = mysql_connect("ip","user","pass"); /*Настраиваем соединение с базой (изменить)*/
mysql_select_db("l2jdb",$servdb); /*Выбираем базу данных*/
$npcids = mysql_query("SELECT id FROM npc WHERE level < '$levelminimum'",$servdb);
$npcidsrow = mysql_fetch_array($npcids);
$deleted = 0;
do
{
$id = $npcidsrow['id'];
$deletquery = mysql_query("DELETE FROM spawnlist WHERE npc_templateid = '$id' AND type = 'L2Monster'",$servdb);
$deleted ++;
}
while ($npcidsrow = mysql_fetch_array($npcids));
echo 'Удалено '.$deleted. 'npc';
?>
Вот можешь попробывать sql запросов, то незнаю подойдет ли он, т.к в этом деле не сильно разбираюсь.
Запрос удалит всех мобов ниже 40 лвл из таблицы npc
killen: Вот можешь попробывать sql запросов, то незнаю подойдет ли он, т.к в этом деле не сильно разбираюсь.Кодdelete FROM `npc` WHERE `level` < 40 AND `type` = L2Monster;
Запрос удалит всех мобов ниже 40 лвл из таблицы npc
Человеку нужно из спаун листа удалить, а так ты удалишь всех мобов из таблицы мобов (не спауна), левел которых ниже 40. Юзайте мой скрипт, будет вас счастье.
Через ваш скрипт тоже удалятся все квестовые мобы, ну дак зачем тогда мучатся со скриптом, если можно использовать sql запрос.
Если удалить из спауна, или из таблицы нпс исход будит один и тот же, они исчезнут, ну дак тогда будит проще использовать sql запрос.
killen: Через ваш скрипт тоже удалятся все квестовые мобы, ну дак зачем тогда мучатся со скриптом, если можно использовать sql запрос.
Если удалить из спауна, или из таблицы нпс исход будит один и тот же, они исчезнут, ну дак тогда будит проще использовать sql запрос.
Спасибо что заметили, это я уже исправил.
Но кое где вы все таки не правы, при удаление npc из таблицы npc он остается в таблице spawnlist.
giko: Спасибо что заметили, это я уже исправил.
Но кое где вы все таки не правы, при удаление npc из таблицы npc он остается в таблице spawnlist.
Если я не ошибаюсь, то при запуске сервера, если в спаун листе есть мобы которых нету в таблице нпс, то они автаматически удаляются из таблицы спаун лист. Опять же повторюсь, что я точно не уверен.
ЗЫ спорить можно долго, но смысла спорить нету, пожтому давайте заканчивать "нашу беседу".




