Page 1 of 1

Проблема в набором комплекта с помощью массива...

Posted: 2005-05-18 15:31:23
by Irbis
Скриптик для набора необходимых вещей из шкатулки. У людей работает как часы, берет кол-во вещей согласно указанномы в соотв. "counte" А у меня же пытается взять ВСЕ, будь там 10 или 10000 например, бандажек.
Споможите, люди умныне! :cry:

sub grabregs()
uo.useobject(Container)
checklag()
var i, razn
DIM reg[7]
DIM count[7]
Reg[1]=0x0F84 #SS
Reg[2]=0x0F85 #GL
Reg[3]=0x0F8D #SS
Reg[4]=0x0E21 #bandage
Reg[5]=Shield
Reg[6]=Weapon
Reg[7]='0x0f0e,0x09BB' #GH
count[1]=50
count[2]=50
count[3]=50
count[4]=100
count[5]=2
count[6]=2
count[7]=10
for i=1 to 7
CheckLag()
UO.FindType(reg[i],'-1','backpack')
If UO.GetQuantity('finditem')<count[i] then
razn=count[i]-UO.GetQuantity('finditem')
UO.FindType(reg[i],'-1',Container)
wait(1000)
If UO.GetQuantity('finditem')>0 Then
wait(10)
UO.Grab(razn,'finditem')
wait(750)
endif
Endif
next
end sub

Re: Проблема в набором комплекта с помощью массива...

Posted: 2005-05-18 15:54:56
by Sfagnum
Irbis wrote:sub grabregs()
uo.useobject(Container)
checklag()
var i, razn
DIM reg[7] - здесь должно быть 8 в твоём случае или ниже от 0 до 6
DIM count[7]
Reg[1]=0x0F84 #SS - вообще то лучше писать '0x0F84'
Reg[2]=0x0F85 #GL
Reg[3]=0x0F8D #SS
Reg[4]=0x0E21 #bandage
Reg[5]=Shield - я хз... но имхо надо где то определять эту переменную
Reg[6]=Weapon
Reg[7]='0x0f0e,0x09BB' #GH - халявщик, тут ток тип писать ;)
count[1]=50
count[2]=50
count[3]=50
count[4]=100
count[5]=2
count[6]=2
count[7]=10
for i=1 to 7
CheckLag()
UO.FindType(reg[i],'-1','backpack')
If UO.GetQuantity('finditem')<count[i] then
razn=count[i]-UO.GetQuantity('finditem') - не совсем понял что за хрень... ИМХО так: razn=UO.GetQuantity('finditem')
UO.FindType(reg[i],'-1',Container)
wait(1000)
If UO.GetQuantity('finditem')>0 Then
wait(10) - где ты определил razn для этого случая?
UO.Grab(razn,'finditem')
wait(750)
endif
Endif
next
end sub
правь.

Posted: 2005-05-18 16:56:27
by Irbis
Спасибо за поправки. Но, суть вопроса все же не в этом. Дело в том что этот скрипт прекрасно РАБОТАЕТ у других и лишь частично - у меня. Он не выполняет требований по кол-ку ресурсов. И есть еще одно. Когда скрипт был запущен впервые, он работал!!! Сейчас же нет. Подобное уже было со скриптом на набор реагентов в мешочек, построенным по такому же принципу. Скрипт сработал единожды, потом выгребал все подчистыю, если чар мог столько поднять.

Posted: 2005-05-18 17:19:12
by Irbis
Проблема решена, вот где собака порылась:
UO.Grab(razn,'finditem') #у меня не работает :(
UO.Grab(str(razn),'finditem') # у меня работает

Только вот ПОЧЕМУ :?: