Цитата:
Сообщение от NLObP
Я тоже так решил для закупки крючков. Оставлял одну вещь и шел покупать. Правда исходил из того, чтоб ObjectID новый не запоминать.
|
для скролла (где лежит := где берем)
ScrollOID:=ItemBase[1,ComboBoxScroll.ItemIndex+1];
ScrollID:=ItemBase[2,ComboBoxScroll.ItemIndex+1];
для вещи (где лежит := где берем)
ItemOID:=ItemBase[1,ComboBoxItem.ItemIndex+1];
ItemID:=ItemBase[2,ComboBoxItem.ItemIndex+1];
Я имею ввиду в каком месте скрипта это правильно сделать?
Я за ранее ставил размер инвентаря чара в переменную
max=250; //количество слотов в инвентаре чара
Общее нам известно. Как узнать сколько не занято? Чтобы потом поставить галку "закупать на полный инвентарь". Тоесть он оставляет место под 6 заточек, а в остальные слоты закупает шмотку.
Где именно проблема?
NpcId мы знаем. Вот по нему и надо отслеживать пакеты NPCInfo, где брать NpcObjectID. Уходишь подальше и возвращаешся назад, сервер шлет NpcInfo. Пользуешься таргетом.
Я использовал процедуры таргет, таргетаттакер, и юсеринфо... и короче ПХ вылетал с ошибкой. Как ловить пакет чтобы юзер инфо выдал координаты?
Успехов! Будет интересно посмотреть.
PS: а вещи ты покупать планируешь, или только заточки?
Стараюсь =) Конечно планирую. Вот как только с таргетом разберусь, смогу закупку прикрутить. Нада бы форму доделать под нее. Я окошки уже расширил, мсг, и статс, нада между ними всунуть чекбоксы, и выпадалки.
У меня уже есть скрипт на закупку, юзаю вручную через окно Дополнительно. Умеет закупать нужное количество по подставленным зачениям, 3 режима закупки - закупка+обмен денег, закупка, обмен.
Посмотри какой алгоритм я вижу на закупку заточек:
Выбираем заточку в главном окне. Там появляется значение ItemID, мы его записываем в другу переменную, например ChoosedScroll(если нада), а это например 730.
После заточки используем процедуру BuyScroll(ChoosedScroll);
Процедура BuyScroll(ChoosedScroll: integer);
В ней некая база. Возможно по такому принципу:
if ChoosedScroll 730 then ListID = 559, EntryID = 15
if ChoosedScroll 6757 then ListID = 559, EntryID = 35
и тд. подствяем их, и отправляем рекмультиселлитем(ListID, EntryID, 1);
end;
Вот что-то типа этого. Направление мыслей вообще правильное?