[Epic Release] My PvPTitlesNPC C++ Source (ArcEmu) menu

These ads disappear when you log in.

Page 1 of 2 12 LastLast
Results 1 to 15 of 27
  1. #1
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)

    [Epic Release] My PvPTitlesNPC C++ Source (ArcEmu)

    Ok here it is! My PvPTitlesNPC Source.
    Note: This was written for ArcEmu and has only been tested on ArcEmu and worked 100%. Not sure if it will work on others.

    "PvPTitlesNPC.cpp"
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)
    #endif
    
    
    class SCRIPT_DECL PvPTitlesNPC : public GossipScript
    {
    public:
        void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
        void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
        void GossipEnd(Object * pObject, Player* Plr);
    	void Destroy()
    	{
    		delete this;
    	}
    };
    void PvPTitlesNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    {
    		if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{Menu->AddItem(0, "Horde PvP Titles", 1);}else{Menu->AddItem(1, "Alliance PvP Titles", 2);}
    				}
    
    		if(AutoSend)
                Menu->SendTo(Plr);
        }
    
    void PvPTitlesNPC::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
        {
    	Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
    	if(pCreature==NULL)
    		return;
    
            GossipMenu * Menu;
            switch(IntId)
            {
            case 0:
    		GossipHello(pObject, Plr, true);
            break;
    
    
            case 1:    ////Horde Titles////
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    		        Menu->AddItem(5, "Scout 50g Req. 100HKs", 4);
                    Menu->AddItem(5, "Grunt 100g Req. 300HKs", 5);
                    Menu->AddItem(5, "Sergeant 150g Req 600HKs", 6);
                    Menu->AddItem(5, "Senior Sergeant 200g Req. 900HKs ", 7);
                    Menu->AddItem(5, "First Sergeant 250g Req. 1,200HKs", 8);
     	            Menu->AddItem(5, "Stone Guard 300g Req. 1,500HKs", 9);
                    Menu->AddItem(5, "Blood Guard 350g Req. 1,800HKs", 10);
                    Menu->AddItem(5, "Legionnaire 400g Req. 2,100HKs", 11);
                    Menu->AddItem(5, "Centurion 500g Req. 2,500HKs", 12);
                    Menu->AddItem(5, "Champion 650g Req. 3k HKs", 13);
                    Menu->AddItem(5, "Lieutenant General 800g Req. 6k HKs", 14);
                    Menu->AddItem(5, "General 1000g Req. 10k HKs", 15);
                    Menu->AddItem(5, "Warlord 1500g Req. 15k Hks", 16);
                    Menu->AddItem(5, "High Warlord 2000g Req. 20k HKs", 17);
    
                    Menu->SendTo(Plr);
    				}
    		        break;
    
    
            case 2:     ////Alliance Titles////
    		        {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Private 50g Req. 100HKs", 18);
                    Menu->AddItem(5, "Corporal 100g Req. 300HKs", 19);
                    Menu->AddItem(5, "Sergeant 150g Req. 600HKs", 20);
                    Menu->AddItem(5, "Master Sergeant 200g Req. 900HKs", 21);
                    Menu->AddItem(5, "Sergeant Major 250g Req. 1,200HKs", 22);
                    Menu->AddItem(5, "Knight 300g Req. 1,500HKs", 23);
                    Menu->AddItem(5, "Knight-Lieutenant 350g Req. 1,800HKs", 24);
                    Menu->AddItem(5, "Knight-Captain 400g Req. 2,100HKs", 25);
                    Menu->AddItem(5, "Knight-Champion 500g Req. 2,500HKs", 26);
                    Menu->AddItem(5, "Lieutenant Commander 650g Req. 3k HKs", 27);
                    Menu->AddItem(5, "Commander 800g Req. 6k HKs", 28);
                    Menu->AddItem(5, "Marshal 1000g Req. 10k HKs", 29);
                    Menu->AddItem(5, "Field Marshal 1500g Req. 15k HKs", 30);
                    Menu->AddItem(5, "Grand Marshal 2000g Req. 20k HKs", 31);
    
                    Menu->SendTo(Plr);
    				}
                    break;
    
    		case 4: ////Horde////Scout////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>100){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>500000){
    						int32 newgold = currentgold - 500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(15);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Scout of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 5: ////Horde////Grunt////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>300){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>1000000){
    						int32 newgold = currentgold - 1000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(16);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Grunt of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 6: ////Horde////Sergeant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>600){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>1500000){
    						int32 newgold = currentgold - 1500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(17);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Sergeant of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 7: ////Horde////Senior Sergeant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>900){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>2000000){
    						int32 newgold = currentgold - 2000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(18);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Senior Sergeant of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 8: ////Horde////First Sergeant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1200){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>2500000){
    						int32 newgold = currentgold - 2500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(19);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, First Sergeant of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 9: ////Horde////Stone Guard////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1500){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>3000000){
    						int32 newgold = currentgold - 3000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(20);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Stone Guard of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 10: ////Horde////Blood Guard////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1800){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>3500000){
    						int32 newgold = currentgold - 3500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(21);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Blood Guard of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 11: ////Horde////Legionaire////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>2100){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>4000000){
    						int32 newgold = currentgold - 4000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(22);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Legionaire of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 12: ////Horde////Centurion////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>2500){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>5000000){
    						int32 newgold = currentgold - 5000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(23);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Centurion of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 13: ////Horde////Champion////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>3000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>6500000){
    						int32 newgold = currentgold - 6500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(24);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Champion of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 14: ////Horde////Lieutenant General////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>6000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>8000000){
    						int32 newgold = currentgold - 8000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(25);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Lieutenant General of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 15: ////Horde////General////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>10000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>10000000){
    						int32 newgold = currentgold - 10000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(26);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, General of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 16: ////Horde////Warlord////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>15000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>15000000){
    						int32 newgold = currentgold - 15000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(27);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, Warlord of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 17: ////Horde////High Warlord////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>20000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>20000000){
    						int32 newgold = currentgold - 20000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(28);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Horde, I hereby pronounce you as, High Warlord of the Horde Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 18: ////Alliance////Private////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>100){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>500000){
    						int32 newgold = currentgold - 500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(1);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Private of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 19: ////Alliance////Corporal////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>300){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>1000000){
    						int32 newgold = currentgold - 1000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(2);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Corporal of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 20: ////Alliance////Sergeant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>600){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>1500000){
    						int32 newgold = currentgold - 1500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(3);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Sergeant of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 21: ////Alliance////Master Sergeant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>900){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>2000000){
    						int32 newgold = currentgold - 2000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(4);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Master Sergeant of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 22: ////Alliance////Sergeant Major////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1200){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>2500000){
    						int32 newgold = currentgold - 2500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(5);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Sergeant Major of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 23: ////Alliance////Knight////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1500){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>3000000){
    						int32 newgold = currentgold - 3000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(6);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Knight of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 24: ////Alliance////Knight-Lieutenant////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>1800){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>3500000){
    						int32 newgold = currentgold - 3500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(7);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Knight-Lieutenant of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 25: ////Alliance////Knight-Captain////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>2100){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>4000000){
    						int32 newgold = currentgold - 4000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(8);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Knight-Captain of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 26: ////Alliance////Knight-Champion////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>2500){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>5000000){
    						int32 newgold = currentgold - 5000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(9);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Knight-Champion of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 27: ////Alliance////Lieutenant Commander////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>3000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>6500000){
    						int32 newgold = currentgold - 6500000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(10);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Lieutenant Commander of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 28: ////Alliance////Commander////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>6000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>8000000){
    						int32 newgold = currentgold - 8000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(11);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Commander of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 29: ////Alliance////Marshal////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>10000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>10000000){
    						int32 newgold = currentgold - 10000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(12);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Marshal of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 30: ////Alliance////Field Marshal////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>15000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>15000000){
    						int32 newgold = currentgold - 15000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(13);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Field Marshal of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		case 31: ////Alliance////Grand Marshal////
    			{
    			uint32 m_killsLifeTime = Plr->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS);
    			if (m_killsLifeTime>20000){
    					uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    					if(currentgold>20000000){
    						int32 newgold = currentgold - 20000000;
    						Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
    						Plr->SetPVPRank(14);
    						pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL,"For your services to the Alliance, I hereby pronounce you as, Grand Marshal of the Alliance Forces.");
    						Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
    					}else{
    						Plr->BroadcastMessage("You do not have enough gold for that title.");
    						Plr->Gossip_Complete();
    					}break;
    			}else{
    				Plr->BroadcastMessage("You do not meet the Honorable Kill requirements for that title.");
    				Plr->Gossip_Complete();
    			}break;
    			}
    
    		}
    }
    						
    
    void PvPTitlesNPC::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupPvPTitlesNPC(ScriptMgr * mgr)
    {
    	GossipScript * gs = (GossipScript*) new PvPTitlesNPC();
        mgr->register_gossip_script(55562, gs);
    }
    "Setup.cpp"
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    #define SKIP_ALLOCATOR_SHARING 1
    #include <ScriptSetup.h>
    
    extern "C" SCRIPT_DECL uint32 _exp_get_script_type()
    {
    	return SCRIPT_TYPE_MISC;
    }
    
    extern "C" SCRIPT_DECL void _exp_script_register(ScriptMgr* mgr)
    {
        SetupPvPTitlesNPC(mgr);
    }
    
    #ifdef WIN32
    
    BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved )
    {
        return TRUE;
    }
    
    #endif
    "Setup.h"
    Code:
    #ifndef GOSSIP_SCRIPTS_SETUP_H
    #define GOSSIP_SCRIPTS_SETUP_H
    
    void SetupPvPTitlesNPC(ScriptMgr * mgr);
    
    #endif
    Just copy and paste in Notepad and Save with name of each file.
    Compile with Visual C++ Express or your chosen compiler.
    Now create a NPC in your DB with the ID of "55562" or change if you like.

    Do not ask me how to compile these. Look for a tut or just don't worry about it.

    Full Credits to me and me alone!


    Please give thanks! Rep I don't care about but is welcome, I just want to know that people do appreciate my work.

    For Screen Shots of this NPC refer to my Blood Thirst Ultimate PvP Repaxck Release Post
    Last edited by Devilsadvocate; 09-24-2008 at 05:54 PM. Reason: Added Install Notes
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

    These ads disappear when you log in.

  2. #2
    rubee's Avatar Private
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    cant u make this for mangos 2? but looks really nice

  3. #3
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    If you want it written for Mangos thats all on you. I have no use for mangos nor will I deal with it or write anything for it.
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  4. #4
    _DEFiANT's Avatar Knight-Lieutenant
    Reputation
    44
    Join Date
    Aug 2008
    Posts
    240
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)

    Uhm, I believe Scripted released this couple weeks back.
    But his might be for AspireCore, not ArcEmu. (Considering AtomicWoW is Aspire)
    If so, then I like this

    http://www.mmowned.com/forums/emulat...itlenpc-c.html

    >_>

    Need help? add me on MSN - [email protected]
    Have questions? email me - [email protected]

  5. #5
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Originally Posted by Warlockian View Post

    Uhm, I believe Scripted released this couple weeks back.
    But his might be for AspireCore, not ArcEmu. (Considering AtomicWoW is Aspire)
    If so, then I like this

    http://www.mmowned.com/forums/emulat...itlenpc-c.html

    >_>
    Oh trust me I was working on this Source long b4 Scripted released his. If you remember back I announced that I was releasing this NPC addon with my rev2 release a week b4 scripted released. I suspect Scripted leeched my concept (Not Source) from my post and decided it was a good Idea to make. I'm not sayin thats true but looks kinda suspicious to me >,>

    And mine has more features and is a bit more advanced and written completely differently and his was written for aspire and mine arcemu.
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  6. #6
    _DEFiANT's Avatar Knight-Lieutenant
    Reputation
    44
    Join Date
    Aug 2008
    Posts
    240
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    I see. Well, still. His is in fact for Aspire. So +Rep for you sir

    Need help? add me on MSN - [email protected]
    Have questions? email me - [email protected]

  7. #7
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Ok come on now leecherz. the least you guys could do is say thanks instead of just leeching....damn....
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  8. #8
    stoneharry's Avatar Moderator Harry

    CoreCoins User Authenticator enabled
    Reputation
    1518
    Join Date
    Sep 2007
    Posts
    4,374
    Thanks G/R
    99/95
    Trade Feedback
    0 (0%)
    Some leachers are terrible, don't leave a single comment or rep, and then they use it...
    But most of them are good...
    So when you go around blaming all the Leechers, think for a minute, that you were once a leecher -.-
    No rep from me.

  9. #9
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Originally Posted by stoneharry View Post
    Some leachers are terrible, don't leave a single comment or rep, and then they use it...
    But most of them are good...
    So when you go around blaming all the Leechers, think for a minute, that you were once a leecher -.-
    No rep from me.
    Ok first if you read I don't give a shit about rep. don't really see the importance of it anyway. All I care about is knowing what I work hard on is appericated. I only want to help keep emus alive and i'm dedicated to improving the quality of servers so that 1 day the world of emus can evolve into something Blizzard wasn't smart enough to implement.

    Second, Yes I might have been a leech at 1 time but what makes the difference is that instead of doing nothing but leeching from communities I asserted myself and contributed more than once. I don't lurk boards for other peoples shit. If I use something from somebody I give thanks and rep when I can.

    And Last, even if I don't use shit from people I do atleast say thanks for contributing and give a pat on the back.

    So why don't you take a leave from that and stfu if you ain't got anything useful or intelligent to say.
    Last edited by Devilsadvocate; 09-25-2008 at 01:17 PM.
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  10. #10
    Performer's Avatar Contributor
    Reputation
    212
    Join Date
    Nov 2007
    Posts
    874
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Gj m8. +rep if i can. And yeah he worked on this long before scripted.


  11. #11
    stoneharry's Avatar Moderator Harry

    CoreCoins User Authenticator enabled
    Reputation
    1518
    Join Date
    Sep 2007
    Posts
    4,374
    Thanks G/R
    99/95
    Trade Feedback
    0 (0%)
    Originally Posted by Devilsadvocate View Post
    Ok first if you read I don't give a shit about rep. don't really see the importance of it anyway. All I care about is knowing what I work hard on is appericated. I only want to help keep emus alive and i'm dedicated to improving the quality of servers so that 1 day the world of emus can evolve into something Blizzard wasn't smart enough to implement.

    Second, Yes I might have been a leech at 1 time but what makes the difference is that instead of doing nothing but leeching from communities I asserted myself and contributed more than once. I don't lurk boards for other peoples shit. If I use something from somebody I give thanks and rep when I can.

    And Last, even if I don't use shit from people I do atleast say thanks for contributing and give a pat on the back.

    So why don't you take a leave from that and stfu if you ain't got anything useful or intelligent to say.
    That just shows exactly the sort of person you are...
    Notice I didn't insult you once,
    Notice that I simple criticse the fact that you seem to have something againts leechers,
    I didn't get my ass out of leecher for months after signing up, simple because I couldn't decide which forum to spend my time on.

    Seriously, sort out your attitude.

  12. #12
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    w/e dude.....just shut up and use if your gonna or don't say anything at all.
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  13. #13
    stoneharry's Avatar Moderator Harry

    CoreCoins User Authenticator enabled
    Reputation
    1518
    Join Date
    Sep 2007
    Posts
    4,374
    Thanks G/R
    99/95
    Trade Feedback
    0 (0%)
    I am now amused by the fact that you have no come back to what I said, because it is true. This is the last comment I am leaving on this thread as I have said what I need to say, although comments, is not just good things. If somone wants to critise they may, although most people will not like it. It's when people lie about each other's work, which is unacceptable.

  14. #14
    Devilsadvocate's Avatar Knight-Lieutenant
    Reputation
    70
    Join Date
    May 2008
    Posts
    254
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    dude.....what are you 12?!?!?! do yourself a favor and just shut up....i really don't give a shit about your comments, views, or mental health issues (Obviously). Rather than tryin to critise folks who are contributing, why not just say thank you and be done with it. You've obviously contributed b4 seeing as your rep count is high. How many people ****ed with you when you were releasing something useful? And if they did I bet it pissed you off too.

    Really just say thanks or post a prob with it or nothing at all.....
    I'm not going to be releasing anything for a while. I'm back on retail for new content.

  15. #15
    volitle's Avatar Contributor
    Reputation
    181
    Join Date
    Nov 2007
    Posts
    1,127
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Originally Posted by stoneharry View Post
    I am now amused by the fact that you have no come back to what I said, because it is true. This is the last comment I am leaving on this thread as I have said what I need to say, although comments, is not just good things. If somone wants to critise they may, although most people will not like it. It's when people lie about each other's work, which is unacceptable.
    please shut up at least he is contributing to the community, how the hell can you flame someone for this....he did announce this before scripted posted his so he aint lying so please gtfo if you dont have nothing positive to say and +rep for you my firend nice script


Page 1 of 2 12 LastLast

Similar Threads

  1. [Epic Release] Ultimate Quest Maker [Arcemu/Latest Rev]
    By marco1234 in forum WoW EMU Programs
    Replies: 53
    Last Post: 08-22-2009, 09:21 AM
  2. Replies: 50
    Last Post: 08-01-2009, 06:44 PM
  3. [Epic Release] ArcEmu WotLK Core
    By Moaradin in forum WoW EMU General Releases
    Replies: 168
    Last Post: 12-07-2008, 05:06 AM
All times are GMT -5. The time now is 01:55 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved. Digital Point modules: Sphinx-based search