Yoko

All sides of Injection
It is currently 2025-10-15 12:06:42

All times are UTC+02:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
 Post subject: Carpentry
PostPosted: 2010-12-14 12:52:58 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
Есть скриптик как бы для всех крафтов хорош, но чета я тут затупил и не могу понять почему он крафт меню не выводит и не делает стул.
Подозреваю что проблема в этом куске
Code:
uo.DeleteJournal() 
uo.WaitTargetType(Res1)
uo.UseType(Kit)
uo.WaitMenu ('Chairs','Stool') 
LastTimer=UO.Timer()
repeat
wait(100)
until uo.InJournal("You put") or uo.InJournal("Carpentry") or LastTimer+150<uo.Timer()
UnLoadItem()
wend
end sub


Но не могу понять что именно, прицел поидее создается и поидее должен юзаться на доски, но увы...
Подскажите пожалуйста в чем проблема, гуру.
Code:
var EQ,RQ1,RQ2,QB 
var Eat='0x097B' ; Еда
var Res1='0x1BD7' ; Доски
var Res2='0x1EB8' ; В данном случае тоже доски так как для стульев используется 1 ресурс
var Kit='0x1EB8' ; Инструмент (tool kit)
var Items='0x0A2A' ; Тип стула
EQ=50 ; кол-во еды
RQ1=200 ; кол-во ресурса 1
RQ2=0 ; кол-во ресурса 2


var ContainerRes='0x416E6CC7' ; Object с досками
var ContainerBag='0x407965C4' ; Object с сумками
var BagCount='0x0E76' ; Type сумок ContainerBag


sub Main()
uo.Set('quiet','1')
uo.Exec('exec Craft')
uo.IgnoreReset()
end sub

sub OpenBag()
var i,BagID
uo.UseObject(ContainerBag)
uo.UseObject(ContainerRes)
uo.IgnoreReset()
repeat
uo.DeleteJournal()
wait(1000)
uo.FindType(BagCount,'-1',ContainerBag)
if uo.FindCount('finditem') > 1 then
i=(uo.FindCount('finditem') +1)
uo.Click('finditem')
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType(Items,'-1',BagID)
uo.UseObject(BagID)
wait(2000)
uo.Hide(BagID)
uo.Ignore(BagID,'on')
end if
end if
i=(i-1)
until i==0
uo.Hide(ContainerBag)
uo.Hide(ContainerRes)
uo.Resend()
wait(3000)
uo.IgnoreReset()
end sub


sub Craft()
var Last=0,LastTimer
OpenBag()
While not uo.Dead()

;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|

uo.FindType(Eat,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Eat,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(3)
else
uo.Exec('Terminate Craft')
end if
else
ToEat()
end if
uo.FindType(Res1,'-1','me')
if uo.GetQuantity('finditem')<45 then
uo.FindType(Res1,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(1)
else
uo.Exec('Terminate Craft')
end if
end if
uo.FindType(Res2,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Res2,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(2)
else
uo.Exec('Terminate Craft')
end if
end if

;|-------------|
;| Craft Items |
;|-------------|

uo.DeleteJournal()
uo.WaitTargetType(Res1)
uo.UseType(Kit)
uo.WaitMenu ('Chairs','Stool') 
LastTimer=UO.Timer()
repeat
wait(100)
until uo.InJournal("You put") or uo.InJournal("Carpentry") or LastTimer+150<uo.Timer()
UnLoadItem()
wend
end sub

sub ToTake(i)
var G,F
if i==1 then
G=RQ1
F=Res1
end if
if i==2 then
G=RQ2
F=Res2
end if
if i==3 then
G=EQ
F=Eat
end if
uo.FindType(F,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
uo.Grab(''+str(G)+'','finditem')
uo.DeleteJournal()
repeat
uo.FindType(F,'-1','me')
wait(1500)
until uo.InJournal("That is too") or uo.GetQuantity('finditem') > 1
end if
end sub

sub ToEat()
uo.UseType(Eat)
end sub

sub UnLoadItem()
var BagID
var i=0
var m=0
repeat
uo.DeleteJournal()
uo.FindType(BagCount,'-1',ContainerBag)
uo.Click('finditem')
m=0
repeat
wait(1000)
until uo.InJournal("a bag")
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType('-1','-1',BagID)
if uo.FindCount('finditem')<51 then
m=uo.FindCount('finditem')
uo.SetReceivingContainer(BagID)
uo.FindType(Items,'-1','me')
uo.Grab('0','finditem')
uo.ConColor('0x0021')
uo.Set('quiet','0')
uo.Print(uo.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))
uo.Set('quiet','1')
uo.ConColor('0x0035')
wait(1000)
uo.UnSetReceivingContainer()
else
i=i+1
uo.Ignore(BagID, 'on')
end if
end if
if i==QB then
uo.IgnoreReset()
i=0
end if
uo.FindType(Items,'-1','me')
until uo.FindCount('finditem') < 1
end sub


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-14 21:13:21 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
зачем вы не разобравшись берете такие меголитические и непонятно для чего сделанные кроме самоудовлетворения скрипты? Найди чтонибудь попроще и разбирайся.
Вариантов почему не работает именно это множество - не так прописал инструменты, далеко от сундука стоишь и они не открываются, не то меню крафта... Напиши сперва скрипт из 5-6 строк

Code:
sub main()
ждем меню крафта
прицел на тип сырья (если нужно)
юзаем тип инструмента
пауза 6 секунд
endsub

Потом сравнишь с тем что тут наваял автор этого творения и найдешь ошибку.


Для сравнения мой "универсальный" крафтинг:

Code:
sub CarpentryClub() 
   var menu = "waitmenu 'Carpentry' 'Weapons' 'Weapons' 'Club'"
   var item = club
   WHILE NOT UO.Dead()
      UO.FindType( Meshok, '-1', Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      checklag()
      uo.useobject( MeshSer )
      eat()
      REPEAT
         GET(log, Container, 10, 300)
         GET(saw, Container, 1, 1)
         Repeat
            if HIDE then
               Hide()
            endif
            UO.DeleteJournal()
            LastTimer=UO.Timer()
            UO.exec( menu )
            UO.Usetype( saw )
            repeat
               wait( 300 )
            until UO.InJournal( msg ) or UO.Timer()>LastTimer+300
         Until UO.Count( item )>0
         checklag()
         PUT( item, MeshSer )
         UO.FindType( item, -1, MeshSer)
         uo.charprint(printcolour,'Дубин в мешке: ' + Str( UO.FindCount( item ) ) )
      UNTIL UO.FindCount()>=quantity
      uo.charprint(printcolour,'Берем другую сумку' )
      wait( 300 )
   WEND
end sub
(без процедур)

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-15 10:19:17 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
Угу, согласен. В чужих скриптах такого объема разобраться не легко, каждый пишет так как умеет, просто времени не хватало заняться им поэтому выложил готовый чтоб чутка помогли подправить, но в итоге забил и вчера написал нормальный. Спасибо за ответ.


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-20 20:49:38 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
Помогите пожалуйста переделать вот этот скрипт под удочки, необходимо чтобы он еще брал нитки из сундука.
Code:
sub carpentree()
      uo.Print('!!!!Где Логи!!!! ')
  uo.Exec('addobject cu')
  while uo.Targeting()
     wait(100)
  wend
        uo.Print('!!!!Траш Кан!!!! ')
  uo.Exec('addobject cu2')
  while uo.Targeting()
     wait(100)
  wend
        uo.Print('!!!!Пила!!!! ')
  uo.Exec('addobject cu3')
  while uo.Targeting()
     wait(100)
  wend
  while uo.dead()<1
  uo.findtype('0x1BDD','-1','my')
  if uo.GetQuantity('finditem') < 5 then
  uo.moveitem('finditem','30','cu2')
    uo.findtype('0x1BDD','-1','cu')
  uo.moveitem('finditem','300','my')
  wait(800)
  endif
  uo.useobject('cu3')
  wait('500')
  uo.waitmenu('Carpentry','Weapons & Tools','Weapons & Tools','quarter staff')
  wait(10000)
  uo.UseType('0x097B')
  uo.findtype('0x0E89','-1','my')
  wait(200)
  while uo.findcount()>0
  uo.moveitem('finditem','1','cu2')
uo.ignore('finditem') 
  uo.findtype('0x0E89','-1','my')
wait(800)
  wend
  wend
  endsub
 


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 09:45:59 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Если бы расставил отступы то все бы сам поправил.
Попробуй вот такой скрипт:
PS пропиши меню до удочки, тип удочки.
Code:
var item   = '0x0DBF'
VAR saw      = '0x1034'      ;пила
VAR log      = '0x1BDD'   
VAR spool   = '0x0FA0'      #нитки#
var printcolour = '1069'
VAR MeshSer, d, LastTimer, timemove, itemM
var msg ='You put|положили|fail|не удалось|You broke|сломали'
var menu = "waitmenu 'Carpentry' 'Weapons' 'Weapons' 'fishing'" ; проверить меню
sub carpentree()
   uo.Print('!!!!Где Логи и Нитки!!!! ')
   uo.Exec('addobject cu')
   while uo.Targeting()
      wait(100)
   wend
   uo.useobject( 'cu' )
   wait(500)
   uo.Print('!!!!Мусорка!!!! ')
   uo.Exec('addobject cu2')
   while uo.Targeting()
      wait(100)
   wend
   uo.useobject( 'cu2' )
   wait(500)
   while uo.dead()<1 ; <=== Хм...
      GET(log, 'cu', 10, 100)
      GET(spool, 'cu', 1, 100)
      Repeat
         UO.DeleteJournal()
         LastTimer=UO.Timer()
         UO.exec( menu )
         UO.waittargettype ( log )
         UO.Usetype( saw )
         repeat
            wait( 100 )
         until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
      Until UO.Count( item )>0
      wait( 100 )
      PUT(item , 'cu2')
      
   wend
endsub
Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать
   If UO.Count( item ) < min Then
      UO.FindType( item, '-1', cont )
      if UO.FindCount() > 0 Then
         uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) )
         itemM=UO.GetSerial('finditem')
         timemove=UO.Timer()
         while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer()
            uo.moveitem('finditem', max, 'backpack')
            wait(300)
         wend
      else
         uo.charprint(printcolour, 'Полностью кончилось сырье' )
         UO.CancelMenu()
         MyTerminate()
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      itemM=UO.GetSerial('finditem')
      timemove=UO.Timer()
      UO.MoveItem( 'finditem', 0, cont )
      while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
         wait(300)
      wend
   wend
end sub
Sub MyTerminate()
   UO.Set('quiet','1')
   UO.CancelMenu()
   UO.IgnoreReset()
   UO.Set('quiet','0')
   UO.Exec('terminate all')
end sub


Скрипт рассчитан что в мусорку можно просто скидывать предметы.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Last edited by Mirage on 2010-12-21 14:23:44, edited 1 time in total.

Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 10:59:48 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
Не хочет работать, ругается на cu, cu2 и так далее.


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 14:24:10 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Исправил. РАБОТАЕТ на моем сервере.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 19:33:05 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
На моем как бы тоже вроде как работает, но не до конца, либо не берет нитки и просто стоит ничего не делая, боюсь что проблема в версии инжекта, у меня 702.11


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 20:50:40 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Superuser wrote:
На моем как бы тоже вроде как работает, но не до конца, либо не берет нитки и просто стоит ничего не делая, боюсь что проблема в версии инжекта, у меня 702.11

Сундук может быть далеко слишком. Инжект такой же

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Carpentry
PostPosted: 2010-12-21 21:01:47 
Offline

Joined: 2010-12-14 11:52:17
Posts: 13
Mirage wrote:
Superuser wrote:
На моем как бы тоже вроде как работает, но не до конца, либо не берет нитки и просто стоит ничего не делая, боюсь что проблема в версии инжекта, у меня 702.11

Сундук может быть далеко слишком. Инжект такой же


Не, сундук рядом, он его открывает, говорит сколько там ресов и ничего не берет оттуда. Стою уже 80 карпы, а я все на кватерстафах качаю =)))


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited