Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.01.2013, 12:12   #1
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 37
Сказал Спасибо: 13
Имеет 1 спасибку в 1 сообщении
glukmaker пока неопределено
По умолчанию Как узнать когда можно посылать пакет?

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

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

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

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

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

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

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

Последний раз редактировалось glukmaker, 23.01.2013 в 12:12. Причина: Добавлено сообщение
glukmaker вне форума   Ответить с цитированием
Старый 23.01.2013, 12:59   #2
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

значит надо так:

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

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

скрипт на чаре, кому кидаешь баф:
если на этом чаре появился баф берсерк, то работа = кинуть баф акумен
если на этом чаре появился баф акумен, то работа = кинуть вайлд маджик
если на этом чаре появился баф вайлд маджик, то таймер выключен
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 25.01.2013, 13:40   #3
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

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

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

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!