Page 1 of 4

И снова этот злосчастный БС!

Posted: 2006-02-05 16:28:53
by -=DeX=-
Уважаемые скриптеры, я конечно извиняюсь, за огромное колличество всякого бреда, который вы вынуждены выслушивать от нас, тупых юзеров, но я прошу Вас помоч мне со скриптом на БС.
Хочу заранее предупредить, что поиск я юзал, перепробовал много всяких скриптов, что-то не работало, что-то работало не так как надо, что-то вобще не работало, но абсолютно-корректной работы я не нашел ни в одном скрипте.
И так вот моя просьба.
Мне нужен скрипт на бс, который делает следующее
1. Берёт 456 ингов и сумочку из первого сундука.
2. Ложит сумочку во второй сундук.
3. Из ингов крафтит кутласы(Weapons->Swords & Blades -> cutlass)
крафт меню вызывается двойным кликом на инги.
4. складывает получившийся кутласс в сумку из пункта 2, до тех пор пока в сумке не будет 255 итемов.
5. Если в сумке 255 итемов - берёт новую сумку
6. Если инги закончились - берёт из первого сундука.

Понимаю, что возможно, я многого прошу, но честно говоря, я видел тут подобные скрипты, правда ни один из них я нормально не смог запустить.

Шард Олд Оском Фри.

Заранее благодарю всех кто откликнется на мою просьбу. Без Вас, скриптеров, наша виртуальная жизнь была бы намного мложнее!

Posted: 2006-02-05 16:38:20
by GimFlex
найди на форуме скрипт на тинкер ожерелий выложи сюда я его тебе под бс переделаю

Posted: 2006-02-05 16:40:10
by GimFlex
щас под бс переделывать будем

Code: Select all

VAR Cont1 = '0x4037360A' ;ресурсы, пустые мешки и фишстейки
VAR Cont2 = '0x40285A50' ;сундук де будут лежать полные мешки
VAR Count = 250 ;какое количество ресусров бёрем
var Tools = '0x1EBC' ;инструмент, при котором появляется
var Creat = '0x1085' ;тип созданной вещи(удочка, даггер и т.д.)
VAR Food = '0x097B' ;тип еды, кторую будем кушать
var Bag = '0x0E76' ;тип мешочков
var Source = '0x1BEF'
var BagSer, i=0, fizl=0, control=5, time, z

sub tinkIron()
Tools = '0x1EBC'
Creat = '0x1085'
Source = '0x1BEF'
UO.CancelMenu()
UO.AutoMenu('Tinkering','Jewelry')
UO.AutoMenu('Jewelry','necklace')
if UO.Count(Tools) > 0 then
  UO.FindType(Tools,'-1','backpack')
  UO.AddObject('objTools','finditem')
  main()
end if
UO.CancelMenu()
end sub

sub main()
var CountSource = 1 ;кол-во разных типов сырья, которые мы возьмем из сундука
Open('backpack')
NewBag()
if UO.Count(Source) then
  UO.FindType(Source,'0x0000', 'backpack')
  UO.MoveItem('finditem','-1',Cont1)
  wait(1000)
end if
UO.FindType(Source,'0x0000', Cont1)
UO.Grab(STR(Count),'finditem')
wait(1000)
CheckLag()   
while UO.Count(Source) > 0
  if UO.Count(Source) < 2 then
   UO.FindType(Source,'0x0000', Cont1)
   UO.Grab(STR(Count),'finditem')
   wait(1000)
  endif
  UO.DeleteJournal()
  UO.UseObject('objTools')
  Repeat
   wait(500)
  Until UO.InJournal('You put ') OR UO.InJournal('failed') or UO.InJournal('You fail ') 
  While UO.Count(Creat)>0
   UO.FindType(Creat,'-1',-1)
   UO.MoveItem('finditem','0',BagSer)
   If UO.Count(Creat)>0 then
     FastLootCheck()
   endif
   if UO.InJournal("Too many items") then
     NewBag()
   endif
  Wend   
Wend
UO.CancelMenu()
end sub

sub Open(Container)
  UO.DeleteJournal()
  UO.UseObject(Container)
  wait(500)
end sub

sub FastLootCheck()
  UO.DeleteJournal()
  wait(450)
  If UO.InJournal("FastLoot") OR UO.InJournal("World save") then
   UO.Click('backpack')
   repeat
     wait(300)
   until UO.InJournal('backpack')
  Endif
end sub

sub NewBag()
  Open(Cont1)
  Open(Cont2)
  ToEat()
  UO.FindType(Bag, -1, Cont1)
  UO.Print('Ok')
  if UO.FindCount() < 1 then
  end if
  BagSer=UO.GetSerial('finditem')   
  UO.MoveItem(BagSer, 0, Cont2)
  wait(1000)
end sub

