Page 1 of 1
Вопрос
Posted: 2005-03-15 19:44:32
by CErebrus
Можно ли в переменный массив Dim вместо значения указывать действие
Вот пример
Code: Select all
..............
Dim a[2]
a[0] = 'cast (какоенибудь заклинание)'
a[1] = 'cast (какоенибудь заклинание)'
a[2] = 'cast (какоенибудь заклинание)'
For i = 0 to 2
..............
Заклинание любое !Но а если к делу то именно рекалл так как я досих пор не могу понять как осуществляеться рекалл по рунбуку в цикле пробега по всем рунам в книге и после последней руны возврашение опять к первой.
Если не трудно то напишите ваши способы осушествления етого (не прошу писать готовое решение,если вам не трудно то распишите пожалуйста по русски а я поробую понять вашу логику)
Posted: 2005-03-16 05:56:28
by Askaneli
uo.recall('ИД рунбуки','Значение ответа в infogump')
Например в рунбуке 9 рунок, для каждой из них своё значение ответа.
Их и надо заносить в массив и подставлять по очереди. Дальше думай.
Ещё
uo.set('norbcalc',1)
uo.set('norbcheck',1)
Posted: 2005-03-16 15:44:58
by CErebrus
Ну вот! вроде бы так:
скрипт был на скупку регов
посмотри правильно ли все
Code: Select all
..........................................
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 руны?
Posted: 2005-03-16 16:56:41
by Sfagnum
CErebrus wrote:Code: Select all
..........................................
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. крайне не практичный и экономически не оправданный скрипт.
Posted: 2005-03-16 19:26:59
by CErebrus
объясни почему не будет работать на дрв!
Posted: 2005-03-16 19:39:34
by Sfagnum
CErebrus wrote:объясни почему не будет работать на дрв!
не правильно выразился... покупать не будет... там маааленькая заглушечка нужна

Posted: 2005-03-16 20:58:52
by CErebrus
можешь написать какая? если не секрет

Posted: 2005-03-16 21:23:02
by Sfagnum
buydelay
Posted: 2005-03-17 18:31:57
by CErebrus
?? непонятно в чем проблема
Posted: 2005-03-17 22:33:50
by Sfagnum
CErebrus wrote:?? непонятно в чем проблема
если всё работает - хорощо

Posted: 2005-03-18 02:27:20
by Goggy
Sfagnum wrote:CErebrus wrote:?? непонятно в чем проблема
если всё работает - хорощо

ага щаааззззз...
если у него всё работает то типу просто супер повезло

Posted: 2005-03-18 11:15:15
by Sfagnum
Goggy wrote:ага щаааззззз...
я в курсе

сам скупаю, так что... по покупкам на ДРВ я т.с. собаку сЪил

Goggy wrote:если у него всё работает то типу просто супер повезло

я думаю просто он не тестил данный момент... судя по вопросам... или установил много раньше и забИл

Posted: 2005-03-19 13:34:03
by CErebrus
?? МОжете написать в чем суть а не просто buydelay !А то я не понимаю
Posted: 2005-03-19 14:13:10
by CErebrus
Кхе Вот сейчас ради интереса тестанул скрипт свой ! Вначале не скупал помнял задержки и еще кое где и все намана стала ! да я не спорю что иногда рунбука физлит но он всеравно идет и пролетает по всем рунам и скупает реги ! Конечно сюда ходилку добавить можно тогда будет еще лучше
Напишите свои проблемы со скриптом
Posted: 2005-03-19 22:32:24
by Sfagnum
CErebrus wrote:Кхе Вот сейчас ради интереса тестанул скрипт свой ! Вначале не скупал помнял задержки и еще кое где и все намана стала !
об этом я и говорил

Posted: 2005-03-19 23:05:34
by CErebrus

теперь понял ! у меня еше тока нада в массиве было убрать пробелы
Posted: 2005-03-19 23:42:19
by Sfagnum
CErebrus wrote::wink: теперь понял !
кстате ИМХО это лучше делать в скрипте... а так очччень часто будешь забывать устанавливать
