PDA

Просмотр полной версии : Как узнать когда можно посылать пакет?


glukmaker
23.01.2013, 12:12
Для эксперимента решил написать баф-бота.

бот загружает ПП и ШЕ. Например каждая должна бафнуть 6 бафов.
Сначала посылки пакетов для бафа пользовался таймером. Работает нормально, если установить достаточное время между отсылками пакетов
(2-2,5 секунды при отсутствии акумена и берса у самих баферов)

Но потом решил сделать более быстрый бафф, чтобы не связываться с таймером... Каждый следующий пакет посылаю когда приходит от сервера пакет ActionFail (успешное выполнение команды).
Но ПП стала "проглатывать" пакеты и соответственно не все бафать, а ШЕ вообще бафает только первый баф и останавливается...

Как определить момент когда можно посылать следующий пакет юзания магического скила, после отсылки предыдущего?

Добавлено через 3 часа 17 минут
Вроде сам понял... нужно ловить не пакет 25, а пакет 48 и проверять чтобы ID кастующего (из пакета) совпадал с IDом самого бафера...

так вроде все заработало...

Добавлено через 16 часов 30 минут
Все-таки проблемки иногда вылазят, но теперь не часто...
Примерно в 10-20% случаев бафф останавливается преждевременно.
Причем в основном на бафере имеющем меньшую скорость каста... Хотя я не пойму должна ли скорость каста как-то влиять если каст осушествляется по приоду пакета 48

SeregaZ
23.01.2013, 12:59
значит надо так:

процедура таймер 1 секунда:
кидать какой-то баф из переменной "работа"
конец процедуры

кнопка запуска бафа:
таймер включен
работа = кинуть баф берсерк

скрипт на чаре, кому кидаешь баф:
если на этом чаре появился баф берсерк, то работа = кинуть баф акумен
если на этом чаре появился баф акумен, то работа = кинуть вайлд маджик
если на этом чаре появился баф вайлд маджик, то таймер выключен

mira
25.01.2013, 13:40
много вариаций.
у меня примерно так:
1)берем в таргет
2)юзаем скилл ID
3)ждем от сервера MagicSkillUsed и запоминаем CastTime
3)Delay( GetTickCount + skillcasttime)
4)переходим к пункту 2 для следующего умения

у меня в реализации канечно все намного страшнее, включая проверки не висит ли уже там баф с подобным абнормалом, нет ли на кастующем состояний мешающих этому (стан сайленс итд), проверка расстояния, времени отката умения итд