Скрипт на сбор растений

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Скрипт на сбор растений

Post by vorm »

Положение: есть поле, поле больше, ручки сразу до всего не дотягиваються, тянуться только на 4 клетки!

дальше два варианта:

Code: Select all

sub main() 
uo.set('finddistance','4')
repeat
UO.Findtype('0x1A99','-1','ground')
uo.usefromground(0x1A99)
wait(400)
until false
endsub


Все хорошо, но

Code: Select all

uo.set('finddistance','4') 

Похоже не дает условие для
uo.usefromground('type')

Как поступить?

Вариант дЫва:

Образ перебора тайлов:

Code: Select all

Sub main()
VAR x, y, t, k

for y=-2 to 2
   for x=-2 to 2
      k = 0
      repeat
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
         UO.CancelTarget()
         wait(300)
         UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
   UO.UseType('type'); если так или uo.usefromgroud('T') всеравно пытаеться дотянуться до недоступных тайлов
         repeat
            wait(300)
         until false
endsub


Возможноли просто обусловить Дабл клик по тайлу.

Заранее огромное спасибо за внимание!
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Если у растения есть тип, то

Code: Select all

sub Get_Herb()
  var type=
 
  uo.Set('finddistance','4')
  while not uo.Dead()
    uo.FindType(type,'-1','ground')
    if uo.FindCount() then
      uo.UseObject('finditem')
      wait(350)
    else
      wait(100)
    end if
  wend
end sub     
   
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Post by vorm »

Да, в теории здорво... но он почему то всеравно хочед дотянуться до недоступных тайлов =(
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

uo.Set('finddistance','0') тада )
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Post by vorm »

Это неприемлимо раз, и два, разницы мало!

Как сделать что бы он "атачил тайл"? просто дабл клик на заданый тайл
Purgen
Posts: 187
Joined: 2005-04-04 18:23:12

Post by Purgen »

Есть вот такая штука http://yoko.com.ua/help/help.php?lang=r ... targettile , но сомневаюсь, что прокатит.

А вобще-то Скриптс Врайтер показал правильный скрипт, поиграйся с дистанцией, попробуй выставить 2, 3, 5..
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Post by vorm »

ну я пробывал по всякому её менять... ноль эмоций, всеравно думает, что у него руки резиновые!

Code: Select all

uo.waittargettile(lasttile/tilenum,[x],[y],[z])


Здорво, но он просто устанавливает ловушку... а далее следующий "Use'type'" пытаеться удленнить руки!
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Игнорируй
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Post by vorm »

Ага, вот это уже интересней, а как игнорировать все что выходит за дистанцию определенную? Конкретно кусок кода, пожалуйста, если можно!
Purgen
Posts: 187
Joined: 2005-04-04 18:23:12

Post by Purgen »

uo.Set('finddistance','4') ;)
Всё, что дальше - игнорируеться.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

uo.Ignore('finditem')
vorm
Posts: 15
Joined: 2008-07-13 23:17:10

Post by vorm »

Purgen wrote:uo.Set('finddistance','4') ;)
Всё, что дальше - игнорируеться.


Должна игнорироваться! Но не игнорируеться!

Scripts Writer wrote:

Code: Select all

uo.Ignore('finditem')


Эт я знал... но конкретно допустим к следующему коду как привязать?

ЗЫ. вот родил код... но что то он даже не пытаеться потыкать в цвяточки:

Code: Select all

sub main()
uo.set('finddistance','4')
var xlop='0x1A9B'
var xlop2='0x1A9C'
var cnt
uo.findtype(xlop,-1,'ground')
cnt=uo.findcount()
while cnt>0
uo.findtype(xlop,-1,'ground')
cnt=uo.findcount()
uo.useobject('Finditem')
wait(400)
uo.findtype(xlop2,-1,'ground')
if uo.findcount() then
uo.grab(0,'finditem')
wait(666)
endif
wend
end sub
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Попробуй увеличить задержку.
Post Reply