Вечер добрый, в очередной раз играясь с написанием всякого софта возникла проблема. А именно покупки какого либо товара у НПС.
Пытался реализовать 2 способами, пакет и инжект.
Но в обоих случаях требуется указать номер ячейки товара у НПС, который я увы предварительно не знаю, а знаю лишь ID предмета, который необходимо купить. В голову залез лишь 1 способ, несколько не практичен, но работающий - это в цикле от 0 до 255 отправлять пакет покупки, вставляя в место с номером ячейки циклическое значение. Но проблема в том, что на один такой заход уходит примерно секунд 8-10.
Может кто уже работал с этим? Разбор elements.data не предлагать, это слишком муторно )))
есть еще какие идеи? спасибо
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
А что муторного в разборе elements.data? На сколько я помню в нем как раз есть информация о продавцах и о том какие вещи они продают.
ну я пытаюсь под мультисервер сделать прогу, а в разный версиях разные построения структуры, плюс некоторые админы решили в elements.data еще и шоп заталкать, как в этом ковыряться не знаю
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
[Ссылки могут видеть только зарегистрированные пользователи. ]
Смысл в том, что к некоторым NPC привязывается Sell Service, у него есть страницы с товаром, на каждой странице 32 ячейки, в каждой id предмета, а цена вроде в самом предмете прописана.
Зная это индекс получить не трудно: номер страницы * 32 + позиция на странице.
Например: предмет на странице 5, 4ый с начала страницы, получаем: 5 * 32 + 3 (индексы с 0 начинаются) = 163.
Ну как-то так
________________ Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
Последний раз редактировалось Kitsune; 29.11.2014 в 18:47.
не, все таки быстрее будет просто в цикле отправить пару сотен пакетов, так как ориентирование идет на покупку предметов, которые не идут по стандарту в игре, а серверная особенность, и в состав данного подпункта могут не входить
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
Всем привет нашел инжект помогите разобраться при запуске в клиенте пишет что-то на счет цены, что теперь цену еще прикручивать?Может у кого готовый есть?
procedure CodeSell(ItemId, ItemCount, CellNum: dword);
var buf:array [0..2] of DWORD;
begin
buf[0]:=ItemId; // ID предмета
buf[1]:=CellNum; //Номер ячейки инвентаря
buf[2]:=ItemCount; //Количество предметов для продажи.
InjectFunc(hProcess,@SellCall,@buf,SizeOf(buf));
end;
Последний раз редактировалось diagnost; 19.01.2015 в 07:10.