например 65000 в одной а в другой 20000 например.... и чтобы выводило на экран их сумму? просто если зделать по
Code: Select all
uo.findtype('что-то','-1','Где-то')
uo.TextOpen()
uo.TextPrint('Всего: '+str(uo.GetQuantity('finditem')))
Moderators: Murderator+, Murderator
Code: Select all
uo.findtype('что-то','-1','Где-то')
uo.TextOpen()
uo.TextPrint('Всего: '+str(uo.GetQuantity('finditem')))
Code: Select all
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 например.... и чтобы выводило на экран их сумму? просто если зделать поне получается.... нефигаCode: Select all
uo.findtype('что-то','-1','Где-то') uo.TextOpen() uo.TextPrint('Всего: '+str(uo.GetQuantity('finditem')))
Code: Select all
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Почему должно работать? Должно выводить только количество предметов в стопке finditem.Yoko wrote:странно, должно работать666Man666 wrote:Можно ли подсчитывать итемы кучек в сумме?
например 65000 в одной а в другой 20000 например.... и чтобы выводило на экран их сумму? просто если зделать поне получается.... нефигаCode: Select all
uo.findtype('что-то','-1','Где-то') uo.TextOpen() uo.TextPrint('Всего: '+str(uo.GetQuantity('finditem')))
Code: Select all
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
К сожелению выводит "0"...AGRS wrote:Code: Select all
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
Code: Select all
...
UO.IgnoreReset()
Return item_amount
END SUB
Code: Select all
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