Yoko

All sides of Injection
It is currently 2025-11-23 01:41:05

All times are UTC+02:00




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
PostPosted: 2010-02-10 22:13:46 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
незнаю что сделать.. логи не берет из сундука. ( вернее берет но только когда запускаешь скрипт,а как доходит до 10 или менее логов просто стоит и тупит.. помогите доделать плз..




#####################################################################
;
; Чар берет из сундука логи, крафтит луки
; и кидает их в трэш.
; Если логи закончились - выход.
;
sub bow()
VAR Musor = '0x4038A724'
VAR Sunduk = '0x4018F0BA' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Instrum = '0x0F51' ; Тип ножика
VAR Bow = '0x13B1' ; Тип лука
VAR Kolvo = 200 ; Брать логов
VAR k = 0
While TRUE
if not uo.count('0x0FA0') then
uo.findtype('0x0FA0','0x0000',Sunduk)
if uo.findcount() then
uo.moveitem('finditem','200','backpack')
wait(1000)
else
uo.print('NITKI ZAKONCHILIS')
return
endif
endif
if not uo.count(Logi) then
UO.FindType(Logi,' -1',Sunduk) ; Ищем логи в сундуке
If UO.FindCount() == 0 then
UO.Print("Logs not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
endif
While UO.Count( Logi ) > 10
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logs' )
UO.DeleteJournal()
uo.waitmenu('What do you want to carve','bow')
uo.waittargettype(Logi)
UO.UseType( Instrum )
repeat
wait(500)
until UO.InJournal('You put the bow in your pack.') or UO.InJournal('You fail to create the item')
if UO.Count( Bow ) > 0 then
UO.FindType( Bow, -1, -1 )
UO.MoveItem( 'finditem', 0, Musor )
wait( 1000 )
UO.Print( 'Bow moved' )
end if
Wend
Wend
end sub


Top
   
PostPosted: 2010-02-10 22:32:11 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
неправильно условие добора выставленно
While UO.Count( Logi ) > 10 делает лук пока логов больше 10- правильно НО выше

if not uo.count(Logi) then
добирает ЕСЛИ логов вообще нет. Цикл убивает себе мозг.

if uo.count(Logi)<10 then

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


Top
   
PostPosted: 2010-02-11 00:47:54 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
спасибо большое )) все работает


Top
   
PostPosted: 2010-02-11 12:16:41 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
ааааааа((( логи брать стал а нитки перестал (( и когда логов ровно 10 остаетьсся чар просто становиться и все ни чего не делаеть.. можно как нибудь сделать чтоб и 10 было включительно??


Top
   
PostPosted: 2010-02-11 12:27:42 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
опять же не правильное условие но теперь в
While UO.Count( Logi ) > 10
нет условия на конец ниток :)

While UO.Count( Logi ) > 10 or UO.Count( 'тип ниток' ) > 10

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


Top
   
PostPosted: 2010-02-11 12:43:23 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
вообше ничего недобирает теперь )))) незнаю мож я что то не так делаю,совсем дуб.. вобщем вот так )


