Ru-MaNGOS  

Вернуться   Ru-MaNGOS > Ядро > Модификации ядра > Запросы

Важная информация

Запросы Запросы

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.04.2011, 17:08   #1
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 72 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию Залипание форм

1. Что есть залипание форм:
- присутствие визульного эффект формы, присутствие панельки со спеллами, актуальными для данной формы, невозможность кастовать ни их, ни спеллы, которые не кастуются в формах (хилки друида, етц)

2. Как происходит:
- при быстром входе/выходе из формы вручную
- при быстром входе/выходе из формы макросами /cancelform /cast spell или /cast !spell

3. Залипают все формы, друлевские, шп, стелс.
Друлевские формы можно сбросить правым кликом по бафу, с остальными же поможет только релог.

Как должно быть:
http://img638.imageshack.us/img638/3...1911173730.jpg
Как получается:
http://img197.imageshack.us/img197/8...1911173442.jpg

Результат .debug getvalue 122 hex : 1000000
- все ок, 0x1000000 = FORM_CAT << 3*8
(122 == UNIT_FIELD_FLAGS_2, оффсет - 3, т.е. форма)

Печально, но если прописать .debug setvalue 122 hex 1000000 без модифицированной функции SetByteValue - ничего не изменится, т.е. объект не будет обновляться, если выставляемая величина равно текущей. Но даже если модифицировать код на апдейт в любом случае - форма не "отвиснет", то есть получается, что клиент не обратит внимание на апдейт поля UNIT_FIELD_FLAGS_2, если оно фактически не изменилось (а оно выставляется при каждом вызове SetShapeshiftForm()).

Форма "отвисает" при любом изменении UNIT_FIELD_FLAGS_2, будь то команды, например
.debug setvalue 122 hex 0
.debug setvalue 122 hex 1000000
или, например, включение/выключение режима пвп (флаги UNIT_FIELD_BYTES_2 offset 1)

4. Тем самым, у меня сложилось мнение, что дело в обработке пакетов клиентом, а именно:
- либо клиент сначала получает апдейт на выставление формы, а затем на ее сброс
- либо что-нибудь связанное со скоростью получения этих апдейтов

И да, ошибка типа "You are in a shapeshift form" генерируется клиентом, т.е. на сервер не идет опкод каста спелла.

Может, у кого-то есть идеи, как это исправить?

Последний раз редактировалось Amaru; 19.04.2011 в 17:10.
Amaru вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ranger (20.05.2011)
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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



Текущее время: 18:06. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot