опять переброс руды в банк

Anything and all.

Moderators: Murderator+, Murderator

098
Posts: 125
Joined: 2006-02-01 20:19:03

опять переброс руды в банк

Post by 098 »

такая тема:

данный скрипт работает нормально
что он делает:

открывает банк(он в виде обычного сундука), берет всю руду, перекидывает в банк, в сумку,
но когда предел банка достигается, скрипт пытается пихнуть руду в банк, но она падает в бакпак и на этом зацикливается

ЦЕЛЬ:
*допустим что контрейнер банка уже открыт

итак: берет руду, открывает сумочку в банке, и перетаскивает руду НА руду(которая там предварительно лежит), таким образом руда запихивается...

Code: Select all

sub DropOre() 
var o,exit 
dim Ore[14] 
Ore[0]=0x19B9 
Ore[1]=0x19B7 
Ore[2]=0x19BA 
Ore[3]=0x19B8 
Ore[4]=0x0F11 
Ore[5]=0x0F16 
Ore[6]=0x0F18 
Ore[7]=0x0F15 
Ore[8]=0x0F10 
Ore[9]=0x0F0F 
Ore[10]=0x0F26 
Ore[11]=0x1F4C 
Ore[12]=0x0EED 
Ore[13]=0x0F20 
 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
uo.useobject('0x4001CCB1')
wait(500) 
for o=0 to 13 
exit=0 
repeat 
uo.FindType(Ore[o]) 
if uo.GetQuantity('finditem')>0 then 
uo.moveitem('finditem', -1 ,'id_сумочки_в_банке') 
wait(500) 
else 
exit=1 
end if 
until exit==1 
next 

end sub
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

на руду? а смысл? в стопку она от эжтого не сложистя - просто будет 2 предмета друг на друга..
афтар перефразируй что ты хочешь
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

нет, у меня стопку ложится :o :)
я немного подумав, понял, есл использовать moveitem то придется каждый раз получать ID каждой стопки руды
ноя не знаю как это сделать
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

объясните мне что он хочет?:(
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

прдеставь что я -скрипт :D :D :D :)

1открыл банк
2открыл в банке сумочку
3 нашел там руду
4получаю ИД руды, лежащей в сумочке
5 uo.moveitem руды, лежащей в бепаке НАА РУДУ Лежащую в сумоче банка, делается это по полученному ранее ИД

понятно? :roll:

короче говоря моя проблема в том что емкость БАНКА ОГРАНИЧЕНА
А
если положить стопку НА стопку то она положится..,такой финт работает и с рудой
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

примерно так

Code: Select all

sub DropOre(bank)
	dim ore[4]
	var ores
	ore[0]=0x19B7 ; 1 ore
	ore[1]=0x19BA ; 2 ore
	ore[2]=0x19B8 ; 3 ore
	ore[3]=0x19B9 ; 4 and more ore

	for var i = 0 to i > 4
		while UO.Count(ore[i])
			ores = UO.GetSerial('^' + ore[i])
			UO.FindType(ore[3], UO.GetColor(ores), bank)
			if UO.FindCount() then
				UO.MoveItem(ores, 0, 'finditem')
			else
				UO.MoveItem(ores, 0, bank)
			endif
		wend
	next
end sub
Last edited by omi4 on 2006-11-22 17:52:26, edited 1 time in total.
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

пишет Invalid Number of Arguments(послденяя строчка)

и Variable Undefied- Ores
все строчки где есть Ores