#####################################################################
;
; Чар берет из сундука логи, крафтит луки
; и кидает их в трэш.
; Если логи закончились - выход.
;
sub bow()
VAR Musor = '0x413C2D8D'
VAR Sunduk = '0x4018F0BA' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Instrum = '0x0F51' ; Тип ножика
VAR Bow = '0x13B1' ; Тип лука
VAR Kolvo = 200 ; Брать логов
VAR k = 0
While TRUE
if not uo.count('0x0FA0') then вот же вроде на окончанее ниток...
uo.findtype('0x0FA0','0x0000',Sunduk)
if uo.findcount() then
uo.moveitem('finditem','200','backpack')
wait(1000)
else
uo.print('NITKI ZAKONCHILIS')
return
endif
endif
if uo.count(Logi)< 10 then
UO.FindType(Logi,' -1',Sunduk) ; Ищем логи в сундуке
If UO.FindCount() == 0 then
UO.Print("Logs not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
endif
While UO.Count( Logi ) > 10
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logs' )
UO.DeleteJournal()
uo.waitmenu('What do you want to carve','bow')
uo.waittargettype(Logi)
UO.UseType( Instrum )
repeat
wait(500)
until UO.InJournal('You put the bow in your pack.') or UO.InJournal('You fail to create the item')
if UO.Count( Bow ) > 0 then
UO.FindType( Bow, -1, -1 )
UO.MoveItem( 'finditem', 0, Musor )
wait( 1000 )
UO.Print( 'Bow moved' )
end if
Wend
Wend
end sub


Top
   
PostPosted: 2010-02-11 14:33:46 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
алгоритм у тебя
если нет ниток то добираем (1-норазовая проверка)
если логов меньше 10 то добираем (1-норазовая проверка)
делаем луки пока ЛОГОВ больше 10... (цикл)

на последнем цикли и зависает так как обязательно условие - отсутствие ЛОГОВ а не логов или ниток. Смотри последнюю стоку в моем предыдущем сообщении.

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


Top
   
PostPosted: 2010-02-11 14:53:31 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
я так делал уже.. но все равно что то не то ( когда вставляешь это строчку. он перестает логи брать... и нитки.. только при запуске берет раз а в процессе нет ..
смотри все так?


sub bow()
VAR Musor = '0x41550379'
VAR Sunduk = '0x4018F0BA' ; Сериал сундука
VAR Logi = '0x1BDD' ; Тип логов
VAR Instrum = '0x0F51' ; Тип ножика
VAR Bow = '0x0F4F' ; Тип лука
VAR Kolvo = 200 ; Брать логов
VAR k = 0
While TRUE
if not uo.count('0x0FA0') then
uo.findtype('0x0FA0','0x0000',Sunduk)
if uo.findcount() then
uo.moveitem('finditem','200','backpack')
wait(1000)
else
uo.print('NITKI ZAKONCHILIS')
return
endif
endif
if uo.count(Logi)< =12 then
UO.FindType(Logi,' -1',Sunduk) ; Ищем логи в сундуке
If UO.FindCount() == 0 then
UO.Print("Logs not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
endif
While UO.Count( Logi )>12 or UO.Count( '0x0FA0' )>12
; Пока в паке есть логи
UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logs' )
UO.DeleteJournal()
uo.waitmenu('What do you want to carve','Exceptional Bows','Exceptional Bows','Superior Crossbow')
uo.waittargettype(Logi)
UO.UseType( Instrum )
repeat
wait(500)
until UO.InJournal('You put the Superior Crossbow in your pack.') or UO.InJournal('You fail to create the item')
if UO.Count( Bow ) > 0 then
UO.FindType( Bow , -1, -1 )
UO.MoveItem( 'finditem', 0, Musor )
wait( 1000 )
UO.Print( 'Bow moved' )
end if
Wend
Wend
end sub


Top
   
PostPosted: 2010-02-11 15:26:37 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
пропиши свои типы.
2 или 3 сундука. в одном пустые мешки, в другом полные с луками. Еда (рыба) логи нитки.Тесть :)

Code:
VAR Container   = '0x40C0E9A6'   ;айрон, рыба, инструменты, может быть равен Sunduk 1
VAR Sunduk1   = '0x407ADC1A'   ;пустые мешки
VAR Sunduk2   = '0x407ADE6A'   ;полные
VAR log      = '0x1BDD'   
VAR Dagger   = '0x0F51'      
VAR Bow      = '0x13B1'      #лук#
VAR spool      = '0x0FA0'      #нитки#
VAR Meshok   = '0x0E76';тип мешка
VAR MeshSer, d, LastTimer
var havka      = '0x097B'
var colbow   = 50 ; количество луков в 1 мешке

###################
sub Bowcraft()
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, 200)
   GET(spool, Container, 5, 100)
   Repeat
     UO.DeleteJournal()
      LastTimer=UO.Timer()
       UO.WaitMenu ('What do you','Exceptional Bows','Exceptional Bows','Superior Crossbow')
       UO.waittargettype ( log )
       UO.Usetype( Dagger )
      repeat
        wait( 100 )
      until UO.InJournal("You put|положили|fail|не удалось|You broke|сломали") or UO.Timer()>LastTimer+150
   Until UO.Count( Bow )>0
checklag()
   PUT(Bow, MeshSer)
   UO.FindType( Bow, -1, MeshSer)
  UO.Print('Сделано луков: ' + Str( UO.FindCount( Bow ) ) )
  UNTIL UO.FindCount()>=colbow
  UO.Print('Берем другую сумку' )
  wait( 300 )
 WEND
end sub
###################
Sub eat()
   GET(havka, Container, 1, 20)
  REPEAT
   UO.DeleteJournal()
    LastTimer=UO.Timer()
     UO.findtype(havka,-1,'backpack')
          If UO.FindCount() > 0 Then
             UO.Useobject('finditem')
      wait(200)
              Else
             UO.Print( 'кончилась рыба' )
            return 0
          end if
  Until UO.InJournal("stuffed!|think|found|Вы ничего не можете") OR UO.Timer()>LastTimer+200
   PUT(havka, Container)
end sub

Sub GET(item, cont, min, max)          ;    предмет, откуда, минимум, сколько брать
    If UO.Count( item ) < min Then
#       UO.Print("Кончилось сырье в рукзаке")
        UO.FindType( item, '-1', cont )
          if UO.FindCount() > 0 Then
#        UO.Print('Сырья в сундуке: ' + Str( UO.FindCount( item ) ) )
             uo.moveitem('finditem', max, 'backpack')
                 checklag()
          else
           UO.Print( 'Полностью кончилось сырье' )
           UO.CancelMenu()
                MyTerminate()
          endif
    Endif
end sub
Sub PUT(item, cont)
      while UO.Count( item ) > 0
        UO.FindType( item, -1, -1 )
         UO.MoveItem( 'finditem', 0, cont )
        checklag()
      wend
end sub

Sub DeleteJournal(msg)
 While UO.InJournal(msg)
     UO.SetJournalLine(UO.InJournal(msg) - 1,'')
 wend
endsub

Sub MyTerminate()
    UO.Set('quiet','1')
    UO.CancelMenu()
    UO.IgnoreReset()
    UO.Set('quiet','0')
    UO.Exec('terminate all')
end sub

Sub checklag()
  DeleteJournal("ackpack")
  UO.Click("backpack")
  repeat
    wait(100)
  until UO.InJournal("ackpack")
end sub

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


Top
   
PostPosted: 2010-02-11 16:00:23 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
он почему то пытаеться взять все логи... и тупит пытаясь их себе в пак перекинуть


Top
   
PostPosted: 2010-02-11 16:21:46 
Offline

Joined: 2010-02-10 22:01:28
Posts: 7
мне бы тот скрипт первый что я кидал... он просто по проще.. вот только нитки не берет..((


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 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