Page 1 of 2

[Drw] Скупка

Posted: 29.04.2012 3:09
by Nearga
Пробежался поиском, нашел пару устаревших методов.. начал методом тыка подбирать - вроде таки заработало.

Code: Select all

  for i:=1 to rmax do
    begin
		UOSay(vname+' buy');
		AddToSystemJournal(inttostr(i)); 
		AutoBuy(buy[i],$0000,kolvo);
		Wait(4500);
		AutoBuy(buy[i],$0000,0);
	end;
Затестил, первые пару раз было все ок. Пока не накупил два десятка пустых спеллбуков, которые никуда деть нельзя.

Существует ли папский метод, чтоб работал наверняка? :)

Re: [Drw] Скупка

Posted: 29.04.2012 4:43
by Nearga
Забодяжил

Code: Select all

GetShopList(a); SetSilentMode(True); // GetFindedList(a); 
  for i := 0 to a.Count - 1 do
    begin
     StrBreakApart(a.Strings[i],'|', str);
     AddToSyStemJournal(intTostr(i)+' '+str[4]+' '+str[14]); 
    end;
проверил айдишники у продавца - такиеже, как и у меня.

Re: [Drw] Скупка

Posted: 29.04.2012 5:10
by Nearga
Еще и кляп получил - видать, сильно часто дергал продавца :)

ЗЫ: а, это фигня: с паузой и BuyDelay игрался )

Re: [Drw] Скупка

Posted: 29.04.2012 10:08
by CFA
Первый метод вполне рабочий, только AutoBuy лучше делать перед UOSay(vname+' buy');

Re: [Drw] Скупка

Posted: 29.04.2012 11:31
by Nearga
Оки, пасиб, попробую в обратном порядке... он вроде как и рабочий, но иногда или не все скупает, или скупает не то, что нужно.

Re: [Drw] Скупка

Posted: 29.04.2012 11:50
by Nearga
Та же фигня, если у вендора уже скуплен товар. Опять барахла закупил.

Re: [Drw] Скупка

Posted: 29.04.2012 12:16
by Nearga

Code: Select all

for i:=1 to rmax do
    begin		
		AddToSystemJournal(inttostr(i)); 
		AutoBuy(buy[i],$0000,kolvo);
		wait(5000);
		UOSay(vname+' buy');
		Wait(5000);
		AutoBuy(buy[i],$0000,0);
		Wait(5000);
	end;
Вообще ничего не покупает 0_0
Пишет, "Oh..You were so fast. Please repeat your order slower."

Re: [Drw] Скупка

Posted: 29.04.2012 12:17
by yuras
так правильней

Code: Select all

for i:=1 to rmax do
   AutoBuy(buy[i],$0000,kolvo);
UOSay(vname+' buy');
AddToSystemJournal(inttostr(i)); 
Wait(4500);
for i:=1 to rmax do
   AutoBuy(buy[i],$0000,0);

Re: [Drw] Скупка

Posted: 29.04.2012 12:28
by Nearga
Пробовал так, как вы советовали - все равно пишет, "Oh..You were so fast. Please repeat your order slower."

Добавил

Code: Select all

for i:=1 to rmax do begin
   AutoBuy(buy[i],$0000,kolvo);
   wait(1000);
   end;
UOSay(vname+' buy');
AddToSystemJournal(inttostr(i)); 
Wait(4500);
for i:=1 to rmax do
   AutoBuy(buy[i],$0000,0);
та же фигня

Re: [Drw] Скупка

Posted: 29.04.2012 12:40
by Nearga
В принципе, самый первый вариант вполне сносно работает... Долговато, правда, но скупает то, что нужно.
По крайней мере, пока у торговца есть товары.. если запустить скрипт еще раз - скупает абсолютно левое барахло (почему?).

Есть мысля поиграться с GetShopList(); и смотреть длинну списка, если маловато - значит товара еще нету - значит ждать.

Re: [Drw] Скупка

Posted: 29.04.2012 12:59
by Nearga
Пока остановился на таком варианте, вполне рабочий... но хотелось бы увидеть нормальный, без костылей

Code: Select all

AddToSystemJournal('Подошли к ' + vname); 
	
	a := TStringList.Create;
	UOSay(vname+' buy');
	wait(500);	
	GetShopList(a);
	SetSilentMode(False);
	AddToSystemJournal('Вещей у вендора:' + inttostr(a.count));
	
	if (a.count > 8) then begin	
		for i:=1 to rmax do
		begin
		  UOSay(vname+' buy');
		  AddToSystemJournal(inttostr(i)); 
		  AutoBuy(buy[i],$0000,kolvo);
		  Wait(4500);
		  AutoBuy(buy[i],$0000,0);
	   end;   
   end
   else begin
	AddToSystemJournal('Шмота.нет');	
   end;
   a.free;

Re: [Drw] Скупка

Posted: 29.04.2012 13:02
by yuras
AutoBuy это установка ловушки, таймер между установками не нужен. Т.е.ты сначала указываешь что надо купить, открываешь бай лист и все ловушки срабатывают. А на что такая реакция "Oh..You were so fast. Please repeat your order slower." слишком часто говоришь buy или очень быстро выбираешь что купить? Вручную получается такое сообщение вызвать?

Re: [Drw] Скупка

Posted: 29.04.2012 13:13
by Nearga
Запилил вот так

Code: Select all

SetAutoBuyDelay(15);
	AddToSystemJournal('Step 1');
	for i:=1 to rmax do
		AutoBuy(buy[i],$0000,kolvo);
	AddToSystemJournal('Step 2');
	UOSay(vname+' buy');
	Wait(15000);
	AddToSystemJournal('Step 3');
	for i:=1 to rmax do
		AutoBuy(buy[i],$0000,0);
Скупил абсолютно все, что у вендора есть :(
Зато можно точно сказать, что "Oh..You were so fast. Please repeat your order slower." - это из-за того, что быстро соглашался (раньше было SetAutoBuyDelay(5)

Re: [Drw] Скупка

Posted: 29.04.2012 18:01
by Nearga
Фигня какая-то... иногда покупает то, что нужно, иногда недобирает, иногда гребет все подряд... что за хрень? ((((

Re: [Drw] Скупка

Posted: 29.04.2012 21:36
by yuras
Nearga wrote:Фигня какая-то... иногда покупает то, что нужно, иногда недобирает, иногда гребет все подряд... что за хрень? ((((
попробуй на более поздней версии стелса, на 4.0.3 не тестил, но на 3.9.9 все отлично работало.