Можно ли подсчитывать итемы кучек в сумме?
например 65000 в одной а в другой 20000 например.... и чтобы выводило на экран их сумму? просто если зделать по
i = 0 uo.findtype('что-то','-1','Где-то') while UO.FindCount() > 0 i = i + uo.GetQuantity('finditem') uo.ignore('finditem') uo.findtype('что-то','-1','Где-то') wend uo.TextOpen() uo.TextPrint('Всего: '+str(i)) uo.ignorereset
666Man666 wrote:Можно ли подсчитывать итемы кучек в сумме? например 65000 в одной а в другой 20000 например.... и чтобы выводило на экран их сумму? просто если зделать по
sub Info() var i i = 0 uo.findtype('Что-то','-1','Где-то') while UO.FindCount() > 0 uo.print('1:'+str(uo.GetQuantity('finditem'))) - тут выводит 2 раза кол-во двух кучек, всё ок i = i + uo.GetQuantity('finditem') uo.ignore('finditem') uo.findtype('Что-то','-1','Где-то') wend uo.TextOpen() uo.TextPrint('All: '+str('i')) - а тут выводит 0, почему так? uo.ignorereset() end sub
666Man666 wrote:Можно ли подсчитывать итемы кучек в сумме? например 65000 в одной а в другой 20000 например.... и чтобы выводило на экран их сумму? просто если зделать по
sub main() UO.Print(STR(get_amount('0x????','0x????','0x????????'))) end sub
SUB get_amount(Type, Color, Cont) ; Тип, Цвет, Контейнер. Var item_amount = 0 UO.IgnoreReset() Repeat UO.FindType(Type, Color, Cont) If UO.FindCount()>0 Then If UO.GetQuantity('finditem')==0 Then ; Эта проверка необходима в отдельных случаях. item_amount = item_amount + 1 Else item_amount = item_amount + UO.GetQuantity('finditem') EndIf UO.Ignore('finditem') UO.FindType(Type, Color, Cont) EndIf Until UO.FindCount()<1 UO.IgnoreReset() Return item_amount END SUB
Last edited by AGRS on 2004-11-25 20:02:07, edited 2 times in total.
sub main() UO.Print(STR(get_amount('0x????','0x????','0x????????'))) end sub
SUB get_amount(Type, Color, Cont) ; Тип, Цвет, Контейнер. Var item_amount = 0 UO.IgnoreReset() Repeat UO.FindType(Type, Color, Cont) If UO.FindCount()>0 Then If UO.GetQuantity('finditem')==0 Then ; Эта проверка необходима в отдельных случаях. item_amount = item_amount + 1 Else item_amount = item_amount + UO.GetQuantity('finditem') EndIf UO.Ignore('finditem') UO.FindType(Type, Color, Cont) EndIf Until UO.FindCount()<2 UO.IgnoreReset() END SUB
К сожелению выводит "0"...
Указываю например логи или стрелы, без разницы....
указываю контейнер (сумку, возле чара на полу)....
но не получается... Выводится 0...
sub Info() uo.TextOpen() uo.TextPrint('All: '+STR(get_amount('0x1BDD','-1','0x40005FCB'))) end sub
SUB get_amount(Type, Color, Cont) Var item_amount = 0 UO.IgnoreReset() Repeat UO.FindType(Type, Color, Cont) If UO.FindCount()>0 Then If UO.GetQuantity('finditem')==0 Then item_amount = item_amount + 1 Else item_amount = item_amount + UO.GetQuantity('finditem') EndIf UO.Ignore('finditem') UO.FindType(Type, Color, Cont) EndIf Until UO.FindCount()<1 UO.IgnoreReset() Return item_amount END SUB