Я сделал немного другой скрипт и только на БД. Может быть, он менее удобен и неоптимизирован, но его преимущество в том, что в случае пропуска пати мейном, БД кидает приглашение заново через 10с после предыдущего (столько по времени уменьшается полоска ожидания) (в пылу борьбы иногда забываю брать). В стандартном же скрипте при пропуске патиинвайта скрипт надо перезапускать и соответственно перетанцовывать.
Код работает только в оконном режиме. В качестве активного для UOpilot используется окно c бд.
окно с чаром, которого надо качатьпомещается в левый верхний угол экрана (обязательно, тк используются глобальные координаты для проверки на наличие вступившего игрока в указаной маркером области).
(IMG:http://img3.imageshack.us/img3/2923/66506379.jpg)
на БД необходимо выставить следующие макросы:
F1- приглашение игрока в пати
/invite <NickName>
F2- макрос на танцы и выход из пати. Например:
/useskill Dance of Concentration
/useskill Dance of Mystic
/Leave
/target %target
/target %target
Затем берём цель (того, кем качаемся) в таргет и запускаем скрипт.
Схема работы скрипта: Бд кидает пати и ждет когда мы ее примем, если мы ее принимаем, то танцует; в противном случае перекидывает пати.
Код
//Скрипт для кача с БД оффпати.
//Created by ORLANGUR
//-------------------------------Опции-------------------------------------
set $Key_1 F1 //invite
set $Key_2 F2 //Macros
set $Sleep 120s
//--- --- --- --- --- --- --- --- --- --- --- --- --- --
set #C 3743768 //значение цвета вертикальной полоски
//слева от имени чара в пати
set #X 16
set #Y1 147
set #Y2 142
//-------------------------------Скрипт-------------------------------------
:L1
set timer
send $Key_1
:L2
While timer < 10100
get color #C1 #X, #Y1 abs
get color #C2 #X, #Y2 abs
if ( #C1 = #C ) and ( #C2 = #C )
send $Key_2
wait $Sleep
else
GOTO L2
End_If
End_While
GOTO L1