Вечер добрый, в очередной раз играясь с написанием всякого софта возникла проблема. А именно покупки какого либо товара у НПС.
Пытался реализовать 2 способами, пакет и инжект.
Но в обоих случаях требуется указать номер ячейки товара у НПС, который я увы предварительно не знаю, а знаю лишь ID предмета, который необходимо купить. В голову залез лишь 1 способ, несколько не практичен, но работающий - это в цикле от 0 до 255 отправлять пакет покупки, вставляя в место с номером ячейки циклическое значение. Но проблема в том, что на один такой заход уходит примерно секунд 8-10.
Может кто уже работал с этим? Разбор elements.data не предлагать, это слишком муторно )))
есть еще какие идеи? спасибо
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
А что муторного в разборе elements.data? На сколько я помню в нем как раз есть информация о продавцах и о том какие вещи они продают.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
А что муторного в разборе elements.data? На сколько я помню в нем как раз есть информация о продавцах и о том какие вещи они продают.
ну я пытаюсь под мультисервер сделать прогу, а в разный версиях разные построения структуры, плюс некоторые админы решили в elements.data еще и шоп заталкать, как в этом ковыряться не знаю
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
или я че то напутал))
Вообщем единственный вариант только сканировать elements.data ?
Добавлено через 1 час 6 минут
поковырял этот elements и что то кроме самих ID их индексы я не нашел, что то здесь не так
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
Последний раз редактировалось Ginrey; 28.11.2014 в 18:28.
Причина: Добавлено сообщение
ну а вопрос как купить все равно остается в силе))
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
[Ссылки могут видеть только зарегистрированные пользователи. ]
Смысл в том, что к некоторым NPC привязывается Sell Service, у него есть страницы с товаром, на каждой странице 32 ячейки, в каждой id предмета, а цена вроде в самом предмете прописана.
Зная это индекс получить не трудно: номер страницы * 32 + позиция на странице.
Например: предмет на странице 5, 4ый с начала страницы, получаем: 5 * 32 + 3 (индексы с 0 начинаются) = 163.
Ну как-то так
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
Последний раз редактировалось Kitsune; 29.11.2014 в 19:47.
не, все таки быстрее будет просто в цикле отправить пару сотен пакетов, так как ориентирование идет на покупку предметов, которые не идут по стандарту в игре, а серверная особенность, и в состав данного подпункта могут не входить
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
а серверная особенность, и в состав данного подпункта могут не входить
Шта? Серверный elements.data должен быть таким же как и клиентский иначе клиент тоже не сможет покупать ничего.
Цитата:
все таки быстрее будет просто в цикле отправить пару сотен пакетов
Ну как костыльное решение конечно сойдет, но костыль он и в африке костыль.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
Всем привет нашел инжект помогите разобраться при запуске в клиенте пишет что-то на счет цены, что теперь цену еще прикручивать?Может у кого готовый есть?
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 в 08:10.