Page 1 of 1
Проблемка со скриптом...
Posted: 2006-09-29 08:58:05
by comatoza
была идейка написать скрипт на инскрипт
универсальный с прокачкой от 30 и до 100...
но есть одна трабла...
может подскажите в чём дело?
Code: Select all
sub main()
var i
Dim circle[2]
circle[1] = '2spell'
circle[2] = '3spell'
Dim Spell[2]
spell[1] = 'Strength'
spell[2] = 'Bless'
Dim MaxSkillVal[2]
MaxSkillVal[1] = 400
MaxSkillVal[2] = 500
uo.print('Где бланки?')
uo.addobject('bs')
while uo.targeting()
wait(100)
wend
for i=1 to 3
while uo.SkillVal('Inscription')<MaxSkillVal[i]
UO.useskill('Inscription')
UO.waittargetobjecttype('bs',0x0EFA,0x0000)
Wait(1000)
uo.waitmenu("'to inscribe' circle[i] 'to inscribe' spell[i]")
while not uo.injournal("enough")
wait(100)
wend
while UO.Mana<uo.int
UO.useskill('Meditation')
Wait(11000)
wend
wend
next
end sub
проблема следующего рода... не воспринимает следующую строку как строку выбора меню...
Code: Select all
uo.waitmenu("'to inscribe' circle[i] 'to inscribe' spell[i]")
а почаму мне не понять

Posted: 2006-09-29 09:43:51
by Savage
Долго объяснять почему, но меню ты задаешь неправильно. Меню это пара ('вопрос', 'ответ', 'вопрос', 'ответ', 'вопрос', 'ответ') до трех вложений. Если надо динамически его изменять с помощью переменной то делаешь так: ('вопрос'+i, 'ответ'). Если численное значение не покатит, значит переменную нужно будет преобразовать в текст.
Posted: 2006-09-29 09:46:57
by Edred
Posted: 2006-09-29 10:01:54
by comatoza
здесь я уже был...
не помогло...
единственная мысль родившаяся при повторном посещении ссылки - использовать возможность автоменю подставлять номер выбора вместо описания....
но как быть когда нужно сделать 2 выбора?
в waitmenu номер подставить не получается
мне поначалу показалось что можно тока один раз, но потом дошло что он реагирует на цифру в номере круга...
Posted: 2006-09-29 13:06:29
by Edred
если с меню у тебя все в порядке, тогда:
uo.waitmenu('to inscribe', circle[i], 'to inscribe', spell[i])
или
uo.exec("waitmenu inscribe " + circle[i] + " inscribe " + spell[i])
но, думаю, шапки в меню у тебя не такие. Они, что, одинаковые?
ЗЫ: Вообще-то, в топике с моим наследством есть скрипт на прокачку инсткрипта. Надо будет еще написать скрипт на скриптинг скрипта на инскрипт.

Posted: 2006-09-29 13:18:13
by comatoza
Edred wrote:если с меню у тебя все в порядке, тогда:
uo.waitmenu('to inscribe', circle[i], 'to inscribe', spell[i])
или
uo.exec("waitmenu inscribe " + circle[i] + " inscribe " + spell[i])
но, думаю, шапки в меню у тебя не такие. Они, что, одинаковые?
ЗЫ: Вообще-то, в топике с моим наследством есть скрипт на прокачку инсткрипта. Надо будет еще написать скрипт на скриптинг скрипта на инскрипт.

Эд. Извини, но читай внимательнее первый топик... если бы у меня была задача просто написать скрипт на inscription я бы к вам и не обращался т.к. этого гумуса у меня навалом... задача быал сделать его универсальным чтобы он подбирал, что писать по определённому значению скила...
ЗЫ. шапки у меня такие как нада....
select a circle to inscribe
select a spell to inscribe
ЗЫЫ пасиба пАлюбому

если не будет работать снова отпишусь...
Posted: 2006-09-29 13:27:13
by Savage
А ответы у тебя какие?
Posted: 2006-09-29 13:31:55
by comatoza
Savage wrote:А ответы у тебя какие?
а они заданы в двух массивах
circle
и
spell
Posted: 2006-09-29 14:17:54
by Savage
Тогда вообще проблемм не вижу.
Code: Select all
UO.WaitMenu('select',circle[i],'select',spell[i])
Posted: 2006-09-29 19:31:46
by comatoza
Savage wrote:Тогда вообще проблемм не вижу.
Code: Select all
UO.WaitMenu('select',circle[i],'select',spell[i])
да я уже сам, валенок, понял

када дядя Эд показал где я ошибался

Posted: 2006-09-29 20:53:54
by Mihail
эт шо такое?
есть отдельно ОБЖЕКТ и отдельно ТИП (или ввели новую команду?

)
Posted: 2006-09-29 21:33:11
by Edred
Mihail: Тебе пора в хелп наведаться...
Posted: 2006-09-29 21:57:10
by Mihail
да.. извиняюсь - просто никогда не видел эту команду..
p.s. я плохо понимаю чем отличается uo.findtype('0x0000','0x0000','ground') от uo.waittargetobjecttype
Posted: 2006-09-29 23:46:07
by Edred
Mihail wrote:('0x0000','0x0000','ground') от uo.waittargetobjecttype
Быстрее всего ничем. Также как uo.usetype ничем не отличается от
uo.findtype('тип')
uo.useobject( 'finditem')
И еще много такого есть в инжекте. Это же хорошо, что есть команды, сокращающие время скриптинга и длину кода.
Posted: 2006-09-30 04:09:08
by Scripts Writer
Edred wrote:Mihail wrote:('0x0000','0x0000','ground') от uo.waittargetobjecttype
Быстрее всего ничем. Также как uo.usetype ничем не отличается от
uo.findtype('тип')
uo.useobject( 'finditem')
И еще много такого есть в инжекте. Это же хорошо, что есть команды, сокращающие время скриптинга и длину кода.