Бс фуллов

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
tylllkah
Posts: 243
Joined: 2012-03-20 00:32:06
Location: РФ, г. Москва

Бс фуллов

Post by tylllkah »

не работает взятие ингов

Code: Select all

var Tbag         = '0x0E76'         ; Тип сумок для разгрузки мап если вы укажыте тип бланк мап.
var Exit=0, Dbag, LastTimer, Cont='0x4034AB8D', Sunduk='0x404B775E', ingots='0x1BEF', katana='0x13FE', flag ; Ставим все свое
var n, color, colr, name
var k, j

sub main() # положите 200 ингов в бекпак и укажите на них
uo.addobject('ingi')
while uo.targeting()
wait(500)
wend
kkk()
end sub

sub kkk()
repeat
j = 0
while j == 0
UO.FindType('ingots',-1,'backpack')
If UO.GetQuantity('finditem')<150 then
UO.FindType('ingots', 'ground') ;Cундук с ингами
wait(2000)
UO.Grab('200','finditem')
Endif
wait(1000)
full()
wait(100)
wend
end sub

sub full()
color=uo.getcolor('ingi')
name=getname('ingi')
   
Dim full[7]
full[1]='Plate Helm'
full[2]='Platemail Gorget'
full[3]='Platemail Gauntlets'
full[4]='Platemail Arms'
full[5]='Platemail Legs'
full[6]='Platemail (25 '
full[7]='Heater Shield'
for n=1 to 7
repeat
uo.cancelmenu()
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons',name+' Armor')
uo.automenu(name+' Armor',name+' Plate Armor & Shields')
uo.automenu(name+' Plate Armor & Shields',name+' '+full[n])
checklag()
uo.useobject('ingi')
repeat
wait(400)
until uo.injournal('You have failed|You put the')
until uo.injournal('You put the')
next
uo.print(' Done')
Lootfull()
end sub

sub getname(ingi)
var n, c, t
Dim name[27]
name[1]=''
name[2]='Rusty'
name[3]='Old Copper'
name[4]='Dull Copper'
name[5]='Bronze'
name[6]='Shadow'
name[7]='Rose'
name[8]='Agapite'
name[9]='Blood Rock'
name[10]='Verite'
name[11]='Valorite'
name[12]='Mytheril'
name[13]='Black Rock'
name[14]='Obsidian'
name[15]='Plutonium'
name[16]='Vulcan'
name[17]='Aqua'
name[18]='Eldar'
name[19]='Elvin'
name[20]='Acid'
name[21]='Steel'
name[22]='Sand Rock'
name[23]='Blood Crest'
name[24]='Gorgan'
name[25]='Krynite'
name[26]='Crystaline'
name[27]='Dragon'
   
Dim col[27]
col[1]='0x0000'
col[2]='0x0750'
col[3]='0x0590'
col[4]='0x060A'
col[5]='0x0488'
col[6]='0x096B'
col[7]='0x0014'
col[8]='0x0193'
col[9]='0x04C2'
col[10]='0x07D5'
col[11]='0x00CE'
col[12]='0x052D'
col[13]='0x0455'
col[14]='0x0028'
col[15]='0x08AF'
col[16]='0x09DA'
col[17]='0x0060'
col[18]='0x0BA7'
col[19]='0x09E6'
col[20]='0x09B9'
col[21]='0x09D3'
col[22]='0x008F'
col[23]='0x09EC'
col[24]='0x09F0'
col[25]='0x010F'
col[26]='0x09A4'
col[27]='0x0085'
   
Dim typ[3]
typ[1]='0x1BE3'
typ[2]='0x1BF5'
typ[3]='0x1BE9'
   
Dim nam[3]
nam[1]='Copper'
nam[2]='Silver'
nam[3]='Golden'
   
t=uo.getgraphic(ingi)
c=uo.getcolor(ingi)
for n=1 to 3
if typ[n]==t then
return nam[n]
endif
next
for n=2 to 27
if col[n]==c then
return name[n]
endif
next
endsub

sub Lootfull();
var l
dim Loot[7]
Loot[1] = 0x1412 ; Drag
Loot[2] = 0x1411 ; Spear
Loot[3] = 0x1415 ; halberd
Loot[4] = 0x1413 ; STReLbI
Loot[5] = 0x1B76 ; Antifreeze
Loot[6] = 0x1410 ; Antifreeze
Loot[7] = 0x1414 ; Antifreeze
repeat
for l = 1 to 7
if Loot[l]<>'' then
GetBag()
uo.findtype(Loot[l],-1,'backpack')
while uo.findcount()
uo.moveitem('finditem',0,Dbag)
checklag()
wait(700)
CheckDbag()
uo.findtype(Loot[l],-1,'backpack')
wend
endif
next
UO.UnSetReceivingContainer()
end sub

