Advertisement
Easelm

Show Top 10 Arena Teams 2v2 and 3v3 by, Tommy aka QQrofl

Apr 20th, 2012
1,981
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.61 KB | None | 0 0
  1. /*******************************************************************************************
  2. *              _   _                                      __   _                           *
  3. *              | \ | |   ___    _ __ ___    ___    ___    / _| | |_                        *
  4. *              |  \| |  / _ \  | '_ ` _ \  / __|  / _ \  | |_  | __|                       *
  5. *              | |\  | | (_) | | | | | | | \__ \ | (_) | |  _| | |_                        *
  6. *              |_| \_|  \___/  |_| |_| |_| |___/  \___/  |_|    \__|                       *
  7. *                               The policy of Nomsoftware states: Releasing our software   *
  8. *                               or any other files are protected. You cannot re-release    *
  9. *                               anywhere unless you were given permission.                 *
  10. *                           (C) Nomsoftware 2011-2012. All rights reserved.                *
  11. ********************************************************************************************/
  12.  
  13. #include "ScriptPCH.h"
  14. using namespace std;
  15.  
  16. class npc_arena_teamTop : public CreatureScript
  17. {
  18.    public:
  19.        npc_arena_teamTop() : CreatureScript("npc_arena_teamTop") { }
  20.  
  21.        bool OnGossipHello(Player * player, Creature * creature)
  22.        {
  23.            player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "View top 2v2 Arena Teams", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
  24.            player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "View top 3v3 Arena Teams", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
  25.            player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Nevermind", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
  26.            player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  27.            return true;
  28.        }
  29.  
  30.        bool OnGossipSelect(Player * player, Creature * creature, uint32 sender, uint32 actions)
  31.        {
  32.            if(sender == GOSSIP_SENDER_MAIN)
  33.            {
  34.                switch(actions)
  35.                {
  36.                    case GOSSIP_ACTION_INFO_DEF+1:
  37.                    {
  38.                        QueryResult result = CharacterDatabase.Query("SELECT name,rating FROM arena_team WHERE type='2' ORDER BY rating DESC LIMIT 10");
  39.                        if(!result)
  40.                            return false;
  41.  
  42.                        Field * fields = NULL;
  43.                        player->MonsterWhisper("|cff4169E1Here are the top 10 2v2 arena teams:|r", player->GetGUID());
  44.                        do
  45.                        {
  46.                            fields = result->Fetch();
  47.                            string arena_name = fields[0].GetString();
  48.                            uint32 rating = fields[1].GetUInt32();
  49.                            char msg[250];
  50.                            snprintf(msg, 250, "Team Name: |cffFFFF00%s|r, Team Rating: %u \n", arena_name.c_str(), rating);
  51.                            player->MonsterWhisper(msg, player->GetGUID());
  52.                        }while(result->NextRow());
  53.                    }break;
  54.  
  55.                    case GOSSIP_ACTION_INFO_DEF+2:
  56.                    {
  57.                        QueryResult result = CharacterDatabase.Query("SELECT name,rating FROM arena_team WHERE type='3' ORDER BY rating DESC LIMIT 10");
  58.                        if(!result)
  59.                            return false;
  60.  
  61.                        Field * fields = NULL;
  62.                        player->MonsterWhisper("|cff4169E1Here are the top 10 3v3 arena teams:|r", player->GetGUID());
  63.                        do
  64.                        {
  65.                            fields = result->Fetch();
  66.                            string arena_name = fields[0].GetString();
  67.                            uint32 rating = fields[1].GetUInt32();
  68.                            char msg[250];
  69.                            snprintf(msg, 250, "Team Name: |cffFFFF00%s|r, Team Rating: %u \n", arena_name.c_str(), rating);
  70.                            player->MonsterWhisper(msg, player->GetGUID());
  71.                        }while(result->NextRow());
  72.                    }break;
  73.  
  74.                    case GOSSIP_ACTION_INFO_DEF+3:
  75.                        {
  76.                            player->PlayerTalkClass->SendCloseGossip();
  77.                        }break;
  78.                }
  79.            }
  80.  
  81.            return true;
  82.        }
  83. };
  84.  
  85. void AddSC_npc_arena_setup()
  86. {
  87.     new npc_arena_teamTop;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement