Помогите с подсчётом руды...
Posted: 2007-12-16 05:54:17
Ну всё перепробывал, никак не могу сделать, чтобы руду в сундуке подсчитывал.... Помогите пожалуйста.
kexwer wrote:Ну всё перепробывал, никак не могу сделать, чтобы руду в сундуке подсчитывал.... Помогите пожалуйста.
Code: Select all
sub kolvo()
DIM rud[4]
var vsego = 0
var cvet = 0
var prost = 0
var oper
var i
rud[0] = '0x19B7' # 1 штука
rud[1] = '0x19BA' # 2 штуки
rud[2] = '0x19B8' # 3 штуки
rud[3] = '0x19B9' # больше 3х штук
For i = 0 to 3
UO.FindType(rud[i])
if UO.FindCount() > 0 then
oper = UO.GetGraphic('finditem')
prost = prost + UO.Count(oper, '0x0000')
vsego = vsego + UO.Count(oper)
cvet = vsego - prost
else
wait(50)
endif
next
UO.Print('У тебя в паке всего ' + str(vsego) + ' руды')
UO.Print('Из них ' + str(cvet) +' цветной и ' + str(prost) + ' простой')
endsub
Code: Select all
sub kolvo2()
DIM rud[4]
var vsego = 0
var cvet = 0
var prost = 0
var i, sunduk
rud[0] = '0x19B7' # 1 штука
rud[1] = '0x19BA' # 2 штуки
rud[2] = '0x19B8' # 3 штуки
rud[3] = '0x19B9' # больше 3х штук
uo.Print('Выбери сундук: ')
uo.Exec('addobject sunduk')
while uo.Targeting()
wait(100)
wend
UO.UseObject('sunduk')
wait(1000)
For i = 0 to 3
UO.FindType(rud[i], '-1', 'sunduk')
While UO.FindCount() > 0
If UO.GetColor('finditem') == '0x0000' then
prost = prost + UO.GetQuantity('finditem')
UO.Ignore('finditem')
UO.FindType(rud[i], '-1', 'sunduk')
else
cvet = cvet + UO.GetQuantity('finditem')
UO.Ignore('finditem')
UO.FindType(rud[i], '-1', 'sunduk')
endif
wend
next
vsego = prost + cvet
UO.Print('У тебя в сундуке всего ' + str(vsego) + ' руды')
UO.Print('Из них ' + str(cvet) +' цветной и ' + str(prost) + ' простой')
UO.IgnoreReset()
endsub
Code: Select all
16.12.07 - 07:31:47 - Всего этой руды сейчас в сундуке - 2 Plutonium Ore
16.12.07 - 07:31:50 - Всего этой руды сейчас в сундуке - 2 Plutonium Ore
16.12.07 - 07:31:54 - Всего этой руды сейчас в сундуке - 3 Crystaline ore
16.12.07 - 07:31:58 - Всего этой руды сейчас в сундуке - 3 Crystaline ore
16.12.07 - 07:32:02 - Всего этой руды сейчас в сундуке - 64 Verite Ore
16.12.07 - 07:32:05 - Всего этой руды сейчас в сундуке - 64 Verite Ore
16.12.07 - 07:32:09 - Всего этой руды сейчас в сундуке - 237 Copper Ore
16.12.07 - 07:32:13 - Всего этой руды сейчас в сундуке - 295 Old Copper Ore
16.12.07 - 07:32:19 - Всего этой руды сейчас в сундуке - 38 Mytheril Ore
16.12.07 - 07:32:22 - Всего этой руды сейчас в сундуке - 4 Elvin ore
16.12.07 - 07:32:26 - Всего этой руды сейчас в сундуке - 49 Valorite Ore
16.12.07 - 07:32:30 - Всего этой руды сейчас в сундуке - 10 Blood Crest ore
16.12.07 - 07:32:34 - Всего этой руды сейчас в сундуке - 278 Rose Ore
16.12.07 - 07:32:38 - Всего этой руды сейчас в сундуке - 352 Shadow Ore
16.12.07 - 07:32:41 - Всего этой руды сейчас в сундуке - 5 Krynite ore
16.12.07 - 07:32:45 - Всего этой руды сейчас в сундуке - 32 Blackrock Ore
16.12.07 - 07:32:49 - Всего этой руды сейчас в сундуке - 5 Steel ore
16.12.07 - 07:32:53 - Всего этой руды сейчас в сундуке - 394 Gold Ore
16.12.07 - 07:32:57 - Всего этой руды сейчас в сундуке - 233 Dull Copper Ore
16.12.07 - 07:33:01 - Всего этой руды сейчас в сундуке - 269 Rusty Ore
Code: Select all
sub main()
Var Sunduk1='0x403BC4F8' ## ИД контейнера куда складываем простую руду
Var Sunduk2='0x403BC4F8' ## ИД контейнера куда складываем выху
var i,tcolor
Var FName='MiningLog.txt' ## Имя файла лога
DIM Ore[14]
Ore[01]='0x19B7' ; 1 ore
Ore[02]='0x19BA' ; 2 ore
Ore[03]='0x19B8' ; 3 ore
Ore[04]='0x19B9' ; 4 and more ore
UO.asmLogAdd(FName, UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Считаем , сколько всего уже нарыли за все время !!!")
for i=1 to 4 ## Руда всех цветов и оттенков
uo.findtype(Ore[i],'-1','0x403BC4F8')
while uo.findcount()>0
uo.click('finditem')
Cheklag()
tColor = uo.getcolor('finditem')
UO.asmLogAdd(FName, UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Всего этой руды сейчас в сундуке - "+uo.getname('finditem'))
wait(50)
uo.findtype(Ore[i],'-1','0x403BC4F8')
wait(200)
uo.Ignore('finditem')
ChekLag()
wend
next
uo.IgnoreReset()
end sub
sub ChekLag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
end if
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub
kexwer wrote:вот мои наработки... Юзает АСМ! Только он иногда почему то по 2-3 раза один и тот же металл подряд считает, то-есть не игнорит, после того, как кликнул на него и записал в файл =\ Что-то не так?!
Code: Select all
UO.asmLogAdd(FName, UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Всего этой руды сейчас в сундуке - "+uo.getname('finditem'))
wait(50)
uo.Ignore('finditem')
wait(200)
uo.findtype(Ore[i],'-1','0x403BC4F8')
kexwer wrote:всё , теперь всё правильно считает! Огромное спасибо!