sub GetBag()
flag=0
repeat
uo.print('Ищем мешок')
uo.findtype(Tbag,-1,Sunduk)
if uo.findcount() then
Dbag=uo.getserial('finditem')
Open(Dbag)
uo.findtype(-1,-1,Dbag)
if uo.findcount()>6 then
uo.ignore(Dbag)
else
flag=1
endif
endif
until flag==1
endsub

sub CheckDbag()
uo.findtype(-1,-1,Dbag)
if uo.findcount()>6 then
uo.ignore(Dbag)
GetBag()
endif
endsub

sub checklag()
repeat
UO.DeleteJournal()
UO.Click('backpack')
until backpack()==1
endsub

sub backpack()
var n
for n=0 to 200
if uo.injournal('a backpack') then
return 1
endif
wait(200)
next
endsub

sub Open(what)
uo.useobject(what)
checklag()
wait(800)
endsub
Не быть жадным - уже богатство, не быть расточительным – доход.
TylllKaH
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Бс фуллов

Post by Mirage »

Вторая строка моей подписи - решение проблемы ;)
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Бс фуллов

Post by Nmy »

понял что это ппц

Code: Select all

var ingots='0x1BEF'
UO.FindType('ingots',-1,'backpack')
If UO.GetQuantity('finditem')<150 then
UO.FindType('ingots', 'ground') ;Cундук с ингами
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Бс фуллов

Post by Mirage »

Если это не фишка то да, ппц :)
Я подумал что он добирает с пола. Ошибка тогда в циклах.
tylllkah
Posts: 243
Joined: 2012-03-20 00:32:06
Location: РФ, г. Москва

Re: Бс фуллов

Post by tylllkah »

sub kkk()
repeat
j = 0
while j == 0
UO.FindType('ingots',-1,'backpack')
If UO.GetQuantity('finditem')<150 then
UO.FindType('ingots', 'ground') ;Cундук с ингами
wait(2000)
UO.Grab('200','finditem')
Endif
wait(1000)
full()
wait(100)
wend
until not uo.dead() - это забыл?
end sub
Не быть жадным - уже богатство, не быть расточительным – доход.
TylllKaH
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Бс фуллов

Post by Mirage »

Так он будет гонять цикл пока не сдохнет комп или не умрет чар :)
Скорее repeat удалить нужно. Хотя и while то тут особо не понятно зачем.

Распиши на листке как ты себе представляешь добор ингов - по русски, алгоритм действий.
tylllkah
Posts: 243
Joined: 2012-03-20 00:32:06
Location: РФ, г. Москва

Re: Бс фуллов

Post by tylllkah »

Mirage wrote:Так он будет гонять цикл пока не сдохнет комп или не умрет чар :)
Скорее repeat удалить нужно. Хотя и while то тут особо не понятно зачем.

Распиши на листке как ты себе представляешь добор ингов - по русски, алгоритм действий.

я беру вначале в пак 700 ингов выбираю их он делает по частям фул раскладывает, потом проверяет их если их меньше 170 то добирает
Не быть жадным - уже богатство, не быть расточительным – доход.
TylllKaH
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Бс фуллов

Post by Mirage »

Плохой алгоритм ;)

я беру вначале в пак 700 ингов выбираю их он делает по частям фул раскладывает, потом проверяет их если их меньше 170 то добирает

Ну как бы ты в скрипте добираешь 200 слитков если в паке меньше 150, но не суть.

Code: Select all

sub kkk()
      If UO.count(ingots)<150 then
         UO.FindType( ingots, '-1', 'ground') ; ищем слитки любого цвета на ЗЕМЛЕ
         UO.Grab('200','finditem')
         wait(2000)
      Endif
      full()
end sub


Нормальный алгоритм выглядит примерно вот так:

Code: Select all

Если в паке предметов меньше чем нужно тогда
   (открываем сундук если необходимо)
   ищем предметы (тип, цвет) в сундуке (ID)
     если нашли тогда
          берем заданное количество предметов
          (пауза/чеклаг)
     в противном случае
          завершить весь скрипт



Code: Select all

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
Post Reply