[Release] Skill Npc - Revived menu

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 15 of 39
  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 - Revived

    Here is the skill npc modified by me. I'm pretty sure this isn't under a legal document, so here I go. If you have any suggestions, please tell me and I'll try my best to add them. If you want me to remove this because of some legal issues, please pm me about it instead of posting thanks!

    What's new in Ver. 2.0?

    • All class spells
    • New layout
    • Major cpu fixes


    What's already there?

    • 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
    
    
    #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->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, "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, "Normal Flight Form", 51);
    Menu->AddItem(5, "Epic Flight Form", 52);
    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 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->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 51:     // Druid-Growl
    	        	if(Plr->getLevel() >= 10)
    	        	{
    				Plr->addSpell(6795);
    				Plr->BroadcastMessage("You have learned Summon Growl.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 10 to learn Growl.");
    				Plr->Gossip_Complete();
    			}
                		break;
    
    	case 52:     // Druid-Normal Flight Form
    	        	if(Plr->getLevel() >= 60)
    	        	{
    				Plr->addSpell(33943);
    				Plr->BroadcastMessage("You have learned Summon Normal Flight Form.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 60 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();
    			}
                		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->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!


    Downloads:

    3.8 Stable w/ Stancefix Ver 2.0
    Last edited by Sylex; 02-24-2008 at 02:08 AM.

    [Release] Skill Npc - Revived
  2. #2
    sirkhan's Avatar Member
    Reputation
    7
    Join Date
    Sep 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Great work mate! Could you compile this for 3.8 stable please?

  3. #3
    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)
    Sure!, I'll update it as soon as I can.

  4. #4
    doublehex's Avatar Member
    Reputation
    34
    Join Date
    Mar 2007
    Posts
    385
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    lol pretty nice

  5. #5
    sirkhan's Avatar Member
    Reputation
    7
    Join Date
    Sep 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks mate!

  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)
    Updated with download links.

  7. #7
    sirkhan's Avatar Member
    Reputation
    7
    Join Date
    Sep 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    +rep mate thanks a bunch!

  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)
    No problem, Glad I made atleast someone happy!

  9. #9
    doublehex's Avatar Member
    Reputation
    34
    Join Date
    Mar 2007
    Posts
    385
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    just a suggestion, you could add other mounts that people can use, like the Amani War Bear or other mounts that arent already made.

  10. #10
    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)
    Well, I am not sure if I can teach someone to use Amani War Bear, you can do that with a simple vendor/creature sql script.

  11. #11
    doublehex's Avatar Member
    Reputation
    34
    Join Date
    Mar 2007
    Posts
    385
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i meant as in add the item

  12. #12
    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)
    Yes, I guess I can add that, I'll pm you the script soon.

  13. #13
    sirkhan's Avatar Member
    Reputation
    7
    Join Date
    Sep 2007
    Posts
    51
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hey nebels, one quick thing... everything works great, but pallies are learning warrior stances. Just a heads up, was wondering if you could fix it and re-upload. Great work thou mate!

    Also would be way cool if he taught "self-rez"
    Last edited by sirkhan; 02-22-2008 at 08:06 PM.

  14. #14
    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)
    It shouldn't be possible for a paladin to learn warrior stances becuase of this

    if (Plr->getClass() == 1)

    Wierd.

  15. #15
    2dgreengiant's Avatar ★ Elder ★


    Reputation
    1192
    Join Date
    Feb 2007
    Posts
    7,129
    Thanks G/R
    1/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    dude this is sweet +rep if i can
    If you need me you have my skype, if you don't have my skype then you don't need me.

Page 1 of 3 123 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 3.0
    By Sylex in forum World of Warcraft Emulator Servers
    Replies: 21
    Last Post: 04-10-2008, 09:51 AM
  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 03:43 PM. 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