Page 1 of 1

Рекол с рунбуки, проверка на физл

Posted: 2004-12-05 11:22:53
by Optical
Э, кхм =)))
Вот собственно, помогите реализовать следуюшее, тама написанна не правельно, как написать что-то подобное?

Code: Select all

racalltoplace:
CheckLag()
uo.print('Recall to PLACE')
  uo.UseObject(Rbook)
  wait(1500)
  uo.LClick(135,85)
  wait(9000)
   if NOT UO.InJournal('Kal Ort Por') then
    UO.DeleteJournal()
    goto racalltoplace
   endif

Posted: 2004-12-05 11:25:04
by Optical
Э. кхм, сам додумался =))

Code: Select all

   while NOT UO.InJournal('Kal Ort Por')
    UO.DeleteJournal()
    goto recalltoplace
   wend

Может у кого нить есть идеи получше?

Posted: 2004-12-05 11:34:41
by TapakaH

Code: Select all

racalltoplace: 
CheckLag()
uo.print('Recall to PLACE')
  UO.DeleteJournal()

  uo.UseObject(Rbook)
  wait(1500)
  uo.LClick(135,85)
  wait(9000)
   if  UO.InJournal('fizzles') then   
    goto racalltoplace
   endif

Posted: 2004-12-05 12:04:52
by 666Man666
Ешё можно с проверкой на UO.getx() UO.gety()

Posted: 2004-12-05 12:16:39
by TapakaH
я об этом тож подумал, но я обычно реколюсь в движении, такчто проверка наа координаты не прокатит :(

Posted: 2004-12-06 00:30:47
by Savage
Очень даже катит если проверять координаты места прибытия :) Или их диапазон если ты такой непоседа.

Posted: 2004-12-06 05:08:22
by TapakaH
мдя....а ет мне в голову чет не пришло :) теперя буду знать

Posted: 2004-12-06 13:06:44
by Edred
Вот возьми мою функцию. Правда если количество физлов при одном реколле превысит 100 - могут быть проблемы :shock:

Здесь проверка и смены координат и уменьшения маны.

Code: Select all

#####################################################################
Sub Recalling( Runbk, NRune )
   ; Runbk - сериал или ссылка на объект рунбуки
   ; NRune - десятичный номер (текстом) руны для реколла
   VAR myx = UO.GetX()
   VAR myy = UO.GetY()
   VAR OldMana = UO.Mana
   VAR i = 0
   DeleteJournal( 'fizzles' )
   UO.Exec("recall " + Runbk + " " + NRune)
   repeat
      CheckLag()
      wait(1000)
      i = i + 1
   until ( i > 6 ) OR ( UO.Mana < OldMana - 8 ) OR UO.InJournal( 'fizzles' )
   wait(500)
   If myx == UO.GetX() AND myy == UO.GetY() Then
      UO.WarMode( 'flip' )
      wait(100)
      UO.WarMode( 'flip' )
      Recalling( Runbk, NRune )
   Endif
endsub


Кстати говоря, она же должна быть в Scripts!, в скрипте на кемпинг...

Posted: 2004-12-06 17:03:56
by TapakaH
толково, но опять же, если рекол будет происходить в движении то координаты будут менятся, и соответственно скрипт будет видеть другие координаты и вырубатся, если сюда приделать диапазон координат который чар может пробежать, в ту или иную сторону, за промежуток в 10 секунд, то проверка на физл будет вообще толковой.

Posted: 2004-12-06 17:08:09
by TapakaH
я только начинаю учится скриптованию, поэтому для меня все эти myx, myy темный лес, и я незнаю как это реализовать :oops:
Edred wrote: ; NRune - десятичный номер (текстом) руны для реколла
вот на счет еткста немного не понял, надо в таких кавычках "xxx " номер писать??

pomogite .. pozalusta ...

Posted: 2004-12-06 19:57:16
by lamee
skriptera ... pomogite pozhalusta ...
uo.LClick(135,85)
gde eti koordi dostat` ?

Posted: 2004-12-06 21:03:14
by TapakaH
хмм....как обьяснить, это я видел когда скрипт редактируешь, в верхней панели есть функция Pick coord там рядом таргет, нажмаешь его, а дальше вылазит окно с инструкцией, тыкаешь курсором в любую точку экрана, и вылазят координаты, только эти координаты не самой игры, а точка на экране куда инжа посылает клик.

Posted: 2004-12-06 21:32:18
by Edred
TapakaH wrote:толково, но опять же, если рекол будет происходить в движении то координаты будут менятся, и соответственно скрипт будет видеть другие координаты и вырубатся, если сюда приделать диапазон координат который чар может пробежать, в ту или иную сторону, за промежуток в 10 секунд, то проверка на физл будет вообще толковой.


Ты внимательно читай скрипт. Проверка смены координат только дополнительная, основная на уменьшение маны. И только если маны уменьшилось проверяются координаты. Да, если на тебя в тот момент когда ты на бегу реколлишься кто-то наложит курсу, маны уменьшится, координаты сменятся, скрипт решит что ты успешно среколлился. Часто такое у тебя бывает? У меня - ни разу.

Posted: 2004-12-06 21:34:49
by Edred
TapakaH wrote:я только начинаю учится скриптованию, поэтому для меня все эти myx, myy темный лес, и я незнаю как это реализовать :oops:
Edred wrote: ; NRune - десятичный номер (текстом) руны для реколла
вот на счет еткста немного не понял, надо в таких кавычках "xxx " номер писать??


Да. Например:

Code: Select all

Recalling( '0x12345678', '20' )

Posted: 2004-12-06 21:37:25
by Edred
TapakaH wrote:я только начинаю учится скриптованию, поэтому для меня все эти myx, myy темный лес, и я незнаю как это реализовать :oops:


Посмотри вот тут, проанализируй скрипт, увидишь как эта функция используется:
http://yoko.netroof.net/forum/viewtopic.php?t=1721

Posted: 2004-12-06 21:59:30
by TapakaH
Edred wrote:
TapakaH wrote:я только начинаю учится скриптованию, поэтому для меня все эти myx, myy темный лес, и я незнаю как это реализовать :oops:
Edred wrote: ; NRune - десятичный номер (текстом) руны для реколла
вот на счет еткста немного не понял, надо в таких кавычках "xxx " номер писать??


Да. Например:

Code: Select all

Recalling( '0x12345678', '20' )


и я так понимаю номер руны ,infogump'ом смотрится, тобишь тут номер руны "[0058] primary reply" - 58 получится.

Posted: 2004-12-06 22:00:45
by TapakaH
ща буду мучать твой скрипт с ходилкой, смотрел смотрел но ничего не понял покачто :lol:

Posted: 2004-12-07 18:15:50
by Edred
TapakaH wrote:и я так понимаю номер руны ,infogump'ом смотрится, тобишь тут номер руны "[0058] primary reply" - 58 получится.


Нет. Это шестнадцатиричный номер. Переведи при помощи виндоус калькулятора его в десятичные. В FAQ была темка подробно про это. Если нету - скачай старый форум, там точно есть.

Posted: 2004-12-07 20:48:58
by TapakaH
понял, проверил :)