Yoko
http://forum.yoko.com.ua/

Замена одного обьекта другим
http://forum.yoko.com.ua/viewtopic.php?f=20&t=2681
Page 1 of 1

Author:  колхоз [ 2005-01-17 16:15:00 ]
Post subject:  Замена одного обьекта другим

Я короче переделываю Ветерановский скрипт на ламбер.
У меня есть 2 обьекта runebook1 и runebook2. Скрипт в начале просит тыкнуть на них:
Code:
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 неиспользовался бы. Как это сделать?

Author:  Edred [ 2005-01-17 16:20:58 ]
Post subject: 

В скрипте в реколлах используй вместо ссылки на объект рунбуки переменную, например rb. А ее определяй из

rb = UO.GetSerial( 'runbook1' )

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

rb = UO.GetSerial( 'runbook2' )

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

Author:  колхоз [ 2005-01-17 17:06:56 ]
Post subject: 


Author:  Edred [ 2005-01-17 17:58:00 ]
Post subject: 

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"

Author:  колхоз [ 2005-01-17 19:29:25 ]
Post subject: 

Ладно проехали, придумаю чёто другое. Я ещё начинающий... 8)

Author:  Edred [ 2005-01-17 23:39:52 ]
Post subject: 

Lobster wrote:
Ладно проехали, придумаю чёто другое. Я ещё начинающий... 8)


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

Author:  колхоз [ 2005-01-18 16:24:42 ]
Post subject: 

Да я уже сделал по другому 8)

Author:  колхоз [ 2005-01-18 16:30:26 ]
Post subject: 

Только вот парит такая хрень:
Code:
UO Client performed an unrecoverable invalid operation. Terminate?
Что-то сделать с этим можно?

Author:  Edred [ 2005-01-18 18:27:35 ]
Post subject: 

что-то где-то не так :)

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/