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

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Irbis
Posts: 6
Joined: 2004-12-08 15:06:47
Location: DRW

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

Post 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
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

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

Post 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
правь.
Irbis
Posts: 6
Joined: 2004-12-08 15:06:47
Location: DRW

Post by Irbis »

Спасибо за поправки. Но, суть вопроса все же не в этом. Дело в том что этот скрипт прекрасно РАБОТАЕТ у других и лишь частично - у меня. Он не выполняет требований по кол-ку ресурсов. И есть еще одно. Когда скрипт был запущен впервые, он работал!!! Сейчас же нет. Подобное уже было со скриптом на набор реагентов в мешочек, построенным по такому же принципу. Скрипт сработал единожды, потом выгребал все подчистыю, если чар мог столько поднять.
Irbis
Posts: 6
Joined: 2004-12-08 15:06:47
Location: DRW

Post by Irbis »

Проблема решена, вот где собака порылась:
UO.Grab(razn,'finditem') #у меня не работает :(
UO.Grab(str(razn),'finditem') # у меня работает

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