|
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
26.01.2011, 18:08 | #1 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
[11559][patch] not sit player if in fly
Касается видимо только друида в форме птицы, взлетаем - нажимаем логаут.
На офе, друид в воздухе сесть не может, так же как и игрок в воде, при нажатии логаута. Код:
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp index 260be7e..247a538 100644 --- a/src/game/MiscHandler.cpp +++ b/src/game/MiscHandler.cpp @@ -292,7 +292,9 @@ void WorldSession::HandleLogoutRequestOpcode( WorldPacket & /*recv_data*/ ) // not set flags if player can't free move to prevent lost state at logout cancel if(GetPlayer()->CanFreeMove()) { - GetPlayer()->SetStandState(UNIT_STAND_STATE_SIT); + float height = GetPlayer()->GetTerrain()->GetHeight(GetPlayer()->GetPositionX(), GetPlayer()->GetPositionY(), GetPlayer()->GetPositionZ(), true, MAX_HEIGHT); + if (((GetPlayer()->GetPositionZ() - height) < 1.0f) && !(GetPlayer()->IsInWater())) + GetPlayer()->SetStandState(UNIT_STAND_STATE_SIT); WorldPacket data( SMSG_FORCE_MOVE_ROOT, (8+4) ); // guess size data << GetPlayer()->GetPackGUID(); Последний раз редактировалось Den; 24.05.2011 в 20:18. |
24.05.2011, 20:19 | #2 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
Можно услышать комментарии ? Или же это костыль ?
Спасибо. |
25.05.2011, 21:01 | #3 |
just a lazy user
Регистрация: 07.03.2010
Адрес: Киев
Сообщений: 31
Сказал(а) спасибо: 48
Поблагодарили 31 раз(а) в 11 сообщениях
|
Да, по-моему, костыль.
__________________
Так как нету кнопки "Фууу", скажу вам прямо... (c) |
26.05.2011, 01:59 | #4 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
if (!GetPlayer()->m_movementInfo.HasMovementFlag(MOVEFLAG_FLYING) && !GetPlayer()->IsInWater())
? |
26.05.2011, 06:54 | #5 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
Ага, и друид в форме птицы больше не когда не сядет, когда будет находится на высоте позволяемой сесть. т.е чуть-чуть от земли.
|
26.05.2011, 21:26 | #6 |
MaNGOS Dev
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 73 раз(а) в 59 сообщениях
|
разве когда он "касается" земли, у него уже не будет мувфлага полета?
|
27.05.2011, 02:22 | #7 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Ну в прыжке он тоже наверное садится не должен? или падении...
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
27.05.2011, 12:49 | #9 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
|
28.05.2011, 23:46 | #10 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Т.е некасание земли можно использовать как исходно предлагалось в проверке - или садится или код не вызывается всеравно.
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
29.05.2011, 04:05 | #11 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
По патчу: не имеет смысла использовать MAX_HEIGHT - так как если мы не находим пол вблизи то возвращаем его очень глубоко - что вообщем-то для проверки не имеет разницы.
[added] В [11559] с этим изменением. Спасибо
__________________
Так как устал объяснять знайте ICQ не пользуюсь Последний раз редактировалось Vladimir; 29.05.2011 в 04:24. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[11519] Fix player totem icons (those under player portrait) | newsbot | CMaNGOS Commits | 0 | 21.05.2011 11:41 |
WoW player | Chipleo | Корзина | 0 | 06.02.2011 03:01 |
[10491] Search player in player list in update fields data prepare is bad idea. | newsbot | CMaNGOS Commits | 0 | 16.09.2010 22:10 |
Send SMSG_CORPSE_NOT_IN_INSTANCE if player in ghost form tries to enter an instance without player's | newsbot | CMaNGOS Commits | 0 | 27.05.2010 22:00 |
[9919] Output player name in ObjectGuid player output string. | newsbot | CMaNGOS Commits | 0 | 17.05.2010 12:00 |