2
NLObP
Все, спасибо, разобрался. Проблема была в том что у меня были неверные ID продавцов, которые мне выдал IG. Теперь нашел верные, смещение такое же.
Подскажи пожалуйста, как реализовать данный алгоритм:
- Вводные: Мы знаем кол-во Аден, цену итема, и кол-во свободных слотов.
- К примеру. Есть 2млрд Аден, цена АС 200млн, свободно 40 слотов.
Понятное дело что за раз мы столько не купим, поэтому я как понимаю нужно что-то типа этого:
Код:
начало
запрос кол-ва аден
если (ценашмотки*свободслотов<аден) то
закупка по циклу на свободслоты
иначе
цикл до свободслотов
закупка на сколько хватит
обмен денег
конец
конец
Сейчас оно у меня в таком виде:
delphi Код:
procedure BuyItems(EmptySlots: integer); //тут видимо вообще не нужно указывать переменную, тк она глобальная
var
Cnt, IoA: integer; //Item on Adena
begin
if InBase then begin
AdenaCounter(CoLChangeCount, CanChange, CanBuy);
if CanChange then CoLChange;
TargetAttacker('Roy', RoyOID);
AdenaCounter(CoLChangeCount, CanChange, CanBuy);
IoA:=(trunc(Adena/ItemPrice));
// TargetAttacker(ObjectID);
RequestByPassToServer('menu_select?ask=-303&reply='+IntToStr(ItemListID));
delay(500); // ждем окно
if (IoA>EmptySlots) then begin
for Cnt:=1 to EmptySlots do begin
RequestMultiSellItem(ItemListID, ItemEntryID, BuyItemCount);
delay(BuyDelay);
end;
end else begin
for Cnt:=1 to IoA do begin
RequestMultiSellItem(ItemListID, ItemEntryID, BuyItemCount);
delay(BuyDelay);
end;
end;
end;
end;
И всетаки, как сделать закупку чтобы с каждым итемом база обновлялась? А то происходит вот что:
Код:
Удаляем предмет!
i=51 ItemOID=1075255597 ItemID=959 кол-во=1 ItemLVL=0
Деньги закончились! Прервано!
Winnie ObjectID=1209014842 Player=1213259366
Покупаем ListID:576 EntryID:3 в кол-ве:100
{...
...
...}
Покупаем ListID:576 EntryID:3 в кол-ве:100
Roy ObjectID=1209014840 Player=1213259366
Задействовали скролл ScrollID=959 ScrollOID=1075255607
Изменяем параметры предмета!
i=95 ItemOID=1075227868 ItemID=4037 кол-во=3384753 ItemLVL=0
Изменяем параметры предмета!
i=73 ItemOID=1075227891 ItemID=57 кол-во=9691800 ItemLVL=0
{...
...
...}
i=95 ItemOID=1075227868 ItemID=4037 кол-во=3382853 ItemLVL=0
Изменяем параметры предмета!
i=73 ItemOID=1075227891 ItemID=57 кол-во=2089691800 ItemLVL=0
Покупаем ListID:559 EntryID:17 в кол-ве:1
Пробуем улучшить ItemID=6592 ItemOID=1075249921
Изменяем параметры предмета!
Тоесть сначала пробегает цикл, потом он успевает сменить таргет, и только после этого итемы начинают заносится в базу. Из-за этого было переполнение кошелька.