.............. Dim a[2] a[0] = 'cast (какоенибудь заклинание)' a[1] = 'cast (какоенибудь заклинание)' a[2] = 'cast (какоенибудь заклинание)' For i = 0 to 2 ..............
Заклинание любое !Но а если к делу то именно рекалл так как я досих пор не могу понять как осуществляеться рекалл по рунбуку в цикле пробега по всем рунам в книге и после последней руны возврашение опять к первой.
Если не трудно то напишите ваши способы осушествления етого (не прошу писать готовое решение,если вам не трудно то распишите пожалуйста по русски а я поробую понять вашу логику)
.......................................... Dim vendor[2] vendor[1]='0x0190' vendor[2]='0x0191' Dim run[9] run[1] = ' 21' run[2] = ' 33' run[3] = ' 46' run[4] = ' 58' run[5] = ' 64' run[6] = ' 73' run[7] = ' 88' run[8] = ' 94' run[9] = ' 1025' VAR i VAR l UO.Exec("set norbcheck 1") UO.Exec("set norbcalc 1") UO.Exec("set finddistance 2") For i=1 to 9 UO.Recall('runebook',run[i]) wait(3000) UO.Useskill('Meditation') wait(3000) For l=1 to 2 repeat UO.FindType(vendor[x],-1,'ground') If (UO.GetName('finditem')==UO.GetName()) then UO.Ignore('finditem') UO.FindType(vendor[x],-1,'ground') wait(4000) endIf if UO.FindCount()<>0 then wait(1000) UO.Say('Hi '+UO.GetName('finditem')) wait(2000) UO.Buy(buyName,UO.GetName('finditem')) wait(2000) UO.Ignore('finditem') EndIf Until UO.FindCount()==0 Next Next UO.Exec("set finddistance 14") UO.IgnoreReset() End Sub
Вначале скрипта естественно стоит добавление рунбуки.
И вот еше вопрос как сделать так, чтобы когда доходил до 9 руны он брал скупал реги и опять начинал покругу с 1 руны?
.......................................... Dim vendor[2] vendor[1]='0x0190' vendor[2]='0x0191' VAR i, l UO.Exec("set norbcheck 1") UO.Exec("set norbcalc 1") UO.Exec("set finddistance 2") For i=1 to 9 if RunebookRecall(n) == 0 then UO.ClouseUO() end if UO.Useskill('Meditation') ## не понял зачем оно... wait(3000) For l=1 to 2 UO.FindType(vendor[l],-1,'ground') while UO.FindCount()>0 If UO.GetSerial('finditem')<>UO.GetSerial() then UO.Say('Hi '+UO.GetName('finditem')) ##Зачем? wait(2000) ##Зачем? UO.Buy(buyName,UO.GetName('finditem')) wait(2000) ##лишнее EndIf UO.Ignore('finditem') UO.FindType(vendor[l],-1,'ground') wend UO.IgnoreReset() Next UO.Exec("set finddistance 14") End Sub
sub RunebookRecall(n) var oldX=uo.getX() var oldY=uo.getY() Dim run[9] run[1] = ' 21' run[2] = ' 33' run[3] = ' 46' run[4] = ' 58' run[5] = ' 64' run[6] = ' 73' run[7] = ' 88' run[8] = ' 94' run[9] = ' 1025' var time repeat UO.Exec('warmode 0') UO.Recall('runebook',run[n]) repeat wait(500) until oldX<>uo.getX() or oldY<>uo.getY() or uo.Dead() or uo.InJournal('needs') or uo.InJournal('fizzles') or time+200<uo.Timer() if uo.Dead() or uo.InJournal('needs') then return 0 end if until oldX<>uo.getX() or oldY<>uo.getY() or UO.Dead() if UO.Dead() then return 0 end if return 1 end sub
вообщем не плохо... но я тут малёх подрисовал на свой вкус...
и поправил пару критичных моментов.
но
1. если под ДРВ, то не будет работать без определённой установки
2. крайне не практичный и экономически не оправданный скрипт.
Кхе Вот сейчас ради интереса тестанул скрипт свой ! Вначале не скупал помнял задержки и еще кое где и все намана стала ! да я не спорю что иногда рунбука физлит но он всеравно идет и пролетает по всем рунам и скупает реги ! Конечно сюда ходилку добавить можно тогда будет еще лучше
Напишите свои проблемы со скриптом