Показать сообщение отдельно
Старый 16.10.2011, 14:16   #24
Easy
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 35
Сказал(а) спасибо: 6
Поблагодарили 5 раз(а) в 4 сообщениях
Easy На верном пути
По умолчанию

Вообщем всё что выяснил пока.
Есть аура 330 у ханта и шамы
В сервере просто проверка на 330 ауру, и если она есть, то кастовать можно.
Собственно ссылка на функцию есть выше, на скайфаер.

А есть тал мага (возможно и лока тоже, пока не проверял)

Так вот, вкачиваем тал мага и на сервере видит что аура у него 330 и не блочит.

Дальше два варианта, которые говорят о том что клиент блочит:

1) Начинаем кастовать, и потом бежать, приходит опкод CMSG_CANCEL_CAST
Если мы его просто игнорируем, то на сервере каст продолжается, и урон будет нанесён, но визуально в клиенте всё равно обрыв каста.

2) Начинаем бежать, а потом пытаемся начать кастовать - не чего не происходит, в клиенте сообщение "вы не можете этого делать на ходу" а на сервер опкод старта каста даже не приходит.

То что сервер не блочит, легко проверить ещё так:
Начинаем бежать и пишем .cast 2948, и чар начнёт кастовать, так как сервер пошлёт команду старта каста. Но стоит остановится и опять попытаться побежать, как каст прервётся опкодом отмены каста.

Добавлено через 2 минуты
Цитата:
Сообщение от MaS0n Посмотреть сообщение
Отладка бы помогла - расставить бряки на Spell_C_CancelSpell и посмотреть call stack, откуда ноги растут
беда в том, что у меня клиент 4.0.6 и у меня нет базы где есть эти функции.

Но основная проблема в том, что я не когда этого не делал И я даже не смог через IDA запустить клиент, ошибки сыпятся и не чего не выходит

Ну что ещё видно, это то что у ханта и шамы бп = 0 для аур 330, а у мага и лока бп != 0

Последний раз редактировалось NeatElves; 16.10.2011 в 15:27.
Easy вне форума   Ответить с цитированием