Помогите с подсчётом руды...

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
kexwer
Posts: 159
Joined: 2005-06-19 19:21:28

Помогите с подсчётом руды...

Post by kexwer »

Ну всё перепробывал, никак не могу сделать, чтобы руду в сундуке подсчитывал.... Помогите пожалуйста.
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

тебе нужно чтобы количество считал еще и в подконтейнерах? или все объекты в верхнем слое лежат? и в каком виде надо чтобы выводил инофрмацию?
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: Помогите с подсчётом руды...

Post by Kynep »

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
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

насколько я помню этот раздел форума для тех кто пытается сам в чем-то разробраться? автор тебе бы с гораздо большим желанием помогли, если бы ты выложил свои наработки по сабжу
kexwer
Posts: 159
Joined: 2005-06-19 19:21:28

Post by kexwer »

вот мои наработки... Юзает АСМ! Только он иногда почему то по 2-3 раза один и тот же металл подряд считает, то-есть не игнорит, после того, как кликнул на него и записал в файл =\ Что-то не так?!

Вот что выдаёт!

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
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

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
Posts: 159
Joined: 2005-06-19 19:21:28

Post by kexwer »

всё , теперь всё правильно считает! Огромное спасибо!
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

kexwer wrote:всё , теперь всё правильно считает! Огромное спасибо!


Не за что :D :D рад что смог помочь :D
Post Reply