Показать сообщение отдельно
Старый 24.07.2014, 23:06   #1
Новичок
 
Регистрация: 24.07.2014
Сообщений: 8
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
CoolNickname пока неопределено
По умолчанию Движение за objectid с задержкой

Добрых времени суток. Начну пожалуй с самого начала. И так, есть игра BSFG 2 (модификация ла2 хроники GoD), в ней есть такая фишка как караван. Происходит это следующим образом. По дефолтному маршруту от аванпоста к городу движется повозка, твоя задача бежать рядом с повозкой и в случае нападения мобов на повозку - убивать их. Мобы нападают всегда рандомно, могут вообще не напасть.
На серве стоит шифрация, но побегав с бубном возле phx добился того, что нужные для перемещения чара пакеты приходят нормально.
А приходят собственно такие пакеты:
От клиента:
Action - 1F B9 D4 70 48 0C A9 FF FF 2B 03 01 00 DC F1 FF FF 00 приходит когда берешь в таргет, из него можно узнать objectid.
MoveBackwardToLocation
ValidatePosition
От сервера приходят очень карявые пакеты, но методом тыка узнал что пакет: 0E 01 25 70 49 00 00 00 00 00 00 00 00 02 00 00 00 0A 00 00 00 06 0B 00 00 09 00 00 00 D5 09 00 00 приходит когда рядом с тобой кто-нибудь движется(даже мобы), в этом пакете:
01 25 70 49 - objectid
0B 00 00 09 - x
00 00 00 D5 - y
D5 09 00 00 - z
(Хотя может вообще и не прийти, когда друг рядом бегал минут 5, ни одного пакета не пришло, а как другие бегают, то их валом приходит )
Теперь вот нужно имея эти пакеты сделать скрипт, что бы мой чар бежал за караваном, но на некотором расстоянии, ибо если просто прицепиться, то тебя будет откидывать от каравана все дальше и дальше. Предполагалось сделать так, что бы координаты чара отставали от координат каравана на 5 секунд.
Моя логика для этого скрипта такова:
1)Узнаем objectid каравана.
2)Далее отлавливаем синие пакеты 0E с нужным objectid и вытягиваем из них координаты.
3)Теперь или отлавливать этот пакет раз в 5 сек или придумать иной способ(что бы была задержка) и составлять пакет MoveBackwardToLocation с нужными для нас координатами.
Помогите кто чем сможет в этом деле пожалуйста)

Выяснил что пакет 0E 01 25 70 49 00 00 00 00 00 00 00 00 02 00 00 00 0A 00 00 00 06 0B 00 00 09 00 00 00 D5 09 00 00 приходит когда кто-то начинает атаковать таргет. Теперь узнать координаты каравана не получится( Других пакетов с информацией о таргете не приходит(

Последний раз редактировалось CoolNickname, 25.07.2014 в 00:10. Причина: Причина прихода пакета 0E
CoolNickname вне форума   Ответить с цитированием