Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Принятые патчи

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

Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.

Повод для гордости.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2011, 14:13   #1
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию [11867][patch] GOSSIP_OPTION_MAILBOX

Есть 2 турнирных нпц пета(33238 и 33239), которые помимо всего прочего, предоставляют доступ к почте игрока, воспользовался готовым решением в ядре.))
Код:
diff --git a/src/game/GossipDef.h b/src/game/GossipDef.h
index 9e46bb2..b058e21 100644
--- a/src/game/GossipDef.h
+++ b/src/game/GossipDef.h
@@ -49,6 +49,7 @@ enum Gossip_Option
     GOSSIP_OPTION_ARMORER           = 15,                   //UNIT_NPC_FLAG_ARMORER             (4096)
     GOSSIP_OPTION_UNLEARNTALENTS    = 16,                   //UNIT_NPC_FLAG_TRAINER             (16) (bonus option for GOSSIP_OPTION_TRAINER)
     GOSSIP_OPTION_UNLEARNPETSKILLS  = 17,                   //UNIT_NPC_FLAG_TRAINER             (16) (bonus option for GOSSIP_OPTION_TRAINER)
+    GOSSIP_OPTION_MAILBOX           = 18,                   //UNIT_NPC_FLAG_GOSSIP              (8388608)
     GOSSIP_OPTION_MAX
 };
 
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index d4e246e..cfc7498 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -13091,6 +13091,7 @@ void Player::PrepareGossipMenu(WorldObject *pSource, uint32 menuId)
                 case GOSSIP_OPTION_PETITIONER:
                 case GOSSIP_OPTION_TABARDDESIGNER:
                 case GOSSIP_OPTION_AUCTIONEER:
+                case GOSSIP_OPTION_MAILBOX:
                     break;                                  // no checks
                 default:
                     sLog.outErrorDb("Creature entry %u have unknown gossip option %u for menu %u", pCreature->GetEntry(), itr->second.option_id, itr->second.menu_id);
@@ -13317,6 +13318,10 @@ void Player::OnGossipSelect(WorldObject* pSource, uint32 gossipListId, uint32 me
         case GOSSIP_OPTION_AUCTIONEER:
             GetSession()->SendAuctionHello(((Creature*)pSource));
             break;
+        case GOSSIP_OPTION_MAILBOX:
+            PlayerTalkClass->CloseGossip();
+            GetSession()->SendShowMailBox(guid);
+            break;
         case GOSSIP_OPTION_SPIRITGUIDE:
             PrepareGossipMenu(pSource);
             SendPreparedGossip(pSource);
В базу нужным:

Код:
REPLACE INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `action_script_id`, `box_coded`, `box_money`, `box_text`, `cond_1`, `cond_1_val_1`, `cond_1_val_2`, `cond_2`, `cond_2_val_1`, `cond_2_val_2`, `cond_3`, `cond_3_val_1`, `cond_3_val_2`) VALUES
(0, 0, 0, 'Visit a mailbox.', 18, 8388608, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0);

Последний раз редактировалось NeatElves; 01.12.2011 в 00:35.
NeatElves вне форума  
6 пользователя(ей) сказали cпасибо:
Lordronn (18.09.2011), PSZ (19.09.2011), rsa (28.09.2011), schmoozerd (21.12.2011), Vladimir (21.12.2011)
Старый 18.09.2011, 14:31   #2
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Но скорее всего надо по флагу выводить, у них - 8388608 по кешу
NeatElves вне форума  
Пользователь сказал cпасибо:
YuruY (18.09.2011)
Старый 04.12.2011, 05:42   #3
schmoozerd
MaNGOS Dev
 
Регистрация: 17.11.2011
Сообщений: 99
Сказал(а) спасибо: 35
Поблагодарили 80 раз(а) в 26 сообщениях
schmoozerd Скоро придёт к известности
По умолчанию

About these flags:
Do you have an further data if flag 8388608 is used with other npcs in cata;
or do you know of other npcs in cata that can act as a mailbox and don't have this flag?
schmoozerd вне форума  
Старый 21.12.2011, 16:27   #4
schmoozerd
MaNGOS Dev
 
Регистрация: 17.11.2011
Сообщений: 99
Сказал(а) спасибо: 35
Поблагодарили 80 раз(а) в 26 сообщениях
schmoozerd Скоро придёт к известности
По умолчанию

in [11867]. Thank you
schmoozerd вне форума  
Пользователь сказал cпасибо:
Vladimir (21.12.2011)
Старый 21.12.2011, 21:06   #5
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Осталось уточнить про 8388608:
Цитата:
UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // cause client to send 997 opcode
прав ли я..))
NeatElves вне форума  
Старый 22.12.2011, 02:19   #6
schmoozerd
MaNGOS Dev
 
Регистрация: 17.11.2011
Сообщений: 99
Сказал(а) спасибо: 35
Поблагодарили 80 раз(а) в 26 сообщениях
schmoozerd Скоро придёт к известности
По умолчанию

Код:
SELECT entry, name, npcflag, unit_flags, type_flags FROM creature_template WHERE entry IN (33238, 33239);
-- from UDB
33238, Argent Squire, 133761, 0, 8388608
33239, Argent Gruntling, 0, 0, 8388608
-- from ytdb
33238, Argent Squire, 8522369, 768, 8388608
33239, Argent Gruntling, 8522369, 0, 8388608
-- from own sniff (wow335)
-- for 33238: unit-flags 776 -- npc flag 1 -- type flags Unknown18 == 8388608
-- for 33239: unit-flags 776 -- npc flag 1
schmoozerd вне форума  
 


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

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



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


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