Вопрос

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Вопрос

Post by CErebrus »

Можно ли в переменный массив Dim вместо значения указывать действие
Вот пример

Code: Select all

..............
Dim a[2]
a[0] = 'cast (какоенибудь заклинание)'
a[1] = 'cast (какоенибудь заклинание)'
a[2] = 'cast (какоенибудь заклинание)'
For i = 0 to 2
..............

Заклинание любое !Но а если к делу то именно рекалл так как я досих пор не могу понять как осуществляеться рекалл по рунбуку в цикле пробега по всем рунам в книге и после последней руны возврашение опять к первой.
Если не трудно то напишите ваши способы осушествления етого (не прошу писать готовое решение,если вам не трудно то распишите пожалуйста по русски а я поробую понять вашу логику)
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

uo.recall('ИД рунбуки','Значение ответа в infogump')

Например в рунбуке 9 рунок, для каждой из них своё значение ответа.
Их и надо заносить в массив и подставлять по очереди. Дальше думай.

Ещё
uo.set('norbcalc',1)
uo.set('norbcheck',1)
Сделал дело - флуди смело !!!
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

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

Post 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. крайне не практичный и экономически не оправданный скрипт.
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

объясни почему не будет работать на дрв!
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

CErebrus wrote:объясни почему не будет работать на дрв!
не правильно выразился... покупать не будет... там маааленькая заглушечка нужна ;)
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

можешь написать какая? если не секрет :D
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

buydelay
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

?? непонятно в чем проблема
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

CErebrus wrote:?? непонятно в чем проблема
если всё работает - хорощо ;)
Goggy
Posts: 291
Joined: 2004-11-07 01:22:35
Location: Черкассы
Contact:

Post by Goggy »

Sfagnum wrote:
CErebrus wrote:?? непонятно в чем проблема
если всё работает - хорощо ;)


ага щаааззззз...
если у него всё работает то типу просто супер повезло :lol: :lol:
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Goggy wrote:ага щаааззззз...
я в курсе ;) сам скупаю, так что... по покупкам на ДРВ я т.с. собаку сЪил ;)
Goggy wrote:если у него всё работает то типу просто супер повезло :lol: :lol:
я думаю просто он не тестил данный момент... судя по вопросам... или установил много раньше и забИл ;)
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

?? МОжете написать в чем суть а не просто buydelay !А то я не понимаю
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

Кхе Вот сейчас ради интереса тестанул скрипт свой ! Вначале не скупал помнял задержки и еще кое где и все намана стала ! да я не спорю что иногда рунбука физлит но он всеравно идет и пролетает по всем рунам и скупает реги ! Конечно сюда ходилку добавить можно тогда будет еще лучше
Напишите свои проблемы со скриптом
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

CErebrus wrote:Кхе Вот сейчас ради интереса тестанул скрипт свой ! Вначале не скупал помнял задержки и еще кое где и все намана стала !
об этом я и говорил ;)
CErebrus
Posts: 44
Joined: 2004-12-09 03:29:14

Post by CErebrus »

:wink: теперь понял ! у меня еше тока нада в массиве было убрать пробелы
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

CErebrus wrote::wink: теперь понял !
кстате ИМХО это лучше делать в скрипте... а так очччень часто будешь забывать устанавливать ;)
Post Reply