Page 1 of 1

Скрипт на реколы

Posted: 2004-04-20 13:28:43
by SVG
Вот участок кода скрипта на написание реколов. Сначала использую скилл Инскрипт, потом тарнетом на пустые бланки(bs), затем на спелбуку(sb), далее выподает крафтовое меню.

UO.waitmenu("Select a circle to inscribe","Circle 4spells","Select a spell to inscribe","Recall")
uo.useskill( "Inscription" )
uo.waittargettype (bs)
uo.waittargetobject(sb)

Кто может объяснить почему он плохо работает. То пишет то не пишет, а иногда воще вылетает.

Posted: 2004-04-20 15:27:22
by Yoko
комманды waittarget* не посылают на сервер прицел, а устанавливают ловушку для следующего прицела. При задании их подряд новая отменяет предыдущую. См. так же хелп http://yoko.netroof.net/help
Порядок команд в результате тоже другой. Сперва ставится ловушка, только потом запускается то что вызывает прицел.

UO.waitmenu("Select a circle to inscribe","Circle 4spells","Select a spell to inscribe","Recall")
uo.waittargetobject("_"+bs,sb)
uo.useskill( "Inscription" )

Posted: 2004-04-20 16:29:29
by SVG
Спасибо за разъяснения. Все работает. Я совсем забыл, что тут есть преобразование типов, поэтому и не использовал эту команду.

Posted: 2004-04-20 16:46:54
by SVG
Вот рабочий скрипт на написание реколов.

Code: Select all

sub main()

var bs="0x0E34"         #<--- тип пустых бланков
var rs="0x1F4C"         #<--- тип реколов
var sb="0x55489D6A" #<--- сериал спелбуки
var time

while uo.count(bs)
 uo.print( "Blank scrolls "+str(uo.count(bs)) )
 uo.print( "Recall scrolls "+str(uo.count(rs)) )
 uo.deletejournal()
 uo.waitmenu("Select a circle to inscribe","Circle 4spells","Select a spell to inscribe","Recall")
 uo.waittargetobject("_"+bs,sb)
 uo.useskill( "Inscription" )
 time=uo.timer()
 repeat
  wait(500)
 until uo.injournal("You dont have enough mana to continue") || (uo.timer()-time)>600
 while UO.Mana<UO.INT
  UO.DeleteJournal()
  UO.UseSkill('Meditation')
  if not UO.InJournal('You are unable to concentrate') then
    wait(10000)
  endif
 wend
wend
endsub