[Release] Skill Npc 3.0 menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 22
  1. #1
    Sylex's Avatar Active Member
    Reputation
    101
    Join Date
    May 2007
    Posts
    141
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Release] Skill Npc 3.0

    Awesome. Version 3 is out! Enjoy!

    What's new in Ver. 3.0?

    • Reset Talents Button
    • All class spells
    • New layout
    • Major cpu fixes
    • Spells that cannot be trained by regular trainers
    • Mount spells
    • Pet spells



    SkillNPC.cpp
    Code:
    // Major Updates, Fixes, and Core by Nebels
    // Some help by insanesk8123 <3
    // Version 3.0
    
    #include "StdAfx.h"
    #include "Setup.h"
    
    class SCRIPT_DECL SkillNPC : 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 SkillNPC::GossipEnd(Object * pObject, Player* Plr){ GossipScript::GossipEnd(pObject, Plr); }
    void SkillNPC::GossipHello(Object *pObject, Player *Plr, bool AutoSend){
    	GossipMenu *Menu;
        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				if (Plr->getClass() == 1) 
     { 
    Menu->AddItem(0, "What spells can warriors learn?", 1);
     } 
    				if (Plr->getClass() == 2)
     { 
    Menu->AddItem(0, "What spells can paladins learn?", 2);
     }
    				if (Plr->getClass() == 3)
     { 
    Menu->AddItem(0, "What spells can hunters learn?", 3);
     }
    				if (Plr->getClass() == 9)
     { 
    Menu->AddItem(0, "What spells can warlocks learn?", 4);
     }
    				if (Plr->getClass() == 11)
     { 
    Menu->AddItem(0, "What spells can druids learn?", 5);
     }
    				if (Plr->getClass() == 4) 
     { 
    Menu->AddItem(0, "What spells can rogues learn?", 6);
     } 
    				if (Plr->getClass() == 5) 
     { 
    Menu->AddItem(0, "What spells can priests learn?", 7);
     } 
    				if (Plr->getClass() == 7) 
     { 
    Menu->AddItem(0, "What spells can shamans learn?", 8);
     } 
    				if (Plr->getClass() == 8) 
     { 
    Menu->AddItem(0, "What spells can mages learn?", 9);
     } 
    
    
    Menu->AddItem(5, "Reset Talent Points", 98);
    
        Menu->SendTo(Plr);
    }
    
    
    void SkillNPC::GossipSelectOption(Object *pObject, Player *Plr, uint32 Id, uint32 IntId, const char *Code){
    	Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT) ? ((Creature*)pObject) : NULL;
    	GossipMenu * Menu;
    	switch(IntId){
    	case 0:     // Return to start
    				GossipHello(pObject, Plr, true);
                break;
    
    case 1:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(5, "Taunt", 10);
    Menu->AddItem(5, "Intercept", 13);
    Menu->AddItem(5, "Mortal Strike", 14);
    Menu->AddItem(5, "Defensive Stance", 11);
    Menu->AddItem(5, "Beserker Stance", 12);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 2:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(5, "Redemption", 22);
    Menu->AddItem(5, "Summon Warhorse", 20);
    Menu->AddItem(5, "Summon Charger", 21);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 3:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(5, "Pet spells", 30);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 4:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(5, "Pet Spells", 40);
    Menu->AddItem(5, "Summon Felstead", 41);
    Menu->AddItem(5, "Summon Dreadstead", 42);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 5:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(5, "Growl", 50);
    Menu->AddItem(5, "Maul", 55);
    Menu->AddItem(5, "Bear Form", 54);
    Menu->AddItem(5, "Dire Bear Form", 51);
    Menu->AddItem(5, "Aquatic Form", 56);
    Menu->AddItem(5, "Normal Flight Form", 52);
    Menu->AddItem(5, "Epic Flight Form", 53); 
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 6:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 7:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 8:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
    case 9:
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
    Menu->AddItem(0, "[Back]", 99);
    Menu->SendTo(Plr);
    break;
    
            case 10:     // Warrior-Taunt
    			if(Plr->getLevel() >= 10)
    			{
    				Plr->addSpell(355);
    				Plr->BroadcastMessage("You have learned Taunt.");
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Taunt.");
    				}
    			break;
    
    	case 11:     // Warrior-Defensive Stance
    			if(Plr->getLevel() >= 10)
    			{
    				Plr->addSpell(71);
    				Plr->BroadcastMessage("You have learned Defensive Stance.");
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Defensive Stance.");
    				}
    			break;
    
    	case 12:     // Warrior-Beserker Stance
    			if(Plr->getLevel() >= 30)
    			{
    				Plr->addSpell(2458);
    				Plr->BroadcastMessage("You have learned Berseker Stance.");
    			}else{
    				Plr->BroadcastMessage("You must be level 30 to learn Berseker Stance.");
    				}
    			break;
    
    	case 13:     // Warrior-Intercept
    			if(Plr->getLevel() >= 10)
    			{
    				Plr->addSpell(25275);
    				Plr->BroadcastMessage("You have learned Intercept.");
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Intercept.");
    				}
    			break;
    
    	case 14:     // Warrior-Mortal Strike
    			if(Plr->getLevel() >= 40)
    			{
    				Plr->addSpell(30330);
    				Plr->BroadcastMessage("You have learned Mortal Strike.");
    			}else{
    				Plr->BroadcastMessage("You must be level 40 to learn Mortal Strike.");
    				}
    			break;
    
            case 20:     // Paladin-Warhorse
    			if(Plr->getLevel() >= 40)
    			{
                    		Plr->addSpell(13819);
                			Plr->BroadcastMessage("You have learned Summon Warhorse.");
    			}else{ 
    				Plr->BroadcastMessage("You must be level 40 to learn Summon Warhorse."); 
    				}
    			break;
    
    	case 21:     // Paladin-Charger
    			if(Plr->getLevel() >= 60)
    			{
                    		Plr->addSpell(34767);
                			Plr->BroadcastMessage("You have learned Summon Charger.");
    			}else{ 
    				Plr->BroadcastMessage("You must be level 60 to learn Summon Charger."); 
    				}			
    			break;
    
    	case 22:     // Paladin-Redemption
    			if(Plr->getLevel() >= 10)
    			{
                    		Plr->addSpell(20773);
                			Plr->BroadcastMessage("You have learned Redemption.");
    			}else{ 
    				Plr->BroadcastMessage("You must be level 10 to learn Redemption."); 
    				}			
    			break;
            
            case 30:     // Hunter-Pet Spells
    	        	if(Plr->getLevel() >= 10)
    	        	{
    				Plr->addSpell(1515);
    				Plr->addSpell(883);
    				Plr->addSpell(5149);
    				Plr->addSpell(982);
    				Plr->addSpell(6991);
    				Plr->BroadcastMessage("You have learned your Hunter Pet Spells.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You are below level 10.");
    				Plr->Gossip_Complete();
    				}
                		break;
    
    	case 40:     // Warlock-Pet Spells
    	        	if(Plr->getLevel() >= 10)
    	        	{
    				Plr->addSpell(688);
    				Plr->addSpell(697);
    				Plr->addSpell(712);
    				Plr->addSpell(691);
    				Plr->BroadcastMessage("You have learned your Warlock Pet Spells.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You are below level 10.");
    				Plr->Gossip_Complete();
    			}
    			break;
    
    	case 41:     // Warlock-Felsteed
    	        	if(Plr->getLevel() >= 40)
    	        	{
    				Plr->addSpell(5784);
    				Plr->BroadcastMessage("You have learned Summon Felsteed.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 40 to learn Summon Felsteed.");
    				Plr->Gossip_Complete();
    			}
    			break;
    
    	case 42:     // Warlock-Dreadsteed
    	        	if(Plr->getLevel() >= 60)
    	        	{
    				Plr->addSpell(23161);
    				Plr->BroadcastMessage("You have learned Summon Dreadsteed.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 60 to learn Summon Dreadsteed.");
    				Plr->Gossip_Complete();
    			}
                		break;
    
    	case 50:     // Druid-Growl
    	        	if(Plr->getLevel() >= 10)
    	        	{
    				Plr->addSpell(6795);
    				Plr->BroadcastMessage("You have learned Growl.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Growl.");
    				Plr->Gossip_Complete();
    			}
                		break;
    
    	case 51:     // Druid-Dire Bear Form
    	        	if(Plr->getLevel() >= 30)
    	        	{
    				Plr->addSpell(9634);
    				Plr->BroadcastMessage("You have learned Dire Bear Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 30 to learn Dire Bear Form.");
    				Plr->Gossip_Complete();
    			}
                		break;
    
    	case 52:     // Druid-Normal Flight Form
    	        	if(Plr->getLevel() >= 68)
    	        	{
    				Plr->addSpell(33943);
    				Plr->BroadcastMessage("You have learned Summon Normal Flight Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 68 to learn Normal Flight Form.");
    				Plr->Gossip_Complete();
    			}
                		break;
    
    	case 53:     // Druid-Epic Flight Form
    	        	if(Plr->getLevel() >= 70)
    	        	{
    				Plr->addSpell(40120);
    				Plr->BroadcastMessage("You have learned Summon Epic Flight Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 60 to learn Epic Flight Form.");
    				Plr->Gossip_Complete();
    			}
    	case 54:     // Druid-
    	        	if(Plr->getLevel() >= 10)
    	        	{
    				Plr->addSpell(6795);
    				Plr->BroadcastMessage("You have learned Bear Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Bear Form.");
    				Plr->Gossip_Complete();
    			}
                		break;
    	case 55:     // Druid-Maul
    	        	if(Plr->getLevel() >= 67)
    	        	{
    				Plr->addSpell(6795);
    				Plr->BroadcastMessage("You have learned Maul.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 67 to learn Maul.");
    				Plr->Gossip_Complete();
    			}
                		break;
    	case 56:     // Druid-Aquatic Form
    	        	if(Plr->getLevel() >= 20)
    	        	{
    				Plr->addSpell(6795);
    				Plr->BroadcastMessage("You have learned Aquatic Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 20 to learn Aquatic Form.");
    				Plr->Gossip_Complete();
    			}
                		break;
    	case 98:     // Reset Talents
    			{
                                    Plr->Reset_Talents();
    				Plr->BroadcastMessage("You have reset your talent points.");
    				Plr->Gossip_Complete();
    			}
                		break;
    	case 99:    //Main Menu
    			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				if (Plr->getClass() == 1) 
     { 
    Menu->AddItem(0, "What spells can warriors learn?", 1);
     } 
    				if (Plr->getClass() == 2)
     { 
    Menu->AddItem(0, "What spells can paladins learn?", 2);
     }
    				if (Plr->getClass() == 3)
     { 
    Menu->AddItem(0, "What spells can hunters learn?", 3);
     }
    				if (Plr->getClass() == 9)
     { 
    Menu->AddItem(0, "What spells can warlocks learn?", 4);
     }
    				if (Plr->getClass() == 11)
     { 
    Menu->AddItem(0, "What spells can druids learn?", 5);
     }
    				if (Plr->getClass() == 4) 
     { 
    Menu->AddItem(0, "What spells can rogues learn?", 6);
     } 
    				if (Plr->getClass() == 5) 
     { 
    Menu->AddItem(0, "What spells can priests learn?", 7);
     } 
    				if (Plr->getClass() == 7) 
     { 
    Menu->AddItem(0, "What spells can shamans learn?", 8);
     } 
    				if (Plr->getClass() == 8) 
     { 
    Menu->AddItem(0, "What spells can mages learn?", 9);
     } 
    Menu->AddItem(5, "Reset Talent Points", 98);
    Menu->SendTo(Plr);
    break;
    
    			
    		}
    	}
    
    void SetupSkillNPC(ScriptMgr * mgr)
    {
    	mgr->register_gossip_script(30010, (GossipScript*) new SkillNPC());
    }
    Setup.cpp
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    extern "C" SCRIPT_DECL uint32 _exp_get_version()
    {
        return MAKE_SCRIPT_VERSION(SCRIPTLIB_VERSION_MAJOR, SCRIPTLIB_VERSION_MINOR);
    }
    
    extern "C" SCRIPT_DECL void _exp_script_register(ScriptMgr* mgr)
    {
        SetupSkillNPC(mgr);
    }
    
    #ifdef WIN32 
    
    extern "C" SCRIPT_DECL uint32 _exp_get_script_type()
    {
    return SCRIPT_TYPE_MISC;
    }
    
    #endif
    Setup.h
    Code:
    #ifndef INSTANCE_SCRIPTS_SETUP_H
    #define INSTANCE_SCRIPTS_SETUP_H
    
    void SetupSkillNPC(ScriptMgr * mgr);
    
    #endif
    Sql Code
    Code:
    INSERT INTO `creature_names` VALUES ('30010', 'Mrs. Whatsitstoya', 'Skill NPC', ' ', '0', '7', '0', '0', '0', null, '0', '10432', '0', '0', '1', '1', '0', null);
    INSERT INTO `creature_proto` VALUES ('30010', '1', '1', '35', '2300', '2300', '0', '1', '1', '1400', '0', '3', '3.87', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '20', '0', '0', '0', '0', '0', '0', '2', '0.3', '0', '0', '0', '0', '0', '2.5', '8', '14', '0');
    This is tested and seems to be working. Hope you guys enjoy this one as much as the Twink Npc! :wink0: If you have any suggestions, please post them. I will try to add them ASAP.


    Downloads:

    4.0 Stable

    [Release] Skill Npc 3.0
  2. #2
    Juicyz's Avatar Active Member
    Reputation
    34
    Join Date
    Dec 2006
    Posts
    298
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice, This will be usefull to a lot of people that dont have skill npcs Good Job

    DA Gift From Mr. Blain

  3. #3
    BrantX's Avatar Contributor
    Reputation
    205
    Join Date
    Jul 2007
    Posts
    899
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Good Skill NPC +rep



  4. #4
    Sylex's Avatar Active Member
    Reputation
    101
    Join Date
    May 2007
    Posts
    141
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks. :>

  5. #5
    Acespades's Avatar Site Donator
    Reputation
    258
    Join Date
    Jun 2007
    Posts
    1,160
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nebels you are a very sexy man! Thanks +repzilla

    Current Record Holder: Most times banned on MMOwned

  6. #6
    Sylex's Avatar Active Member
    Reputation
    101
    Join Date
    May 2007
    Posts
    141
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Any more feedback, suggestions? I am up for anything.

  7. #7
    Snailz's Avatar Contributor Authenticator enabled
    Reputation
    239
    Join Date
    Nov 2007
    Posts
    941
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    WTB a compile =P
    +rep btw
    Cheese Cake?

  8. #8
    Sylex's Avatar Active Member
    Reputation
    101
    Join Date
    May 2007
    Posts
    141
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Compile at what revision?

  9. #9
    jordash's Avatar Member
    Reputation
    22
    Join Date
    Nov 2007
    Posts
    158
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Your welcome for the reset talents idea.


  10. #10
    T O X I C's Avatar Member
    Reputation
    3
    Join Date
    Feb 2008
    Posts
    38
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hey all . nice work m8!
    im noob ,and stupid with asccent things.
    can som1 plz explain me how do i install to my database im sry for stupid post and wasting people time ! thx for help

  11. #11
    chronic7's Avatar Member
    Reputation
    7
    Join Date
    Oct 2007
    Posts
    132
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well I compiled my own ascent but now I have no idea how to compile anything else into my emulator.

    If you could tell me how I compile this into the emulator that would really help me.

  12. #12
    Snailz's Avatar Contributor Authenticator enabled
    Reputation
    239
    Join Date
    Nov 2007
    Posts
    941
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Latest rev 2.3.3 latest
    Cheese Cake?

  13. #13
    Remus's Avatar Banned

    Reputation
    402
    Join Date
    Nov 2007
    Posts
    1,697
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    bump (filler)

  14. #14
    MisterEMU's Avatar Banned
    Reputation
    38
    Join Date
    Feb 2008
    Posts
    307
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    What do I do with the cpp code? Can someone help me install this? +rep

  15. #15
    Iceknight001's Avatar Active Member
    Reputation
    21
    Join Date
    Jan 2007
    Posts
    67
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Aweseome job man!


Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 40
    Last Post: 11-04-2008, 04:03 PM
  2. [Release]Skill NPC & PayNPC!
    By AzolexX in forum WoW EMU General Releases
    Replies: 16
    Last Post: 11-02-2008, 05:38 AM
  3. [Release] Skill Npc 2.0
    By Sylex in forum World of Warcraft Emulator Servers
    Replies: 30
    Last Post: 06-02-2008, 05:02 PM
  4. [Release] Skill Npc - Revived
    By Sylex in forum World of Warcraft Emulator Servers
    Replies: 38
    Last Post: 02-29-2008, 02:31 PM
  5. [Release] Chirspee's Teleporting NPC, Buff NPC's, Skill NPC and Heal NPC
    By Illidan1 in forum World of Warcraft Emulator Servers
    Replies: 13
    Last Post: 11-22-2007, 04:05 PM
All times are GMT -5. The time now is 08:00 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search