Карпетни

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
zarg
Posts: 116
Joined: 2004-08-29 08:33:44

Карпетни

Post 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 логов после того как скрафтит стаф... кто знает че делать?
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Re: Карпетни

Post by Askaneli »

zarg wrote:

Code: Select all

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

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

Потому что такм написано брать 300 !!!
Сделал дело - флуди смело !!!
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Re: Карпетни

Post by AGRS »

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


Замени uo.Grab('300','finditem') на функцию восполнения.
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post 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
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

Sfagnum wrote:пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then

мне лень стало читать скрипт, просто отмечу что uo.FindCount вернёт не количество чего-то-там в стопке, а количество найденых стопок
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Yoko wrote:
Sfagnum wrote:пробуй
if uo.GetQuantity('finditem')<10 then
заменить на
if uo.FindCount()<10 then

мне лень стало читать скрипт, просто отмечу что uo.FindCount вернёт не количество чего-то-там в стопке, а количество найденых стопок
мдямс...
а uo.GetQuantity('finditem') в некоторых скриптах, хз почему, толи глючит толи хз :)
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

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


Тобишь ты хочешь сказать что если в паке меньше 10 кучек с логами, надо нагрести еще?! Интересная мысль!
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

AGRS wrote:Тобишь ты хочешь сказать что если в паке меньше 10 кучек с логами, надо нагрести еще?! Интересная мысль!
читай выше... попутал значение с Count.
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post 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
zarg
Posts: 116
Joined: 2004-08-29 08:33:44

Post 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

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