Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Баг-репорты

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

Баг-репорты Описываем проблемы и ошибки работы ядра

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2010, 10:15   #1
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию Скорость полета на такси

Как-то сравнивал скорость полета на такси на мангосе и на офе (по видео) по квестам и пришел к выводу, что скорость разная: на мангосе квестовые маунты летают быстрее.

Наткнулся на этот косяк при попытке реализовать квесты http://ru.wowhead.com/quest=9718 и http://ru.wowhead.com/quest=12028.

По квесту 12028 на игрока вешается баф 47189 продолжительностью 2:40, время полета на такси чуть меньше (на офе), а на мангосе время полета 1:40, т.е. на минуту меньше.
По окончании действия спелла квест должен комплититься, но из-за разности в минуту квест будет работать неправильно.

Спелл 47190 запускает такси 811, у которого во время полета есть 6 эвентов, в каждом из которых прописал определенную фразу, которую нпц должен говорить игроку в личку.

Засекал время в каждой точке со стартом эвента от начала полета на офе и мангосе.
Путем деления соответствующих отрезков времени пришел к выводу, что скорость на мангосе должна быть в 1.6 раза меньше.

В базе нашел нпц по двум указанным квестам, которые выступают в роли маунтов с невидимой моделью.
Код:
17972 - Invisible Mount Speed 30
21396 - Invisible Mount Speed 20
По умолчанию скорость полета такси:
Код:
#define PLAYER_FLIGHT_SPEED        32.0f
По квесту 12028 маунт 21396.
Если принять во внимание, что в названии заложена скорость полета на этом маунте для такси, то найдем коэффициент замедления: 32 / 20 = 1.6, что совпадает с расчетным значением.

Внес изменения в ядро:
Код:
inline float Traveller<Player>::Speed()
{
    if (i_traveller.isInFlight())
    {
        float PlayerFlightSpeed = PLAYER_FLIGHT_SPEED;
        if (!i_traveller.m_taxi.empty()){
            switch (i_traveller.m_taxi.GetCurrentTaxiPath()){
                case 512:                                   // Stormcrow Amulet - spell 31606
                    PlayerFlightSpeed = 30.0f;
                    break;
                case 811:                                   // Toalu'u's Spiritual Incense - spell 47190
                    PlayerFlightSpeed = 20.0f;
                    break;
            }
        }
        return PlayerFlightSpeed;
    }
    else
        return i_traveller.GetSpeed(i_traveller.m_movementInfo.HasMovementFlag(MOVEFLAG_WALK_MODE) ? MOVE_WALK : MOVE_RUN);
}
В итоге игрок по-прежнему пролетает весь маршрут за 1:40, но после приземления вокруг нет нпц, го, игрок фактически сидит на невидимом маунте.
Это продолжается примерно минуту.
Эвенты запускаются, как и положено.

Получается, что меняется реальный полет игрока, а визуальное отображение осталось прежним.

1. Возможно, надо послать клиенту какой-нибудь пакет об изменении скорости, например, MSG_MOVE_SET_FLIGHT_SPEED и т.д.?
2. Можно ли менять скорость полета не в Traveller<Player>::Speed(), а в описании эффекта спелла, который накладывается на игрока в начале полета?
3. Кто-нибудь встречал еще такси без маунтов или со скоростью, отличающейся от офа?

4. Есть ли возможность заставить нпц говорить фразу в личку игроку независимо от расстояния, например, по гуиду нпц? В квесте 12028 игрок улетает далеко, поэтому бОльшую часть фраз он говорит сам.
virusav вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Fear (28.10.2010), Vladimir (14.05.2010)
 

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SCRIPT_COMMAND_QUEST_EXPLORED для эвентов такси virusav Принятые патчи 0 05.05.2010 21:04


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


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