Page 1 of 1

Карпетни

Posted: 2004-10-28 05:35:47
by zarg
sub Carpentry()
var Exit=0, LastTimer
uo.Print('Выбери Сундук: ')
uo.Exec('addobject Chest')
while uo.Targeting()
wait(100)
wend
uo.Print('Выбери Помойку: ')
uo.Exec('addobject TrashCan')
while uo.Targeting()
wait(100)
wend
while Exit<>1
uo.DeleteJournal()
uo.FindType('0x0E89','0x0000','backpack')
if uo.GetQuantity('finditem')>0 then
uo.SetReceivingContainer('TrashCan')
wait(1000)
uo.Grab('300','finditem')
wait(1000)
uo.UnSetReceivingContainer()
end if
uo.FindType('0x1BDD',-1,'backpack')
if uo.GetQuantity('finditem')<10 then
uo.FindType('0x1BDD','0x0000','Chest')
wait(1000)
uo.Grab('300','finditem')
wait(1000)
end if
LastTimer=uo.Timer()
uo.DeleteJournal()
uo.UseType('0x1035')
uo.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
wait(12000)
wend
end sub






Вот скрипт на карпетни тока у меня проблемка чар берет по 300 логов после того как скрафтит стаф... кто знает че делать?

Re: Карпетни

Posted: 2004-10-28 05:58:41
by Askaneli
zarg wrote:

Code: Select all

...
uo.Grab('300','finditem')
...

Вот скрипт на карпетни тока у меня проблемка чар берет по 300 логов после того как скрафтит стаф... кто знает че делать?

Потому что такм написано брать 300 !!!

Re: Карпетни

Posted: 2004-10-28 06:22:44
by AGRS
zarg wrote:Вот скрипт на карпетни тока у меня проблемка чар берет по 300 логов после того как скрафтит стаф... кто знает че делать?


Замени uo.Grab('300','finditem') на функцию восполнения.

Posted: 2004-10-28 07:53:05
by Sfagnum
2 zarg
научись постить скрипты.

2 остальные
вы б хоть скрипт просмотрели, понимаю глаза сломать можно...
там такой код:

Code: Select all

uo.FindType('0x1BDD',-1,'backpack') 
if uo.GetQuantity('finditem')<10 then
   uo.FindType('0x1BDD','0x0000','Chest')
   wait(1000)
   uo.Grab('300','finditem')
   wait(1000)
end if


2 zarg
имей привычку искать одно и тоже - буквально.
пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then

Posted: 2004-10-28 09:24:03
by Yoko
Sfagnum wrote:пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then

мне лень стало читать скрипт, просто отмечу что uo.FindCount вернёт не количество чего-то-там в стопке, а количество найденых стопок

Posted: 2004-10-28 09:32:05
by Sfagnum
Yoko wrote:
Sfagnum wrote:пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then

мне лень стало читать скрипт, просто отмечу что uo.FindCount вернёт не количество чего-то-там в стопке, а количество найденых стопок
мдямс...
а uo.GetQuantity('finditem') в некоторых скриптах, хз почему, толи глючит толи хз :)

Posted: 2004-10-28 12:44:38
by AGRS
Sfagnum wrote:2 zarg
имей привычку искать одно и тоже - буквально.
пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then


Тобишь ты хочешь сказать что если в паке меньше 10 кучек с логами, надо нагрести еще?! Интересная мысль!

Posted: 2004-10-28 13:15:12
by Sfagnum
AGRS wrote:Тобишь ты хочешь сказать что если в паке меньше 10 кучек с логами, надо нагрести еще?! Интересная мысль!
читай выше... попутал значение с Count.

Posted: 2004-10-28 18:56:40
by AGRS
Вот так должно быть в идеале. Задумку автора сохранил, протестировал на голой сфере.

Code: Select all

sub Carpentry()

