В общем твой скрипт полная лажа, да и мой может оказаться не лучше из-за не имения полной информации, так как на моем шарде нет таких деревье, но если я тебя правильно понял (смотри комментарии в скрипте), то попробуй этот скрипт.
Писал чисто из любопытства, не тестил.
Если не получиться то распиши все подробней, что ты должен делать когда узаешь дерево (последлвательность), расходуется ли удобрение, есть ли какие сообщения о том, что ты завершил уход за деревом.
Так же я предположил, что деревья и поилка находятся рядом и никуда бегать не надо.
Code:
sub bonsay()
DIM DEREVO[2] # Объявляем массив с деревьями, сейчас их 2.
DEREVO[0] = '0x4025A750' # Каждому элементу массива
DEREVO[1] = '0x4016EB3B' # присваиваем значения.
VAR poilka = '0x4003D00E'
VAR kakaha = '0x0F81'
VAR butilka = '0x182A'
VAR pustaya_butilka = '0x182D'
VAR i
repeat
for i = 0 to 1 # Цикл на два дерева, если будет три дерева, то 1 исправить на 2, и т.д.
UO.FindType(butilka) # Ищим бутылку с водой.
if UO.FindCount() == 0 then # Если не нашли бутылку с водой, то будем искать пустую бутылку.
UO.FindType(pustaya_butilka) # Ищим пустую бутылку с водой в бэкпаке.
if UO.FindCount() > 0 then # Если нашли пустую бутылку, то наполним ее водой.
UO.WaitTargetObject(poilka) # Ставим ловушку на поилку.
UO.UseObject('fainditem') # Двойной щелчок по бутылке, после чего сработает ловушка и бутылка будет наполнена.
else
UO.Print("Утебя нет бутылок для воды.")
UO.Print("Скрипт остановлен.")
return
endif
UO.FindType(butilka)
endif
UO.WaitTargetType('finditem',kakaha)
# Ставим первую ловушку на бутылку с водой ('finditem') и следом
# вторую ловушку на удобрение (kakaha).
UO.UseObject(DEREVO[i])
# Делаем двойной щелчок по дереву, после которого мы должны
# указать на бутылку, чтобы полить дерево, и указать на
# удобрение, чтобы удобрить дерево.
wait(3000)
next
until UO.Dead()
endsub