Кто сможет зделать ?

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
Vija [ XAOC ]
Posts: 35
Joined: 2005-01-16 17:25:54
Contact:

Кто сможет зделать ?

Post by Vija [ XAOC ] »

если 1 контейнер переполнен (255-итемов ) сбрасовать в 2 а если 2-переполнен то в 3 --- как написать такое ?
Last edited by Vija [ XAOC ] on 2005-02-27 01:35:46, edited 1 time in total.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Что-то наподобе этого.

Code: Select all

      UO.FindType("Type","-1") 
      UO.MoveItem('finditem',0,Bag)
      CheckLag()
      If UO.InJournal("Too many items") then
         NewBag()
      Endif
....
sub NewBag()
   UO.UseObject(FirstContainer)
   UO.UseObject(SecondContainer)
   UO.FindType(BagType, -1, FirstContainer)
   Bag=UO.GetSerial('finditem')
   UO.MoveItem(Bag, 0, SecondContainer)
   wait(1000)
end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Нет, в данном случае достаточно использовать два цикла For вложенные друг в друга.
Vija [ XAOC ]
Posts: 35
Joined: 2005-01-16 17:25:54
Contact:

Подумал я и решил сам написать )))

Post by Vija [ XAOC ] »


while UO.Count(0x0F4F) > 0
UO.FindType(0x0F4F,-1,-1)
UO.MoveItem('finditem', 0, 0x4028571A)
wait(500)
UO.FindType(0x0F4F,-1,-1)
UO.MoveItem('finditem', 0, 0x40285481)
wait( 900 )
wend

скрипт работает - если в 1 сундуку нет места он Пхнет предмети во 2
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

,-1,-1 в данном случае бакпак? Интересная идея, но нерационально.
Vija [ XAOC ]
Posts: 35
Joined: 2005-01-16 17:25:54
Contact:

Post by Vija [ XAOC ] »

Я чюток не так Тему написал = мне надобило : Какда я крафчю я сбрасиваю с БЕКПАКА (вещь) в контейнер(1) ( если он полной полний(255 итемов) то во (2-контейнет) ---- етот скрипт Ето и делает .
BETEPAH
Expert!
Posts: 838
Joined: 2004-05-31 09:31:51
Contact:

Post by BETEPAH »

Видж....а что мешает сделать немного по другому ...
Берем мешочек из сундука, делаем его ресив конт. То бишь весь крафт кидается в мешочек, когда в мешочке 255 итемов то сброс мешочка в сундук и граб ногово мешочка и так по кругу.
Все просто.
BETEPAH ™
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

BETEPAH wrote:Видж....а что мешает сделать немного по другому ...
Берем мешочек из сундука, делаем его ресив конт. То бишь весь крафт кидается в мешочек, когда в мешочке 255 итемов то сброс мешочка в сундук и граб ногово мешочка и так по кругу.


Подобные скрипты прикольно через terminate снимать. Снимаешь, начинаешь что-нибудь на базе делать другое, крафтить или перекладывать, а все куда-то деется, непонятно куда... :lol:
Vija [ XAOC ]
Posts: 35
Joined: 2005-01-16 17:25:54
Contact:

Post by Vija [ XAOC ] »

Да идея класная - сенк Друзя.
Goggy
Posts: 291
Joined: 2004-11-07 01:22:35
Location: Черкассы
Contact:

Post by Goggy »

Да идея клас ная и мнео она пришла дааавно когда ещё тока, тока учился писать скрипты, какраз этот и написал, я даже ради прикола ничего в нём не менял :D

ну тока документировал и всё ;)

Code: Select all

#*Примечание:  Перед началом скрипта положите под себя 
#пустой или незаполненый до конца мешочек :)
#
#Описание работы:
#Находится под собой мешочек, проверяеn незаполненли он,
# и если нет, то устанавливает на него переброс контеёнер и начинает
# крафт. Когда мешочек заполняется, кладёт его в UnSunduk и берёт
# из Sunduk'a новый и так пока некончатся инги или мешочки :)

# внизу прилогается фуфнуция которая сбрасывает все установки
# скрипта в нормальное сосьояние, то есть устанавливает дистанцию,
# сбрасывает переброс конт. и тд...


sub IronDagger()
   VAR Ingi = '0x1BEF'                                ;тип айрона
   VAR Sunduk = '0x400896A7'      ;Сундук с мешочками
   VAR UnSunduk = '0x40089941'      ;для сброса мешков
   VAR Bag = '0x0E76'         ;тип мешочков
   VAR Dagger = '0x0F51'      ;тип даггеров
   VAR k = 0
   VAR mx = UO.GetX('self')
   VAR my = UO.GetY('self')
   VAR mz = UO.GetZ('self')
 uo.set('finddistance',str(2))
 UO.Useobject(Sunduk)
 UO.Useobject(UnSunduk)
