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

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