Page 1 of 1

Замена одного обьекта другим

Posted: 2005-01-17 16:15:00
by колхоз
Я короче переделываю Ветерановский скрипт на ламбер.
У меня есть 2 обьекта runebook1 и runebook2. Скрипт в начале просит тыкнуть на них:

Code: Select all

uo.Print('Viberi runebook1: ') 
uo.Exec('addobject runebook1')
while uo.Targeting()
wait(100)
wend
uo.Print('Viberi runebook2: ')
uo.Exec('addobject runebook2')
while uo.Targeting()
wait(100)
wend

Оба рунбука по 21 заряду. Скрипт использует runebook1 чтобы реколится домой, а runebook2 в это время не используется вообще. Мне надо сделать чтобы когда uo.injournal("Not enough charges"), эти 2 обьекта менялись какбы местами. Тоесть скрипт уже использовал бы runebook2 для реколов домой, а runebook1 неиспользовался бы. Как это сделать?

Posted: 2005-01-17 16:20:58
by Edred
В скрипте в реколлах используй вместо ссылки на объект рунбуки переменную, например rb. А ее определяй из

rb = UO.GetSerial( 'runbook1' )

когда надо переопределяй ее

rb = UO.GetSerial( 'runbook2' )

Все тривиально.

Posted: 2005-01-17 17:06:56
by колхоз

Posted: 2005-01-17 17:58:00
by Edred
Lobster wrote:Вот до чего я дошёл, но это не работает. В чем проблема?


Дык ты хочешь отладку программы превратить в игру вопросы-ответы? Она же тебе говорит почему не работает, она не может работать - ошибки в каждой второй строке. Ты сначала синтаксис поправь в скрипте, а потом если не работает - пиши.

И когда постишь скрипт - пости все функции в нем задействованные.


if RechargeBook==1 then
RechargeBook()
wait(4000)
end if

Вот тут ты зря переменную и функцию назвал одним именем. Кстати, ты это дальше делаешь постоянно.

if not rb = UO.GetSerial('runebook2') then

Вот тут надо писать ==

else
goto fly
end if
fly:

Такая конструкция вообще смысла не имеет. Уберешь else, goto, метку и будет все равно тоже самое

uo.exec("recall rb 2")

Так эта команда работать не будет. Используй либо UO.Recall(rb, "2") либо строку "recall " + rb + " 2"

Posted: 2005-01-17 19:29:25
by колхоз
Ладно проехали, придумаю чёто другое. Я ещё начинающий... 8)

Posted: 2005-01-17 23:39:52
by Edred
Lobster wrote:Ладно проехали, придумаю чёто другое. Я ещё начинающий... 8)


Так никогда не научишься. Чтобы научиться надо вцепиться зубами в этот скрипт и добивать его пока все не заработает как надо. Поправь то что я тебе написал и пробуй снова.

Posted: 2005-01-18 16:24:42
by колхоз
Да я уже сделал по другому 8)

Posted: 2005-01-18 16:30:26
by колхоз
Только вот парит такая хрень:

Code: Select all

UO Client performed an unrecoverable invalid operation. Terminate?
Что-то сделать с этим можно?

Posted: 2005-01-18 18:27:35
by Edred
что-то где-то не так :)