Page 1 of 1

Рколы по РБ

Posted: 20.07.2010 23:45
by m0nya
Всем привет, и снова я тут =) Ультима зло программирование еще хуже )

Вот пытаюсь тут из 10 скриптов слепить то что хочется ..., а именно скупку реагентов на pol95

Надеюсь гуру паскаля вновь помогут мне разобраться что к чему...

итак имею:

Code: Select all

program Skupka_NS;

{$Include 'all.inc'}

const
	kolvo=360;
	NS=$0F88;
	RunebookNS=$5EF4F006;
	Sunduk = $40009B07;
	Runebook=$444037F6;
	UnloadX = 769; //Координаты выгрузки
	UnloadY = 1477; //Координаты выгрузки
	weight1 = 350; //Полный вес с регами
	gp=$0EED;



	MineXdel = 4459; //Координгаты покупки
	MineYdel = 1082; //Координгаты покупки

	MineXbrit1 = 4450; //Координгаты покупки
	MineYbrit1 = 1082; //Координгаты покупки

	reg1 = $0F86;
	reg2 = $0F7A;
	reg3 = $0F7B;

// РЕКОЛ
procedure Recall2;

begin

//Рекол к сундуку

repeat
repeat
wait(5000);
Until Recall (Runebook, 8); //Рекол по 8й руне
CheckLag;
wait (5000); //Задержка на рекол
until ((GetX(self) = UnloadX) and (GetY(self) = UnloadY))

//Вынрузка 

UseObject( Sunduk );
wait(1000);
addtosystemjournal('Выкладываем Реги');
while Count( NS ) > 0 do
begin
FindType( NS, backpack );
MoveItem( finditem, 0, Sunduk, 0, 0, 0 );
wait( 500 );
end;

//Добор регов и денег

if Count( reg1 ) < 10 then
begin
addtosystemjournal('Берем реги');
FindType( reg1, Sunduk )
if FindCount = 0 Then
begin
addtosystemjournal('Реги кончились, скрипт остановлен');
exit;
end
Grab( finditem, 50 );
wait( 500 );
end;

if Count( reg2 ) < 10 then
begin
addtosystemjournal('Берем реги');
FindType( reg2, Sunduk )
if FindCount = 0 Then
begin
addtosystemjournal('Реги кончились, скрипт остановлен');
exit;
end
Grab( finditem, 50 );
wait( 500 );
end;

if Count( reg3 ) < 10 then
begin
addtosystemjournal('Берем реги');
FindType( reg3, Sunduk )
if FindCount = 0 Then
begin
addtosystemjournal('Реги кончились, скрипт остановлен');
exit;
end
Grab( finditem, 50 );
wait( 500 );
end;


if Count( gp ) < 2000 then
begin
addtosystemjournal('Берем денег');
FindType( gp, Sunduk )
if FindCount = 0 Then
begin
addtosystemjournal('денег нет, скрипт остановлен');
exit;
end
Grab( finditem, 10000 );
wait( 500 );
end;

end;


Procedure del;

var i, k : Integer;

begin

//Рекол к регам

addtosystemjournal('Реколимся в делюсию');
repeat
repeat
wait(5000);
Until Recall(RunebookNS,11) //Рекол по 11й руне
CheckLag;
wait (5000); //Задержка на рекол
until ((GetX(self) = MineXdel) and (GetY(self) = MineYdel))

wait(2000);
if not GetAutoBuyMode then SetAutoBuyMode(true);
SetAutoBuyDelay(4);
AutoBuy(NS,$0000,kolvo);

k := Count(NS);
waitconnection(5000);
UOSay('Aneida buy');
repeat
wait(100)
until (Count(NS) > k) or (Gold < (kolvo*2)) or (Gold = Gold);
i := Count(NS);
addtosystemjournal('куплено ' + inttostr(i-k) + ' из ' + inttostr(i) + ' регов');
AutoBuy(NS,$0000,0);
end;


Procedure brit1;

var i, k : Integer;

begin

//Рекол к регам

addtosystemjournal('Реколимся в брит1');
repeat
repeat
wait(5000);
Until Recall(RunebookNS,1) //Рекол по 1й руне
CheckLag;
wait (5000); //Задержка на рекол
until ((GetX(self) = MineXbrit1) and (GetY(self) = MineYbrit1))

wait(2000);

if not GetAutoBuyMode then SetAutoBuyMode(true);
SetAutoBuyDelay(4);
AutoBuy(NS,$0000,kolvo);
repeat
k := Count(NS);
waitconnection(5000);
UOSay('Bront buy');

wait(100)
until (Count(NS) > k) or (Gold < (kolvo*2));
i := Count(NS);
addtosystemjournal('куплено ' + inttostr(i-k) + ' из ' + inttostr(i) + ' регов');

AutoBuy(NS,$0000,0);


wait(2000);

if not GetAutoBuyMode then SetAutoBuyMode(true);
SetAutoBuyDelay(4);
AutoBuy(NS,$0000,kolvo);

k := Count(NS);
waitconnection(5000);
UOSay('Burgess buy');
repeat
wait(100)
until (Count(NS) > k) or (Gold < (kolvo*2));
i := Count(NS);
addtosystemjournal('куплено ' + inttostr(i-k) + ' из ' + inttostr(i) + ' регов');

AutoBuy(NS,$0000,0);


end;


BEGIN

del;

if Weight > weight1 then
begin
addtosystemjournal('Много веса --> рекол');
Recall2;
end;

brit1;
if Weight > weight1 then
begin
addtosystemjournal('Много веса --> рекол');
Recall2;
end;

Recall2;
clearjournal;

END.
(autobuy.txt at 38:7): Unknown identifier 'Recall'

не определённый индификатор recall а как его определить ?

:roll:

Не судите, умею в совершенстве только цыВорки корректировать в готовых скриптах )

Posted: 21.07.2010 6:46
by Vizit0r
написать функцию, которая будет называться Recall и принимать на входе айди РБ и что-то там еще. функция как раз и должна открывать РБ, лететь по руне, и что там еще делается (проверка маны, медитация, хайд и прочие штуки по вкусу и желанию)