PDA

Просмотр полной версии : Ожидание и сбор пати ботов


bokot
16.03.2010, 18:29
Уже давным давно юзал скрипт с ожиданием полноценной пати с последущим движением к споту и качу. Правда всегда до этого в пати было 2 персонажа. Пример скрипта:

//сделали ТП
MOVETO(x,y,z)
MOVETO(x1,y1,z1)
MOVETO(x2,y2,z2) //добежали до места сбора патьки

CALL(WaitParty) //собираем патю
MOVETO(x3,y3,z3) //побежали к споту дальше всей патей.
MOVETO(x4,y4,z4) //На споте никто не окажется один на один с мобами :)
JMP(Ka4)

LABEL(WaitParty)
MSG(Ждем патьку)
MSG(грузим CONFIG1.INI)
LOADCONFIG(CONFIG1.INI)
SET(L2WALKER,ENABLE)
LABEL(Wait1)
DELAY(1000)
!IsMember(ВторойЧленПати)
{
JMP(Wait1)
}
LOADCONFIG(CONFIG2.INI)
RETURN()

В случае смерти, падения бафа, окончания сосок/банок, ТП ботхантером, бот выходит из пати и делает СОЕ. Второй бот это видит и тоже валит в город. Дальше оба бафаются, закупаются и снова го на место. Все работает на ура!

Сегодня подключил к пати третьего члена и ОБЛОМ!!! :o
LABEL(WaitParty)
MSG(Ждем патьку)
MSG(грузим CONFIG1.INI)
LOADCONFIG(CONFIG1.INI)
SET(L2WALKER,ENABLE)
LABEL(Wait1)
DELAY(1000)
!IsMember(ВторойЧленПати)
{
JMP(Wait1)
}
!IsMember(ТретийЧленПати)
{
JMP(Wait1)
}
LOADCONFIG(CONFIG2.INI)
RETURN()

Опишу ситуацию: №1 - пати лидер. №2 - игрок №2. №3 - игрок №3.
Например, №1 прибежал на место сбора первым. Прибегает №2, вступает в пати и они нормально ждут третьего. Прибегает №3. Вступает в пати... №1 и №2 это видят и радостно чешут к споту. А вот №3 НИКОГДА НЕ ВИДИТ второго игрока, но видит первого и стоит, ждет, когда соберется вся патька.... Порядок вступления в пати не важен. Первый и второй всегда видят всех. А третий всегда не видит второго.
Дальше тоже интересно: если третьим бафнуть что угодно на второго(ну может еще какие действия сработают, хз), то он сразу его увидит и скрипт побежит дальше!

В общем тупость! Кто тут умный подскажет в чем проблема?

А пока реализую через ж...: когда патилидер увидел, что все в сборе, юзнет активный скилл. Остальные члены пати это должны увидеть и все почешут качаться. (надеюсь хоть это в боте работает :confused:)

Acmilan
16.03.2010, 19:38
Судя по скрипту все должно работать, смотри конфиги

Elastica
16.03.2010, 19:43
Когда-то была похожая проблема с рейнджером, при входе в готовую пати не все ее члены отображались должным образом, видимо в пешеходе аналогичная проблема. Попробуй проверить на 4м и 5м персах, если такая же шляпа, то остается скрипт на проверку баффа у МА.

bokot
16.03.2010, 21:06
Проблема осталась. Видимо, реально в боте проблема, т.к. пати есть, но скрипт одного члена не видит. Проверял специально, даже собирая пати вручную и просто запускал скриптик на каждом
IsMember(ВторойЧленПати)
{
MSG(В пати ВторойЧленПати)
}
IsMember(ТретийЧленПати)
{
MSG(В пати ТретийЧленПати)
}

В конфигах даже не предполагаю что можно посмотреть на эту тему: из за чего скрипт может одного члена пати видеть, а второго нет?

В результате на одном из персов просто поставил бафать другого (не патилидера) любой дрянью. Тогда скрипт сразу видит присутствие нужного второго члена в пати и выполняется нормально. Даже переделывать ничего не пришлось. Ток чуть изменить конфиг ожидания пати одного бота.

Когда появится необходимость собирать пати из бОльшего кол-ва народу, надо будет перейти на MemberBuffs(), как я отписывал в начальном посте.