• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Массовый запрос на добавление шмота в вендор
Sivanv99
Сержант
Доброго времени суток, знатаки)
Вообщем, нужно запихнуть в 1 вендора много итемов, которые отвечают некоторым условиям(тип предмета, итем левел).
Но проблема в том, что я не знаю, как сделать такой запрос, где будет несколько условий.
Просьба помочь мне в этом деле smile
Заранее спасибо.
Сообщение # 1 написано 04.06.2014 в 16:58
staford11
^s†af0rd f0rever^
Пробуй:
Код
SET @VID = id вендора;
SET @ILVL = уровень предмета;
SET @CLASS = класс предмета; // [http://collab.kpsn.org/display/tc/Item+template+tc2#Itemtemplatetc2-class], я больше и придумать не смог, что значит "тип предмета"
REPLACE INTO `npc_vendor` (entry, item, maxcount, incrtime, ExtendedCost) VALUES (@VID, (SELECT `entry` FROM `item_template` WHERE `ItemLevel`=@ILVL AND `class`=@CLASS), 0, 0, 0);
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 2 отредактировано staford11 - Среда, 04.06.2014, 17:18
Sivanv99
Сержант
staford11, спасибо большое, выручил. Но есть еще 1 вопрос. Если я хоу указать диапозон уровня предмета, мне нужно указывать сначала, что уровень предмета больше одного значения, и второй раз, что меньше другого значения?
И еще, если я хочу указать субкласс, я просто допишу еще одно условие с субклассом, так?
Сообщение # 3 отредактировано Sivanv99 - Среда, 04.06.2014, 18:07
staford11
^s†af0rd f0rever^
Цитата Sivanv99 ()
Если я хоу указать диапозон уровня предмета, мне нужно указывать сначала, что уровень предмета больше одного значения, и второй раз, что меньше другого значения?

Можно так:
Код
WHERE `ItemLevel` BETWEEN мин AND макс

Цитата Sivanv99 ()
И еще, если я хочу указать субкласс, я просто допишу еще одно условие с субклассом, так?

Да, и AND не забудь.
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 4 написано 04.06.2014 в 18:28
Sivanv99
Сержант
staford11, проблемка)
Вот составил я запрос:

Однако при заливке выдается ошибка:
Сообщение # 5 отредактировано Sivanv99 - Среда, 04.06.2014, 21:25
Narko94
Рыцарь
Переведешь, поймешь.
Что вложенный запрос, возвращает несколько данных.
А тебе необходимо только 1.
+ у тебя ошибка в коде, не те ковычки стоят на subclass, необходимо так: `subclass` у тебя так: 'subclass'

Код
REPLACE INTO `npc_vendor` (entry, item, maxcount, incrtime, ExtendedCost) VALUES (1000000, (SELECT `entry` FROM `item_template` WHERE `class`=4 AND `subclass`=6 AND `ItemLevel` BETWEEN 220 AND 240) , 0, 0, 0);


Попробуй так
[blizz]Судить меня дано лишь богу, другим я укажу дорогу
[/blizz]
Сообщение # 6 отредактировано Narko94 - Четверг, 05.06.2014, 01:24
Real_WoW
Скаут
Цитата
DELETE FROM `npc_vendor` WHERE (`entry`=айдипродавца);
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2412),
(айдипродавца, 0, айдиитема, 0, 0, 2408),
(айдипродавца, 0, айдиитема, 0, 0, 2409),
(айдипродавца, 0, айдиитема, 0, 0, 2411);

Думаю, подойдёт тебе, с тебя +, если помог.
Насколько ты человек?
Сообщение # 7 отредактировано Real_WoW - Воскресенье, 08.06.2014, 22:29
  • Страница 1 из 1
  • 1
Поиск: