Skill Npc 3.5 menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 22
  1. #1
    Nebels's Avatar Member
    Reputation
    7
    Join Date
    Jul 2008
    Posts
    29
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Skill Npc 3.5

    I am the original creator of this script. Hope you enjoy the script. Please post any suggestions/bugs/comments in this post. ^.^.


    What's new in Ver. 3.5?
    • Mage - Ice Block
    • Reset Talents Button
    • All class spells
    • New layout
    • Major CPU fixes
    • Mount spells
    • Pet Spells


    SkillNPC.cpp
    Code:
    /*
     * Nebels of Mmowned
     * Copyright (C) 2008 <http://www.wowreborn.org/>
     */
    
    #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(0, "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(5, "Ice Block", 57); 
    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 57:     // Mage-Ice Block
    	        	if(Plr->getLevel() >= 30)
    	        	{
    				Plr->addSpell(45438);
    				Plr->BroadcastMessage("You have learned Ice Block.");
    				Plr->Gossip_Complete();
    			}else{
    				Plr->BroadcastMessage("You must be level 30 to learn Ice Block.");
    				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(0, "Reset Talent Points", 98);
    Menu->SendTo(Plr);
    break;
    
    			
    		}
    	}
    
    void SetupSkillNPC(ScriptMgr * mgr)
    {
    	mgr->register_gossip_script(ADDNPCIDHERE, (GossipScript*) new SkillNPC());
    }

    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;
        //return MAKE_SCRIPT_VERSION(SCRIPTLIB_VERSION_MAJOR, SCRIPTLIB_VERSION_MINOR);
    }
    
    extern "C" SCRIPT_DECL void _exp_script_register(ScriptMgr* mgr)
    {
        SetupSkillNPC(mgr);
    }
    
    #ifdef WIN32 
    
    BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved )
    {
        return TRUE;
    }
    
    
    #endif
    Setup.h
    Code:
    #ifndef INSTANCE_SCRIPTS_SETUP_H
    #define INSTANCE_SCRIPTS_SETUP_H
    
    void SetupSkillNPC(ScriptMgr * mgr);
    
    #endif

    Contact me for any custom compiles.
    Last edited by Nebels; 08-26-2008 at 04:08 PM.

    Skill Npc 3.5
  2. #2
    Azax's Avatar Member
    Reputation
    1
    Join Date
    May 2007
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That's really nice mate! Just what I needed, hehe.

    +rep

  3. #3
    www5th's Avatar Member
    Reputation
    2
    Join Date
    Jan 2008
    Posts
    16
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thx for u share! +rep

  4. #4
    **Sweeny**'s Avatar Member
    Reputation
    33
    Join Date
    Dec 2007
    Posts
    282
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That's really nice mate! Just what I needed, hehe.

    +rep
    thx for u share! +rep
    To both of you. How will you do that with 0 rep power?
    Anyway, ill rep you.
    *edit* will rep you tommorow, given out to much rep over 24 hours...

  5. #5
    Nebels's Avatar Member
    Reputation
    7
    Join Date
    Jul 2008
    Posts
    29
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Updated with a few more options including adding your own npc to it.

    Updated some more. Please post any suggestions if you have any.
    Last edited by 2dgreengiant; 07-25-2008 at 09:13 AM. Reason: double post, merged

  6. #6
    Algorithm's Avatar Member
    Reputation
    175
    Join Date
    Mar 2008
    Posts
    395
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Nebels View Post
    Updated some more. Please post any suggestions if you have any.
    add iceblock for mages

    totems for shamans

  7. #7
    WoW Havok's Avatar Member
    Reputation
    1
    Join Date
    Jul 2008
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    good job with this

  8. #8
    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 +Rep x2



  9. #9
    eric888's Avatar Member
    Reputation
    9
    Join Date
    Dec 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How do you install this?
    Just copy to the the folder with all the other dll´s in it?

  10. #10
    eric888's Avatar Member
    Reputation
    9
    Join Date
    Dec 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Im getting this in arcemu-world.exe:

    SkillNpc.dll : 0x10EB0000 : version mismatch!

    All the other dll´s loads fine.

  11. #11
    Nebels's Avatar Member
    Reputation
    7
    Join Date
    Jul 2008
    Posts
    29
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Are you using arcemu rev 370? If you need custom compiles contact me.

    add iceblock for mages

    totems for shamans
    Will do.

  12. #12
    Ickybad's Avatar Contributor
    Reputation
    214
    Join Date
    Apr 2008
    Posts
    904
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Very nice +rep.

  13. #13
    eric888's Avatar Member
    Reputation
    9
    Join Date
    Dec 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Nebels View Post
    Are you using arcemu rev 370? If you need custom compiles contact me.



    Will do.

    To be honest, i have no clue which rev im using... How do i check it?
    http://www.mmowned.com/forums/emulat...ted-world.html
    That´s the server im running, or atleast trying to run.

  14. #14
    Nebels's Avatar Member
    Reputation
    7
    Join Date
    Jul 2008
    Posts
    29
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You should be able to check it by opening your arcemu-world.exe and at the top it shows it.

  15. #15
    eric888's Avatar Member
    Reputation
    9
    Join Date
    Dec 2007
    Posts
    78
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ohh, im using rev 440

    That´s why it aint working?
    You plan on updating ?

Page 1 of 2 12 LastLast

Similar Threads

  1. [Release] Skill Npc 2.0
    By Sylex in forum World of Warcraft Emulator Servers
    Replies: 30
    Last Post: 06-02-2008, 05:02 PM
  2. LF skill npc (2.4)
    By dongel in forum World of Warcraft Emulator Servers
    Replies: 0
    Last Post: 04-19-2008, 02:02 AM
  3. [Release] Skill Npc 3.0
    By Sylex in forum World of Warcraft Emulator Servers
    Replies: 21
    Last Post: 04-10-2008, 09:51 AM
  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 01:27 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