Page 1 of 1
					
				Ловля рыбы
				Posted: 26.03.2012 12:30
				by Tomers
				Добрый день. 
При ловле рыбы конструкция:
Code: Select all
WaitTargetXYZ(GetX(self)+3,Gety(self),GetZ(self));
UseObject(FindType(fish_pole,$ffff));
Нормально работает при ловле с корабля, но не работает при ловле с пирса, хотя руками с пирса по этим же координатам работает нормально. Подскажите в чем проблема и как можна решить. Готовые скрипты на ловлю рыбы смотрел, через "targettotile" ловить не хочет или возможно я не разобрался с "targettotile".
 
			 
			
					
				Re: Ловля рыбы
				Posted: 26.03.2012 12:31
				by Vizit0r
				последнее вернее.
основной вопрос - не знаю.
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 10:28
				by Tomers
				Подскажите, как прописать забрасывание удочки в воду с пирса.
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 15:08
				by MuDaCk
				Я делал вот так:
Code: Select all
 for x := -4 to 4 do 
      begin 
         for y := -4 to 4 do 
             begin 
             if Hidden then uosay('.');                                                        
         FBegin:=Now;
                  UseObject(ObjAtLayerEx(LHandLayer,self));
          WaitForTarget(5000);
           i:= 0; 
        If TargetPresent then TargetToTile(0, GetX(self)+x, GETY(self)+y, 251);
     repeat
     
      checkweight;
     collectthefish;
     wait(500);
      i:=i+1;
       until  (InJournalBetweenTimes('You put the|Previous targeting cancelled|You stop fishing|There are no fish here|You fail to catch anything|Try fishing elsewhere|That is too far away|Targeting cancelled|You cannot fish so close to yourself', FBegin, Now) <> -1) or (i > 40)
            end;
      end;
 
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 18:43
				by Gunter
				Может быть просто координата Z на пирсе не соответствует координате Z требуемого тайла? Например, у воды координата равна -5, а на пирсе -2.
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 20:43
				by MuDaCk
				Gunter wrote:Может быть просто координата Z на пирсе не соответствует координате Z требуемого тайла? Например, у воды координата равна -5, а на пирсе -2.
у вас -2, у меня 251)))
 
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 21:56
				by Vizit0r
				выкинь инжект, да? 

 
			 
			
					
				Re: Ловля рыбы
				Posted: 27.03.2012 22:56
				by Tomers
				Code: Select all
for i:=0 to 5 do begin
  CancelTarget; 
  UseObject(FindType(fish_pole,$ffff));
  while not(TargetPresent) do wait(200);
  TargetToTile(0,GetX(self)+3,Gety(self),251);
  //targetToTile(0,GetX(self)+3,Gety(self),GetSurfaceZ(GetX(self)+3,Gety(self),0));
  //WaitTargetXYZ(GetX(self)+3,Gety(self),GetSurfaceZ(GetX(self)+3,Gety(self),0));
  wait(9000);
end;
не работает.
 
			 
			
					
				Re: Ловля рыбы
				Posted: 28.03.2012 14:45
				by MuDaCk
				Tomers wrote:
не работает.
 Слёту могу два-три варианта "не работает" расписать
1) В сисжурнале пишется "useobject error"
2) В Уожурнале пишется "объект слишком далеко"
3) Тут нельзя рыбачить
4) в УОжурнале:"Удочка должна быть в руках".
Выражайтесь точнее.
 
			 
			
					
				Re: Ловля рыбы
				Posted: 29.03.2012 16:42
				by Tomers
				MuDaCk wrote:
 Слёту могу два-три варианта "не работает" расписать
1) В сисжурнале пишется "useobject error"
2) В Уожурнале пишется "объект слишком далеко"
3) Тут нельзя рыбачить
4) в УОжурнале:"Удочка должна быть в руках".
Выражайтесь точнее.
Втом то и дело, что в сисжурнале не пишеться вообще ничего, кроме вопроса: "Где хотите ловить..." который задается одновременно с появлением прицела. Следовательно удочка юзается. Но рыба не вылавливается. У нас на шарде просто даблклик на удочку, появляется прицел и ним нужно ткнуть на воду. При ловле с Лодки такой проблемы небыло. Конструкция:
Code: Select all
WaitTargetXYZ(GetX(self)+3,Gety(self),GetZ(self));
UseObject(FindType(fish_pole,$ffff));
Отрабатывала нормально. Мне кажется, что все же проблема с координатой Z.
Пробовал получать координату через GetSurfaceZ и задавать вручную перебором в цикле ничего не ловит.