Изменил способ покупки, как мне кажется элегантно получилось, но в задумках еще лучше =) Хочу брать ItemID из той переменной что в комбобокс подставляется. Тоесть какой вид заточек мы выбрали, такой он и будет закупать.
delphi Код:
{ EntryID, вид, цена - для моего серва
1 Weapon D - 50 000
3 Armor D - 6 000
5 Weapon C - 110 000
7 Armor C - 15 000
9 Weapon B - 500 000
11 Armor B - 80 000
13 Weapon A - 5 000 000
15 Armor A - 500 000
17 Weapon S - 10 000 000
19 Armor S - 1 000 000
21 Bless Weapon D - 500 000
23 Bless Armor D - 60 000
25 Bless Weapon C - 2 000 000
27 Bless Armor C - 300 000
29 Bless Weapon B - 5 000 000
31 Bless Armor B - 800 000
33 Bless Weapon A - 50 000 000
35 Bless Armor A - 5 000 000
37 Bless Weapon S - 100 000 000
39 Bless Armor S - 10 000 000
}
procedure BuyScroll(BuyEntryID, BuyDelay: integer);
begin
delay(BuyDelay);
RequestMultiSellItem(559, BuyEntryID, 1);
delay(BuyDelay);
end;
//******************************************************
#$6F: if ready then begin //and (readd(2)=itemid)
//ищем подходящий предмет для заточки
timer.enabled:=false; //отключаем пока не найдем предмет для заточки
repeat
ItemOID:=GetItem(ItemID,CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
//************************************************
msg.Lines.Add('Пробуем улучшить ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID));
RequestEnchantItem(ItemOID);
ready:=false;
//***** Закупка заточек *
BuyScroll(31, 150);
//***********************
timer.enabled:=true; //пока в тесте отключаем (вкл. после заточки предмета)
end;
#$81: if readd(2)=0 then begin
CurEnchLvl:=0; //начнем с начала
Так он стабильнее покупает заточки. Например можно закупить 2, и он будет 1 использовать, и сразу покупать другую. А вторая нужна прозапас, тк иногда из-за лагов он использует, но не покупает.
2 NLObP
Таргет так и не прикрутил... у меня аж ПХ вылетает. Откуда брать ItemID заточки которая в боксе выводится? Хочу создать файл с базой ListID и EntryID заточек. И брать значения по их ItemID.
Как проверить сколько свободных слотов в инвентаре? Это чтобы закупать выбранную шмотку под завязку, или можно сделать поле для ввода количества.
Кстати переделал подсчет денег:
delphi Код:
//Пробегаем по Инвентарю и сохраняем ObjectID соответствующие необходимым ItemID
for i:=1 to ListCount do begin
itemBase[1,i]:=ReadD(j); //OID
itemBase[2,i]:=ReadD(j); //ItemID
itemBase[3,i]:=ReadD(j); //кол-во
inc(j,10);
itemBase[4,i]:=ReadH(j);//EnchantLevel
// msg.Lines.Add('i='+inttostr(i)+' ItemOID='+IntToStr(ItemBase[1,i])+' ItemID='+IntToStr(ItemBase[2,i])+' ItemKol='+IntToStr(ItemBase[3,i])+' ItemLVL='+IntToStr(ItemBase[4,i]));
if interlude then inc(j,12) else inc(j,4);
//msg.Lines.Add('j='+inttostr(j));
if itemBase[2,i]=57 then begin
Adena:= itemBase[3,i];
stats.Lines.Add('Адены '+IntToStr(Adena));
end;
if itemBase[2,i]=4037 then begin
CoL:= itemBase[3,i];
stats.Lines.Add('Coin of Luck '+IntToStr(CoL));
end;
end;
//вносим изменения в чекбоксы
В планах: расширить окно, добавить бокс для изменения задержек на покупку, да и общий для таймера например. Поставить чекбоксы: закупать заточки, закупать итемы, менять деньги. Но это потом, когда закупку нормально сделаю.
2 Все
Помогите сделать ТАРГЕТ!