Snova:
 UO.UnSetReceivingContainer()
 wait(100)
  repeat
       UO.unsetcatchbag()
       wait(500)
      UO.FindType( Ingi, -1, 'my' )   
      wait(300)
      UO.Drophere('finditem')
     wait(3000)
     UO.FindType( Ingi, -1, 'ground' )   
      wait(300)
     If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found!!! Exit!!!!")
          return
     Endif
      UO.Grab( Str( 700 ), 'finditem' )
      wait( 3000 )
      UO.FindType(Bag,-1, 'ground')
      UO.FindType(Dagger,-1, 'finditem')
      If UO.FindCount() > 160 then
     UO.FindType(Bag,-1, 'ground')
      wait(300)
     UO.SetReceivingContainer(UnSunduk)
     UO.Grab( Str( 1 ), 'finditem' )
      wait( 3000 )
      UO.UnSetReceivingContainer()
      UO.FindType(Bag,-1, Sunduk)
      wait(300)
     If UO.FindCount() == 0 Then
         UO.Print("No Bags found!!!! Exit!!")
          goto vse
     Endif
     UO.moveitem ('finditem', 1, 'ground', str(mx), str(my), str(mz))
      wait( 3000 )
      UO.useobject('finditem')
      end if
     UO.FindType(Bag,-1, 'ground')
      UO.setcatchbag('finditem')
      UO.useobject('finditem')
      vse:
    While UO.Count( Ingi ) > 30
        While NOT UO.Hidden()
           UO.Useskill("Hiding")
           wait(3000)
        wend
       UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.UseType(Ingi)
         UO.Exec("waitmenu 'Blacksmithing' 'Weapons' 'Weapons' 'Swords & Blades' 'Swords & Blades' 'dagger'")
         k = 0
         
       while NOT UO.InJournal('You have fail to make anything') AND NOT UO.InJournal('You put the dagger in your pack') AND ( k < 40 )
           k = k + 1
           wait(500)
         wend
      
       if k < 6 then
           wait(3000)
         end if         
      
       UO.FindType( Ingi, -1, 'my' )
      
       if UO.Count( Ingi ) > 1000 then
          UO.Drophere('finditem')
          wait(2000)
       end if
       UO.FindType( Bag, -1, 'ground' )
       UO.FindType( Dagger, -1, 'finditem' )
      
       If uo.FindCount() > 250 Then
         goto Snova
       end if
      
       UO.DeleteJournal()
      
   Wend
   UO.unsetcatchbag()   
 until UO.Dead()
end sub

sub unset()
UO.unsetcatchbag()
UO.UnSetReceivingContainer()
uo.set('finddistance',str(13))
uo.set('distance',str(13))
UO.IgnoreReset()
end sub
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

Ты б поконкретнее написал чо ты крафтишь, а раз не написал - перепишешь етот скрипт сам. Он для ме1 на шитье шапок.

Code: Select all

sub main()
UO.Exec("set finddistance 2")
UO.Print("ShapkodelkO by AzaToT(c)")
wait(100)
while not UO.FindCount()==0 or UO.Count("0x1078")>1
     UO.Canceltarget()
      UO.FindType("Pouch","0x0003",1) ;перед использованием скрипта все коробки покрасить в цвет 0х0003 (синий)
           If UO.FindCount()<1 then ;не знаю как у других,
             goto HappyEnd ;но у меня когда чар не находит коробки,
            endif ;в finditem он добавляет всякие левые объкты и макрос не выключаетсо..=(
       wait(1500)
       UO.Addobject("Box",'finditem')
       UO.Setcatchbag("Box")
       UO.Useobject("Box")
Tailoring:
        UO.CancelTarget()
          wait(100)
        UO.Print("Hides =" + str(UO.Count("0x1078"))) ;Hides
        UO.UseType("0x09F2") ;еда, здесь стоит cuts of ribbs
          wait(100)
        UO.Exec("waitmenu 'Choose a category' 'leather' 'What you you want to create' 'Leather Cap'")
        UO.WaitTargetType("0x1078") ;Hides
          wait(100)
        UO.UseType("0x0f9d") ;Sewing Kit
          wait(3000)
        UO.WaitTargetSelf() ;Если эксепт...
          wait(3000)
         UO.FindType("shapki","0x0000",'Box') ;считаем шапочки
If UO.FindCount()<148 and UO.Count("0x1078")>1 or not UO.InJournal("That item is too heavy for the container or the container is full.") then ;условия продолжения шитья шапок
 wait(100)
goto Tailoring
endif
      If UO.FindCount()>147 or UO.Count("0x1078")<2 or UO.InJournal("That item is too heavy for the container or the container is full.") then ;условия смены сумки
      UO.DeleteJournal()
       UO.Unsetcatchbag()
       UO.Waittargetobject("Box") ;красим заполненую сумку.
       wait(100)
       UO.Usetype("0x0FAB") ;второй dying tub, не 0х0003 и не 0x002B цвета! (синий)
       wait(1000)
       UO.Canceltarget()
 UO.FindType("Pouch","0x0003",1) ;для измерения кол-ва оставшихся свободных сумок.
endif
wend
HappyEnd:
MessageBox("He XBaTaeT PecypcoB, Terminate Script") ;всплывающее окошко-оповещение, если хотите чтобы скрипт выключился в ваше отсутствие нужно поставить # в начале строки.
#UO.Launch("shutdown.exe -t 00 -s") ;удалить "#" если хочешь чтобы после окончания скрипта компьютер выключился.
#UO.CloseUO() ;удалить "#" если хочешь чтобы УО выключилась после завершения скрипта.
end sub

Я не помню чо там в описаниях написано: напишу еще раз.
1 - раскладываешь вокруг себя ( или под себя ) коробки, крашеные в стандартный синий цвет 0x0003
2 - в пак кладем dying tub с любой краской внутри КРОМЕ 0x0003
3 - включаем

пс забыл написать - в закладке object types прописываем Pouch или редактируем скрипт.
Post Reply