# Выбрать Сундук
  uo.Print('Выбери Сундук: ')
  uo.Exec('addobject Chest')
  while uo.Targeting()
   wait(100)
  wend

# Выбрать Трэш
  uo.Print('Выбери Помойку: ')
  uo.Exec('addobject TrashCan')
  while uo.Targeting()
    wait(100)
  wend

# Приступить к крафту
  while True
 
  # Очистить журнал ( хз зачем... ну автору виднее... %-) )
    uo.DeleteJournal()

    # Выгрузить посохи из пака в Трэш
    repeat
      uo.FindType('0x0E89','0x0000','backpack')
      if uo.FindCount()>0 then
        uo.MoveItem('finditem','0','TrashCan')
        wait(1000)
      end if
    until uo.FindCount()<2

  # Подгрузить логи в Пак из Сундука   
    if uo.Count('0x1BDD')<300 then
      uo.FindType('0x1BDD','0x0000','Chest')
      if uo.FindCount()==0 then
        Return
      end if
      uo.MoveItem('finditem', STR(300-uo.Count('0x1BDD')), 'backpack')
      wait(1000)
    end if

  # Приступить собсна к производству
    repeat
     ;DoCraft()
      DoCraft_AGRS_Edition()
    until uo.Count('0x1BDD')<10
  wend

end sub

# Ипать вас фсех за ногу... Ну кто так крафтит?!
SUB DoCraft()
var LastTimer
    LastTimer=uo.Timer()
    uo.DeleteJournal()
    uo.UseType('0x1035')
    uo.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
    wait(12000)
END SUB

# Так должен выглядеть нормальный работающий ДуКрафт уровня десятилетнего нюба
SUB DoCraft_AGRS_Edition()
  uo.CancelMenu()
  uo.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
  uo.UseType('0x1035')
  wait(12000)
END SUB

Posted: 2004-10-29 06:06:07
by zarg
AGRS wrote:Вот так должно быть в идеале. Задумку автора сохранил, протестировал на голой сфере.

Code: Select all

sub Carpentry()

# Выбрать Сундук
  uo.Print('Выбери Сундук: ')
  uo.Exec('addobject Chest')
  while uo.Targeting()
   wait(100)
  wend

# Выбрать Трэш
  uo.Print('Выбери Помойку: ')
  uo.Exec('addobject TrashCan')
  while uo.Targeting()
    wait(100)
  wend

# Приступить к крафту
  while True
 
  # Очистить журнал ( хз зачем... ну автору виднее... %-) )
    uo.DeleteJournal()

    # Выгрузить посохи из пака в Трэш
    repeat
      uo.FindType('0x0E89','0x0000','backpack')
      if uo.FindCount()>0 then
        uo.MoveItem('finditem','0','TrashCan')
        wait(1000)
      end if
    until uo.FindCount()<2

  # Подгрузить логи в Пак из Сундука   
    if uo.Count('0x1BDD')<300 then
      uo.FindType('0x1BDD','0x0000','Chest')
      if uo.FindCount()==0 then
        Return
      end if
      uo.MoveItem('finditem', STR(300-uo.Count('0x1BDD')), 'backpack')
      wait(1000)
    end if

  # Приступить собсна к производству
    repeat
     ;DoCraft()
      DoCraft_AGRS_Edition()
    until uo.Count('0x1BDD')<10
  wend

end sub

# Ипать вас фсех за ногу... Ну кто так крафтит?!
SUB DoCraft()
var LastTimer
    LastTimer=uo.Timer()
    uo.DeleteJournal()
    uo.UseType('0x1035')
    uo.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
    wait(12000)
END SUB

# Так должен выглядеть нормальный работающий ДуКрафт уровня десятилетнего нюба
SUB DoCraft_AGRS_Edition()
  uo.CancelMenu()
  uo.WaitMenu ('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
  uo.UseType('0x1035')
  wait(12000)
END SUB

спасибо за скрипт скрипт отличный