sub ToEat()
  UO.FindType('0x097B', '0x0000',Cont1)
  if UO.FindCount() > 0 then
   UO.MoveItem('finditem','20','backpack')
  else
   return
  end if
  repeat   
   CheckLag()
   uo.UseType('0x097B')
   while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead()
     wait(100)
   wend
  until uo.InJournal('too full') or UO.Dead() or uo.InJournal("can't")
  UO.FindType('0x097B', '0x0000','backpack')
  if UO.FindCount() > 0 then
   UO.MoveItem('finditem','20','Cont1')   
  end if
end sub

sub CheckLag()
  UO.DeleteJournal()
  UO.Click('backpack')
  repeat
   wait(50)
  until UO.InJournal('backpack')
end sub

Posted: 2006-02-05 16:41:57
by -=DeX=-
Если переделаем - с меня пиво... Даже 2 пива... даже ящик... Только чур, ты ко мне едешь %)

Posted: 2006-02-05 16:43:13
by -=DeX=-
Кстати говоря, я этот скрипт пытался переделать. Если запустить тинкайрон - он ничего не делает.
Если запустить майн - он берёт сумку, инги, и останавливается.

Posted: 2006-02-05 17:08:54
by GimFlex
не мешалобы написать что выдает журнал при удаче и физле крафта

Posted: 2006-02-05 17:14:36
by -=DeX=-
При удаче: You put
при фейле: You have failed

Posted: 2006-02-05 17:16:21
by GimFlex
вот начнем с этого настрой пременные



Code: Select all

VAR cont1 = '0x4037360A' ;инги айрона, пустые мешки
VAR cont2 = '0x40285A50' ;сундук где будут лежать полные мешки
VAR count = 456 ;какое количество ингов бёрем
var creat = '0x1085' ;тип созданной вещи
var bag = '0x0E76' ;тип пустого мешочка
var ings = '0x1BEF' ;тип ингов айрона
var k
var ms1="You put"
var ms2="You have failed"

sub main()
UO.CancelMenu()
UO.AutoMenu('Blacksmithing','Weapons')
UO.AutoMenu('Weapons','Swords & Blades')
UO.AutoMenu('Swords & Blades','cutlass (8 iron ingot)')

grab1()
grab2()
while not uo.dead()
uo.useobject(k)
uo.findtype(creat,'-1',k)
while uo.findcount()<>255
 grab1()
 uo.usetype(ings)
 repeat
  wait(100)
 until uo.injournal(ms1) or uo.injournal(ms2)
 uo.findtype(creat,'-1','backpack')
 if uo.findcount()>0 then
  uo.moveitem('finditem','1',k)
  wait(700)
 endif
 uo.findtype(creat,'-1',k)
wend
drop()
grab2()
wend
endsub

sub grab1()
uo.useobject(cont1)
wait(500)
uo.findtype(ings,'-1','backpack')
if uo.getquantity('finditem')<20 or uo.findcount()==0 then
 uo.findtype(ings,'-1',cont1)
  uo.moveitem('finditem',count,'backpack')
  wait(700)
endif
endsub


sub grab2()
uo.useobject(cont1)
wait(500)
uo.findtype(bag,'-1',cont1)
if uo.findcount()>0 then
  uo.moveitem('finditem','1','backpack')
  wait(700)
  k=uo.getserial('finditem')
 else
  uo.print("net meshkov")
  uo.exec('terminate all')
endif
endsub

sub drop()
 uo.moveitem(k,'1',cont2)
 wait(700)
endsub


Posted: 2006-02-05 17:20:47
by -=DeX=-
Переменные нестроил, но при запуска процедуры маин скрипт говорит что нет ни ингов ни мешка.
Может не маин запускать надо?

Posted: 2006-02-05 17:22:03
by GimFlex
исправил

Posted: 2006-02-05 17:23:22
by -=DeX=-
Та же ерунда.

Posted: 2006-02-05 17:24:31
by GimFlex
переменные неправильно ввел что именно пишет?

Posted: 2006-02-05 17:24:39
by -=DeX=-
на сколько я понимаю, он сначала должен взять из сундука мешок и айрон. А он сразу крафтить пытается. Видит что не выходит, и останавливается.

Posted: 2006-02-05 17:27:05
by GimFlex
исправил

Posted: 2006-02-05 17:28:44
by GimFlex
еще раз исправил

Posted: 2006-02-05 17:29:41
by -=DeX=-
Теперь он берёт всё что надо, открывает менюшку, и стоит думает.

Posted: 2006-02-05 17:30:09
by GimFlex
еще раз исправил

Posted: 2006-02-05 17:31:32
by GimFlex
скоко ингов нужно для крафта?

Posted: 2006-02-05 17:33:28
by -=DeX=-
Пооткрывал кучу менюшек, так ничего и не сделал.
Надо 8 ингов.

Posted: 2006-02-05 17:34:49
by GimFlex
теперь пробуй