Мининг вокруг себя
Posted: 04.02.2008 18:47
				
				Если у каго мининг вокруг себя и чтобы кирки просто менял и все если можна конечно за рание спасибо .
			Альтернативный клиент Ultima Online
https://stealth.od.ua/forum/
Code: Select all
program MinRound; 
{$Include 'all.inc'} 
const 
TileNum = $1342; 
PickAxe = $49BB5D88; 
{типы кучек} 
{Сообщения} 
Msg1 = 'put'; 
Msg2 = 'fail'; 
Msg3 = 'you try'; 
Msg4 = 'no ore'; 
var x,y,k : integer; 
Begin 
while weight < 200 do 
begin 
  for x:=-2 to 2 do 
   begin 
    for y:=-2 to 2 do 
     begin 
      WaitForTarget(500); 
      UseObject(PickAxe); 
      WaitTargetTile(TileNum,GetX(self)+x,GetY(self)+y,0); 
      addtosystemjournal('Start to mine...');  
      repeat 
        wait(100); 
      until InJournal('put|fail|no ore')<>-1; 
      
       
     end;    
   end; 
end; 
End.Code: Select all
Program MiningAround;
var
k, x, y : Integer;
mn1, mf1, mf2, ms1 : Integer;
ctime : TDateTime;
const
Pickaxe1 = $0E85;				// Типы кирок
Pickaxe2 = $0E86;
	function CheckPickaxe : Boolean;
	// Проверяем есть ли кирка и одеваем ее (если необходимо) в правую руку
	// возвращаем true - если все ок, false - если нет кирки
	// Проверка на то, что в руке у чара не кирка не производится!
	var tmpser : Cardinal;
	begin
		Result := true;
		if (ObjAtLayerEx(RhandLayer,self) = 0) then
		begin
			// ничего в руках нету
			tmpser := findtype(Pickaxe1,backpack);
			if tmpser = 0 then tmpser := findtype(Pickaxe2,backpack);
			if tmpser = 0 then
			begin
				Result := false;
				exit;
			end;
			if not equip(RhandLayer,tmpser) then
			begin
				wait(1000);
				if not equip(RhandLayer,tmpser) then
				begin
					Result := false;
					exit;
				end;
			end;
			wait(500);
			checksave;
		end;
	end;
Begin
	for x := -2 to 2 do
	begin
		for y := -2 to 2 do
		begin
			repeat
				waitconnection(5000);
				if not CheckPickaxe then 
				begin
					exit;
				end;
				if TargetPresent then CancelTarget;
				if WarMode = true then SetWarMode(false);
				ctime := Now;
				UseObject(ObjAtLayerEx(RhandLayer,self));
				WaitForTarget(5000);
				If TargetPresent then TargetToTile(1342, GetX(self)+x, GetY(self)+y, GetZ(self));
				k := 0;
				repeat
					wait(100);
					k := k + 1;
					checksave;
					mn1 := InJournalBetweenTimes('no ore', ctime, Now);
					mf1 := InJournalBetweenTimes('you try', ctime, Now);
					mf2 := InJournalBetweenTimes('fail', ctime, Now);
					ms1 := InJournalBetweenTimes('put', ctime, Now);
				until (mn1<>-1) or (mf1<>-1) or (mf2<>-1) or (ms1<>-1) or (k > 300);
			until (mn1<>-1);
		end;
	end;
End.Code: Select all
Compiler: [Error] (Òåêñòîâûé äîêóìåíò (2).txt at 39:10):  Unknown identifier 'checksave'
Compiler: [Error] (Òåêñòîâûé äîêóìåíò (2).txt at 48:13):  Unknown identifier 'waitconnection'
Compiler: [Error] (Òåêñòîâûé äîêóìåíò (2).txt at 62:16):  Unknown identifier 'checksave'Code: Select all
{$Include 'all.inc'}