Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Ловля рыбы

тут можно задать вопрос по скриптингу
Post Reply
Tomers
Novice
Novice
Posts: 99
Joined: 06.08.2009 11:51

Ловля рыбы

Post by Tomers »

Добрый день.
При ловле рыбы конструкция:

Code: Select all

WaitTargetXYZ(GetX(self)+3,Gety(self),GetZ(self));
UseObject(FindType(fish_pole,$ffff));
Нормально работает при ловле с корабля, но не работает при ловле с пирса, хотя руками с пирса по этим же координатам работает нормально. Подскажите в чем проблема и как можна решить. Готовые скрипты на ловлю рыбы смотрел, через "targettotile" ловить не хочет или возможно я не разобрался с "targettotile".
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Ловля рыбы

Post by Vizit0r »

последнее вернее.
основной вопрос - не знаю.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Tomers
Novice
Novice
Posts: 99
Joined: 06.08.2009 11:51

Re: Ловля рыбы

Post by Tomers »

Подскажите, как прописать забрасывание удочки в воду с пирса.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Ловля рыбы

Post 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;
My name is Игорёшка Image
Пишу скрипты за едуImage
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Re: Ловля рыбы

Post by Gunter »

Может быть просто координата Z на пирсе не соответствует координате Z требуемого тайла? Например, у воды координата равна -5, а на пирсе -2.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Ловля рыбы

Post by MuDaCk »

Gunter wrote:Может быть просто координата Z на пирсе не соответствует координате Z требуемого тайла? Например, у воды координата равна -5, а на пирсе -2.
у вас -2, у меня 251)))
My name is Игорёшка Image
Пишу скрипты за едуImage
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Ловля рыбы

Post by Vizit0r »

выкинь инжект, да? :)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Tomers
Novice
Novice
Posts: 99
Joined: 06.08.2009 11:51

Re: Ловля рыбы

Post 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;
не работает.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Ловля рыбы

Post by MuDaCk »

Tomers wrote:
не работает.
Слёту могу два-три варианта "не работает" расписать
1) В сисжурнале пишется "useobject error"
2) В Уожурнале пишется "объект слишком далеко"
3) Тут нельзя рыбачить
4) в УОжурнале:"Удочка должна быть в руках".

Выражайтесь точнее.
My name is Игорёшка Image
Пишу скрипты за едуImage
Tomers
Novice
Novice
Posts: 99
Joined: 06.08.2009 11:51

Re: Ловля рыбы

Post 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 и задавать вручную перебором в цикле ничего не ловит.
Post Reply