чорьте- я в инже мало разбираююсь :(
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ищет руду в паке и перемещает на такой же тип руды в банке

Code: Select all

[code]var sunduk='0x4001CCB1' #сумка в банке

Dim Ore[14] 
Ore[0]=0x19B9 
Ore[1]=0x19B7 
Ore[2]=0x19BA 
Ore[3]=0x19B8 
Ore[4]=0x0F11 
Ore[5]=0x0F16 
Ore[6]=0x0F18 
Ore[7]=0x0F15 
Ore[8]=0x0F10 
Ore[9]=0x0F0F 
Ore[10]=0x0F26 
Ore[11]=0x1F4C 
Ore[12]=0x0EED 
Ore[13]=0x0F20 

sub DropOre()
#############
var i
uo.useobject(sunduk)
checklag()
for i=0 to 13 
repeat 
uo.FindType(Ore[i],-1,2)
if uo.findcount() then 
uo.moveitem('finditem',0,sunduk,itemxyz(i)) 
wait(500) 
end if 
until uo.findcount()==0 or uo.dead()
next 
uo.print('unloaded')
end sub 

sub itemxyz(i)
var xyz='0,0,0'
uo.findtype(Ore[i],-1,sunduk)
if uo.findcount() then
xyz=str(uo.getx('finditem'))+','+str(uo.gety('finditem'))+','+str(uo.getz('finditem'))
end if
return xyz
end sub
[/code]
ну че-та типа этого..
не забудь открыть банк перед запуском
Last edited by Mihail on 2006-11-22 18:02:45, edited 1 time in total.
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

Variable Undefied- FINDITEM
вот здес вот
xyz=str(uo.getx(finditem))+','+str(uo.gety(finditem))+','+str(uo.getz(finditem))
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Кавычки поставь, это не переменная, а объект.
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

нет(((
он зацикливается

и вот что получеатся
Image
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Code: Select all

var sunduk='0x4001CCB1' #сумка в банке

Dim Ore[14] 
Ore[0]=0x19B9 
Ore[1]=0x19B7 
Ore[2]=0x19BA 
Ore[3]=0x19B8 
Ore[4]=0x0F11 
Ore[5]=0x0F16 
Ore[6]=0x0F18 
Ore[7]=0x0F15 
Ore[8]=0x0F10 
Ore[9]=0x0F0F 
Ore[10]=0x0F26 
Ore[11]=0x1F4C 
Ore[12]=0x0EED 
Ore[13]=0x0F20 

sub DropOre()
#############
var i
uo.useobject(sunduk)
checklag()
for i=0 to 13 
repeat 
uo.FindType(Ore[i],-1,2)
if uo.findcount() then 
uo.moveitem('finditem',0,sunduk,itemxyz(i)) 
wait(500) 
end if 
until uo.findcount()==0 or uo.dead()
next 
uo.print('unloaded')
end sub 

sub itemxyz(i)
var xyz='0,0,0'
uo.findtype(Ore[i],-1,sunduk)
if uo.findcount() then
xyz=str(uo.getx('finditem'))+','+str(uo.gety('finditem'))+','+str(uo.getz('finditem'))
end if
return xyz
end sub
там случайно sunduk в кавычках стоял :oops:
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

я прально понимаю что надо переменную сундука и масси в пихнутьв тело скрипта DropOre?
ато иначе пишет Unhandled Exception in parser
далее

checklag- funckion not fuond (удалил строку)

sunduk- Variable Undefied (посадил в кавычки)
ore- Variable Undefied(посадил в кавычки)

теперь тоже самое- также циклится
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

Для того чтобы стековать итемы, нужно не кидать по координатам, а кидать в стопку как в контейнер. При этом не забываем про цвет руды… А так кидать можно вечно.
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

098 wrote:checklag- funckion not fuond (удалил строку)
см. прилепленный топ "полезности"
sunduk- Variable Undefied (посадил в кавычки)
ore- Variable Undefied(посадил в кавычки)
молодец теперь он ищет предмет с ID=sunduk...


p.s.
5 uo.moveitem руды, лежащей в бепаке НАА РУДУ Лежащую в сумоче банка
вот я и спрашивал что значит "НА" руду.. тут не "на" а "в" надо..

p.p.s. кидание в руду лень писать - но используй в скрипте UO.SetReceivingCounatner('ID кучки руды')
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

Все что нужно уже написал, разобратся в 15 строках с учебником не проблема
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ладно афтар, сеня я добрый, на:

Code: Select all

var sunduk='0x40001AB7' #сумка в банке 


sub DropOre()
############# 
var i, j
Dim Ore[14] 
Ore[0]='0x19B9'
Ore[1]='0x19B7' 
Ore[2]='0x19BA' 
Ore[3]='0x19B8' 
Ore[4]='0x0F11' 
Ore[5]='0x0F16' 
Ore[6]='0x0F18' 
Ore[7]='0x0F15' 
Ore[8]='0x0F10' 
Ore[9]='0x0F0F' 
Ore[10]='0x0F26'
Ore[11]='0x1F4C' 
Ore[12]='0x0EED' 
Ore[13]='0x0F20'
uo.useobject(sunduk) 
checklag() 
for i=0 to 13 
repeat 
uo.FindType(Ore[i],-1,2) 
if uo.findcount() then
j=uo.getserial('finditem')
uo.setreceivingcontainer(item(uo.getgraphic('finditem'),uo.getcolor('finditem')))
uo.grab('0',j)
wait(500)
uo.ignore('finditem')
end if 
until uo.findcount()==0 or uo.dead() 
next 
uo.ignorereset()
uo.print('unloaded') 
end sub 

sub item(type,color)
uo.findtype(type,color,sunduk)
if uo.findcount() then 
return uo.getserial('finditem')
else
return 'backpack'
end if 
end sub
[url=http://forum.yoko.com.ua/viewtopic.php?t=7379&start=15#69595][b]"плагины" для инжекта[/b][/url]
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

теперь руда куда пропадает на 10 секунд и опять ложится в бэкпак
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

аа вы уже разобрались :roll:
098
Posts: 125
Joined: 2006-02-01 20:19:03

Post by 098 »

НЕТ
МЫ НЕ РАЗОБРАЛИСЬ ЕЩЕ!
ПЛИЗ ПОМОГИ
Post Reply