Вопрос

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