Links's C++ WarpNPC (First script) menu

User Tag List

Results 1 to 6 of 6
  1. #1
    Link_S's Avatar Member
    Reputation
    125
    Join Date
    Dec 2008
    Posts
    293
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Links's C++ WarpNPC (First script)

    Hi, i decided to contribute so i made a warpNPC. Enjoy it:


    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)// warning C4305: 'argument' : truncation from 'double' to 'float'
    #endif
           
           
          class SCRIPT_DECL WarpNPC : 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;
                  }
          };
    
    //This function is taken from Spectre's PvP Script, which can be seen at the AspireScripts SVN
    // svn://svn.aspiredev.org/AspireDev
    //<3
    void AddItem(Player* Plr, const uint32 &ItemID, const uint32 &Amt, const bool &Stack)
    {
    	Item *ItemToAdd;
    	SlotResult Slot;
    	
    	if(Plr == NULL)
    		return;
    	if(Stack)
    	{
    		ItemToAdd = Plr->GetItemInterface()->FindItemLessMax(ItemID, Amt, false);
    		if(ItemToAdd != NULL)
    		{
    			ItemToAdd->ModUnsigned32Value(ITEM_FIELD_STACK_COUNT, Amt);
    			ItemToAdd->m_isDirty = true;
    			Plr->BroadcastMessage("%s%s x%u Awarded", MSG_COLOR_GOLD, ItemToAdd->GetProto()->Name1, Amt);
    			return;
    		}
    			
    	}
    	for(uint32 i = 1;i <= Amt;i++)
    	{
    		ItemToAdd = objmgr.CreateItem(ItemID, Plr);
    		
    		if(ItemToAdd == NULL)
    			return; // failed creation, no memory to allocate, or invalid item id
    
    		Slot = Plr->GetItemInterface()->FindFreeInventorySlot(ItemToAdd->GetProto());
    
    		if(Slot.Result)
    		{
    			Plr->GetItemInterface()->SafeAddItem(ItemID, Slot.ContainerSlot, Slot.Slot);
    			Plr->BroadcastMessage("%s%s x1 Awarded", MSG_COLOR_GOLD, ItemToAdd->GetProto()->Name1);
    		}
    		else
    			Plr->BroadcastMessage("No free inventory slots could be located, aborting");
    	}
    
    }
    
    	  void WarpNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
              {
                  GossipMenu *Menu;
                  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    
    			  if(Plr->CombatStatus.IsInCombat())
    			  {
    				  Menu->AddItem(0, "You are in combat.", 0);
    			  }
    			  else
    			  {
    				  Menu->AddItem(9, "PvP Rewards", 1);
    				  Menu->AddItem(2, "Teleportations", 4);
    				  Menu->AddItem(5, "Remove Ressurection Sickness", 5);
    			  }
                          
                          if(AutoSend)
                      Menu->SendTo(Plr);
              };
    
    	  void WarpNPC::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 1:  //PvP Rewards
    				  {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(1, "150 PvP Tokens for Ice Penetration\n(CLICK FOR MORE INFORMATION)", 10);
    					  Menu->AddItem(1, "150 PvP Tokens for Bantax Sharp Hand\n(CLICK FORE MORE INFORMATION)", 11);
    					  Menu->AddItem(1, "150 PvP Tokens for Nexus DragonStaff\n(CLICK FOR MORE INFORMATION)", 12);
    					  Menu->AddItem(1, "150 PvP Tokens for Heavy Twin Blade\n(CLICK FOR MORE INFORMATION)", 13);
    					  Menu->AddItem(1, "150 PvP Tokens for Brahs Skull Bow\n(CLICK FOR MORE INFORMATION)", 14);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 2: //PvP Rewards
    				  {
    				  }break;
    				  
    			  case 3: //Arena Rewards
    				  {
    				  }break;
    
    			  case 4: //Teleportations
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(5, "Main Cities", 30);
    					  Menu->AddItem(5, "Azeroth instances", 31);
    					  Menu->AddItem(5, "Outland instances", 32);
    					  Menu->AddItem(2, "Gurubashi", 33);
    					  Menu->AddItem(2, "Battlemasters", 34);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 5: //Remove ressurection sickness
    				  {
    					  Plr->addSpell(15007);
    					  Plr->removeSpell(15007, false, false, 0);
    					  pCreature->SendChatMessage(12, 0, "You are now cured.");
    
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 10: //PvP Reward: Ice Penetration
    				  {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(0, "Name     : ice Penetration.", 1000);
    					  Menu->AddItem(0, "Binds    : On Pickup.", 1000);
    					  Menu->AddItem(0, "Type     : Main handed, Sword.", 1000);
    					  Menu->AddItem(0, "Damage   : 298 - 402.", 1000);
    					  Menu->AddItem(0, "Speed    : 1.85.", 1000);
    					  Menu->AddItem(0, "Damage per Second : 189.2.", 1000);
    					  Menu->AddItem(0, "Increase : +85 Stamina.", 1000);
    					  Menu->AddItem(0, "Level    : 80.", 1000);
    					  Menu->AddItem(0, "Effects  : Equip: Increases your critical strike rating by 28, Chance on hit: Chills the target for 1.50 sec.", 1000);
    					  Menu->AddItem(0, "Description : It says that this sword once belonged to the forgotten Lich king before Arthas.", 1000);
    					  Menu->AddItem(1, "Buy Ice Penetration", 1001);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    					
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 11: //PvP Reward: Bantax Sharp Hand
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(0, "Name     : Bantax Sharp Hand.", 1000);
    					  Menu->AddItem(0, "Binds    : On Pickup.", 1000);
    					  Menu->AddItem(0, "Type     : One handed, Fist weapon.", 1000);
    					  Menu->AddItem(0, "Damage   : 241 - 487.", 1000);
    					  Menu->AddItem(0, "Speed    : 1.45.", 1000);
    					  Menu->AddItem(0, "Damage per Second : 251.0.", 1000);
    					  Menu->AddItem(0, "Increase : +55 Agility.", 1000);
    					  Menu->AddItem(0, "Level    : 80", 1000);
    					  Menu->AddItem(0, "Effects  : Equip: +28 Haste Rating, Equip: Increases attack power by 150.", 1000);
    					  Menu->AddItem(0, "Description : It have been proofed that this belonged to Bantax the dock murderer", 1000);
    					  Menu->AddItem(1, "Buy Bantax Sharp Hand", 1002);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 12: //PvP Reward: Nexus DragonStaff
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(0, "Name     : Nexus DragonStaff.", 1000);
    					  Menu->AddItem(0, "Binds    : On Pickup.", 1000);
    					  Menu->AddItem(0, "Type     : Two-Handed, Staff.", 1000);
    					  Menu->AddItem(0, "Damage   : 312 - 578.", 1000);
    					  Menu->AddItem(0, "Speed    : 2.15.", 1000);
    					  Menu->AddItem(0, "Damage per Second : 207.0.", 1000);
    					  Menu->AddItem(0, "Increase : +185 Intellect.", 1000);
    					  Menu->AddItem(0, "Level    : 80.", 1000);
    					  Menu->AddItem(0, "Effects  : Equip: +16 Spell Haste Rating, Equip: Increases damage and healing done by magical spells and effects by up to 336.", 1000);
    					  Menu->AddItem(0, "Description : This staff were once made by the magical dragon Nexus.", 1000);
    					  Menu->AddItem(1, "Buy Nexus DragonStaff", 1003);
    					  Menu->AddItem(5, "[Back to main menu]", 1000);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 13: //PvP Reward: Heavy Twin Blade
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(0, "Name    : Heavy Twin Blade.", 1000);
    					  Menu->AddItem(0, "Binds   : On Pickup.", 1000);
    					  Menu->AddItem(0, "Type    : Two-Handed, Sword", 1000);
    					  Menu->AddItem(0, "Damage  : 567 - 851.", 1000);
    					  Menu->AddItem(0, "Speed   : 2.60.", 1000);
    					  Menu->AddItem(0, "Damage per Second : 272.7.", 1000);
    					  Menu->AddItem(0, "Increase : +85 Strength.", 1000);
    					  Menu->AddItem(0, "Level   : 80.", 1000);
    					  Menu->AddItem(0, "Effects : Equip: +37 Melee Hit Rating, Equip: Increases your critical strike rating by 42, Equip: Increases attack power by 150.", 1000);
    					  Menu->AddItem(0, "Description : Two blades froged into one.", 1000);
    					  Menu->AddItem(1, "Buy Heavy Twin Blade", 1004);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    					  
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 15: //PvP Reward: Brahs Skull Bow
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(0, "Name    : Brahs Skull Bow.", 1000);
    					  Menu->AddItem(0, "Binds   : On Pickup.", 1000);
    					  Menu->AddItem(0, "Type    : Two handed, Bow.", 1000);
    					  Menu->AddItem(0, "Damage  : 312 - 687.", 1000);
    					  Menu->AddItem(0, "Speed   : 2.40.", 1000);
    					  Menu->AddItem(0, "Damage per Second : 208.1.", 1000);
    					  Menu->AddItem(0, "Increase : +102 Agility.", 1000);
    					  Menu->AddItem(0, "Level   : 80.", 1000);
    					  Menu->AddItem(0, "Effects : Equip: +21 Ranged Crit Rating, Equip: Increases attack power by 200.", 1000);
    					  Menu->AddItem(0, "Description : It says that everytime Brah killed someone, he took his bones and made a bow of them.", 1000);
    					  Menu->AddItem(1, "Buy Brahs Skull Bow", 1005);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 20: //Teleport: Stormwind
    				  {
    					  Plr->EventTeleport(0, -8913.23, 554.633, 94.7944);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 21: //Teleport: Ironforge
    				  {
    					  Plr->EventTeleport(0, -4981.25, -881.542, 502.66);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 22: //Teleport: Darnassus
    				  {
    					  Plr->EventTeleport(1, 9945.129883, 2616.889893, 1316.459961);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 23: //Teleport: The Exodar
    				  {
    					  Plr->EventTeleport(530, -4014.080078, -11895.799805, -1.990420);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 24: //Teleport: Shattrath
    				  {
    					  Plr->EventTeleport(530, -1818.772217, 5416.031738, 0.856978);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 25: //Teleport: Dalaran
    				  {
    					  Plr->EventTeleport(571, 5796.979492, 645.575562, 647.420776);
    					  Plr->Gossip_Complete();
    				  }break;
    				  
    			  case 26: //Teleport: Orgrimmar
    				  {
    					  Plr->EventTeleport(1, 1502.709961, -4415.419922, 21.552212);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 27: //Teleport: Undercity
    				  {
    					  Plr->EventTeleport(0, 1831.260010, 238.529999, 60.520939);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 28: //Teleport: Thunder Bluff
    				  {
    					  Plr->EventTeleport(1, -1285.420044, 176.522995, 128.994110);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 29: //Teleport: Silvermoon City
    				  {
    					  Plr->EventTeleport(530, 9414.179688, -7278.970215, 14.202977);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 30: //Teleportations: Main Cities
    				  {
                          if(Plr->getRace() == 1 || Plr->getRace() == 3 || Plr->getRace() == 4 || Plr->getRace() == 7 || Plr->getRace() == 11)
    					  {
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(2, "Stormwind", 20);
    						  Menu->AddItem(2, "Ironforge", 21);
    						  Menu->AddItem(2, "Darnassus", 22);
    						  Menu->AddItem(2, "The Exodar", 23);
    						  Menu->AddItem(2, "Shattrath", 24);
    						  Menu->AddItem(2, "Dalaran", 25);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(2, "Orgrimmar", 26);
    						  Menu->AddItem(2, "Undercity", 27);
    						  Menu->AddItem(2, "Thunder Bluff", 28);
    						  Menu->AddItem(2, "Silvermoon City", 29);
    						  Menu->AddItem(2, "Shattrath", 24);
    						  Menu->AddItem(2, "Dalaran", 25);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 31: //Teleportations: Azeroth Instances
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(2, "Scarlet Monastry", 40);
    					  Menu->AddItem(2, "Karazhan", 41);
    					  Menu->AddItem(2, "Zul'Gurub", 42);
    					  Menu->AddItem(2, "Onyxia's Lair", 43);
    					  Menu->AddItem(2, "Molten Core", 44);
    					  Menu->AddItem(2, "Caverns of time", 45);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    					  Menu->SendTo(Plr);
    				  }break;
    				  
    			  case 32: //Teleportations: Outland Instances
    				  {
    					  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    					  Menu->AddItem(2, "Gruuls Lair", 47);
    					  Menu->AddItem(2, "Magtheridon's Lair", 48);
    					  Menu->AddItem(2, "The Eye", 49);
    					  Menu->AddItem(2, "Black Temple", 50);
    					  Menu->AddItem(5, "[Back to main menu]", 1111);
    
    					  Menu->SendTo(Plr);
    				  }break;
    
    			  case 33: //Teleport: Gurubashi
    				  {
    					  Plr->EventTeleport(0, -13243.240234, 197.949799, 32.112690);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 34: //Teleport: Battlemasters
    				  {
    					  if(Plr->getRace() == 1 || Plr->getRace() == 3 || Plr->getRace() == 4 || Plr->getRace() == 7 || Plr->getRace() == 11)
    					  {
    						  Plr->EventTeleport(0, -8406.764648, 283.809570, 120.885620);  //Alliance
    						  Plr->Gossip_Complete();
    					  }
    					  else
    					  {
    						  Plr->EventTeleport(1, 1985.542480, -4796.117188, 55.819096);  //Horde
    					  }
    				  }break;
    
    			  case 40: //Teleport: Scarlet Monastry
    				  {
    					  Plr->EventTeleport(0, 2689.182373, -683.117432, 114.844032);
    					  Plr->Gossip_Complete();
    				  }break;
    				  
    			  case 41: //Teleport: Karazhan
    				  {
    					  Plr->EventTeleport(0, -11122.913086, -2014.498779, 47.079350);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 42: //Zul'Gurub
    				  {
    					  Plr->EventTeleport(0, -11916.896484, -1214.153564, 92.288170);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 43: //Teleport: Onyxia's Lair
    				  {
    					  Plr->EventTeleport(1, -4708.491699, -3727.672363, 54.535076);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 44: //Teleport: Molten Core
    				  {
    					  Plr->EventTeleport(0, -7515.409668, -1045.369629, 182.361208);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 45: //Teleport: Caverns of time
    				  {
    					  Plr->EventTeleport(1, -8175.656250, -4723.372559, 28.675362);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 47: //Teleport: Gruuls Lair
    				  {
    					  Plr->EventTeleport(530, 3606.85, 5260.49, 4.1724);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 48: //Teleport: Magtheridon's Lair
    				  {
    					  Plr->EventTeleport(530, -319.635, 3102.03, -113.937);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 49: //Teleport: The Eye
    				  {
    					  Plr->EventTeleport(530, 3087.22, 1380.7, 184.883);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 50: //Teleport: Black Temple
    				  {
    					  Plr->EventTeleport(530, -3604.74, 328.252, 38.3077);
    					  Plr->Gossip_Complete();
    				  }break;
    
    			  case 1001: //Buy Ice Penetration
    				  {
    					  if(Plr->GetItemInterface()->GetItemCount(120002, false) > 150 || Plr->GetItemInterface()->GetItemCount(120002, false) == 150)
    					  {
    						  Plr->GetItemInterface()->RemoveItemAmt(120002, 150);
    						  AddItem(Plr, 130000, 1, false);
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
    						  pCreature->SendChatMessage(12, 0, "You don't have 150 PvP Tokens");
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 1002: //Buy Bantax Sharp Hand
    				  {
    					  if(Plr->GetItemInterface()->GetItemCount(120002, false) > 150 || Plr->GetItemInterface()->GetItemCount(120002, false) == 150)
    					  {
    						  Plr->GetItemInterface()->RemoveItemAmt(120002, 150);
    						  AddItem(Plr, 130001, 1, false);
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
    						  pCreature->SendChatMessage(12, 0, "You don't have 150 PvP Tokens");
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 1003: //Buy Nexus DragonStaff
    				  {
    					  if(Plr->GetItemInterface()->GetItemCount(120002, false) > 150 || Plr->GetItemInterface()->GetItemCount(120002, false) == 150)
    					  {
    						  Plr->GetItemInterface()->RemoveItemAmt(120002, 150);
    						  AddItem(Plr, 130002, 1, false);
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
    						  pCreature->SendChatMessage(12, 0, "You don't have 150 PvP Tokens");
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 1004: //Buy Heavy Twin Blade
    				  {
    					  if(Plr->GetItemInterface()->GetItemCount(120002, false) > 150 || Plr->GetItemInterface()->GetItemCount(120002, false) == 150)
    					  {
    						  Plr->GetItemInterface()->RemoveItemAmt(120002, 150);
    						  AddItem(Plr, 130003, 1, false);
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
    						  pCreature->SendChatMessage(12, 0, "You don't have 150 PvP Tokens");
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 1005: //Buy Brahs Skull Bow
    				  {
    					  if(Plr->GetItemInterface()->GetItemCount(120002, false) > 150 || Plr->GetItemInterface()->GetItemCount(120002, false) == 150)
    					  {
    						  Plr->GetItemInterface()->RemoveItemAmt(120002, 150);
    						  AddItem(Plr, 130004, 1, false);
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    					  else
    					  {
    						  pCreature->SendChatMessage(12, 0, "You don't have 150 PvP Tokens");
    
                              objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    						  Menu->AddItem(5, "[Back to main menu]", 1111);
    						  Menu->SendTo(Plr);
    					  }
    				  }break;
    
    			  case 1111: //[BACK TO MAIN MENU]
    				  {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				      Menu->AddItem(9, "PvP Rewards", 1);
    				      Menu->AddItem(2, "Teleportations", 4);
    				      Menu->AddItem(5, "Remove Ressurection Sickness", 5);
    
    					  Menu->SendTo(Plr);
    				  }break;
    			  }
    	  };
    
    	  void WarpNPC::GossipEnd(Object * pObject, Player* Plr)
          {
              GossipScript::GossipEnd(pObject, Plr);
          }
           
          void SetupWarpNPC(ScriptMgr * mgr)
          {
                  GossipScript * gs = (GossipScript*) new WarpNPC();
              mgr->register_gossip_script(88000, gs);
          }
    You need these sql's to make the NPC work:
    Code:
    INSERT INTO items (entry, class, subclass, field4, name1, name2, name3, name4, displayid, quality, flags, buyprice, sellprice, inventorytype, allowableclass, allowablerace, itemlevel, requiredlevel, RequiredSkill, RequiredSkillRank, RequiredSkillSubRank, RequiredPlayerRank1, RequiredPlayerRank2, RequiredFaction, RequiredFactionStanding, `Unique`, maxcount, ContainerSlots, stat_type1, stat_value1, stat_type2, stat_value2, stat_type3, stat_value3, stat_type4, stat_value4, stat_type5, stat_value5, stat_type6, stat_value6, stat_type7, stat_value7, stat_type8, stat_value8, stat_type9, stat_value9, stat_type10, stat_value10, dmg_min1, dmg_max1, dmg_type1, dmg_min2, dmg_max2, dmg_type2, dmg_min3, dmg_max3, dmg_type3, dmg_min4, dmg_max4, dmg_type4, dmg_min5, dmg_max5, dmg_type5, armor, holy_res, fire_res, nature_res, frost_res, shadow_res, arcane_res, delay, ammo_type, `range`, spellid_1, spelltrigger_1, spellcharges_1, spellcooldown_1, spellcategory_1, spellcategorycooldown_1, spellid_2, spelltrigger_2, spellcharges_2, spellcooldown_2, spellcategory_2, spellcategorycooldown_2, spellid_3, spelltrigger_3, spellcharges_3, spellcooldown_3, spellcategory_3, spellcategorycooldown_3, spellid_4, spelltrigger_4, spellcharges_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, description, page_id, page_language, page_material, quest_id, lock_id, lock_material, sheathID, randomprop, unk203_1, block, itemset, MaxDurability, ZoneNameID, mapid, bagfamily, TotemCategory, socket_color_1, unk201_3, socket_color_2, unk201_5, socket_color_3, unk201_7, socket_bonus, GemProperties, ReqDisenchantSkill, unk2)
    					VALUES (130000,2,7,-1,"Ice Penetration","Ice Penetration","Ice Penetration","Ice Penetration",53563,4,0,0000,0000,21,-1,-1,80,80,0,0,0,0,0,0,0,0,1,0, 7,85, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,298,402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1850,0,0,7598,1,0,0,0,0,12486,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,"It says that this sword once belonged to the forgotten Lich king before Arthas",0,0,0,0,0,1,3,0,0,0,0,185,0,0,0,0,8,0,8,0,8,0,2869,0,0,0);
    
    
    INSERT INTO items (entry, class, subclass, field4, name1, name2, name3, name4, displayid, quality, flags, buyprice, sellprice, inventorytype, allowableclass, allowablerace, itemlevel, requiredlevel, RequiredSkill, RequiredSkillRank, RequiredSkillSubRank, RequiredPlayerRank1, RequiredPlayerRank2, RequiredFaction, RequiredFactionStanding, `Unique`, maxcount, ContainerSlots, stat_type1, stat_value1, stat_type2, stat_value2, stat_type3, stat_value3, stat_type4, stat_value4, stat_type5, stat_value5, stat_type6, stat_value6, stat_type7, stat_value7, stat_type8, stat_value8, stat_type9, stat_value9, stat_type10, stat_value10, dmg_min1, dmg_max1, dmg_type1, dmg_min2, dmg_max2, dmg_type2, dmg_min3, dmg_max3, dmg_type3, dmg_min4, dmg_max4, dmg_type4, dmg_min5, dmg_max5, dmg_type5, armor, holy_res, fire_res, nature_res, frost_res, shadow_res, arcane_res, delay, ammo_type, `range`, spellid_1, spelltrigger_1, spellcharges_1, spellcooldown_1, spellcategory_1, spellcategorycooldown_1, spellid_2, spelltrigger_2, spellcharges_2, spellcooldown_2, spellcategory_2, spellcategorycooldown_2, spellid_3, spelltrigger_3, spellcharges_3, spellcooldown_3, spellcategory_3, spellcategorycooldown_3, spellid_4, spelltrigger_4, spellcharges_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, description, page_id, page_language, page_material, quest_id, lock_id, lock_material, sheathID, randomprop, unk203_1, block, itemset, MaxDurability, ZoneNameID, mapid, bagfamily, TotemCategory, socket_color_1, unk201_3, socket_color_2, unk201_5, socket_color_3, unk201_7, socket_bonus, GemProperties, ReqDisenchantSkill, unk2)
    					VALUES (130001,2,13,-1,"Bantax Sharp Hand","Bantax Sharp Hand","Bantax Sharp Hand","Bantax Sharp Hand",52436,4,0,0000,0000,13,-1,-1,80,80,0,0,0,0,0,0,0,0,1,0, 3,55, 36,28, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,241,487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1450,0,0,36409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,"It have been proofed that this belonged to Bantax the dock murderer",0,0,0,0,0,1,3,0,0,0,0,125,0,0,0,0,2,0,2,0,2,0,2873,0,0,0);
    
    
    
    
    INSERT INTO items (entry, class, subclass, field4, name1, name2, name3, name4, displayid, quality, flags, buyprice, sellprice, inventorytype, allowableclass, allowablerace, itemlevel, requiredlevel, RequiredSkill, RequiredSkillRank, RequiredSkillSubRank, RequiredPlayerRank1, RequiredPlayerRank2, RequiredFaction, RequiredFactionStanding, `Unique`, maxcount, ContainerSlots, stat_type1, stat_value1, stat_type2, stat_value2, stat_type3, stat_value3, stat_type4, stat_value4, stat_type5, stat_value5, stat_type6, stat_value6, stat_type7, stat_value7, stat_type8, stat_value8, stat_type9, stat_value9, stat_type10, stat_value10, dmg_min1, dmg_max1, dmg_type1, dmg_min2, dmg_max2, dmg_type2, dmg_min3, dmg_max3, dmg_type3, dmg_min4, dmg_max4, dmg_type4, dmg_min5, dmg_max5, dmg_type5, armor, holy_res, fire_res, nature_res, frost_res, shadow_res, arcane_res, delay, ammo_type, `range`, spellid_1, spelltrigger_1, spellcharges_1, spellcooldown_1, spellcategory_1, spellcategorycooldown_1, spellid_2, spelltrigger_2, spellcharges_2, spellcooldown_2, spellcategory_2, spellcategorycooldown_2, spellid_3, spelltrigger_3, spellcharges_3, spellcooldown_3, spellcategory_3, spellcategorycooldown_3, spellid_4, spelltrigger_4, spellcharges_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, description, page_id, page_language, page_material, quest_id, lock_id, lock_material, sheathID, randomprop, unk203_1, block, itemset, MaxDurability, ZoneNameID, mapid, bagfamily, TotemCategory, socket_color_1, unk201_3, socket_color_2, unk201_5, socket_color_3, unk201_7, socket_bonus, GemProperties, ReqDisenchantSkill, unk2)
    					VALUES (130002,2,10,-1,"Nexus DragonStaff","Nexus DragonStaff","Nexus DragonStaff","Nexus DragonStaff",55713,4,0,0000,0000,17,-1,-1,80,80,0,0,0,0,0,0,0,0,1,0, 5,185, 30,16, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,312,578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2150,0,0,35894,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,"This staff were once made by the magical dragon Nexus",0,0,0,0,0,1,3,0,0,0,0,165,0,0,0,0,8,0,8,0,8,0,2865,0,0,0);
    
    INSERT INTO items (entry, class, subclass, field4, name1, name2, name3, name4, displayid, quality, flags, buyprice, sellprice, inventorytype, allowableclass, allowablerace, itemlevel, requiredlevel, RequiredSkill, RequiredSkillRank, RequiredSkillSubRank, RequiredPlayerRank1, RequiredPlayerRank2, RequiredFaction, RequiredFactionStanding, `Unique`, maxcount, ContainerSlots, stat_type1, stat_value1, stat_type2, stat_value2, stat_type3, stat_value3, stat_type4, stat_value4, stat_type5, stat_value5, stat_type6, stat_value6, stat_type7, stat_value7, stat_type8, stat_value8, stat_type9, stat_value9, stat_type10, stat_value10, dmg_min1, dmg_max1, dmg_type1, dmg_min2, dmg_max2, dmg_type2, dmg_min3, dmg_max3, dmg_type3, dmg_min4, dmg_max4, dmg_type4, dmg_min5, dmg_max5, dmg_type5, armor, holy_res, fire_res, nature_res, frost_res, shadow_res, arcane_res, delay, ammo_type, `range`, spellid_1, spelltrigger_1, spellcharges_1, spellcooldown_1, spellcategory_1, spellcategorycooldown_1, spellid_2, spelltrigger_2, spellcharges_2, spellcooldown_2, spellcategory_2, spellcategorycooldown_2, spellid_3, spelltrigger_3, spellcharges_3, spellcooldown_3, spellcategory_3, spellcategorycooldown_3, spellid_4, spelltrigger_4, spellcharges_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, description, page_id, page_language, page_material, quest_id, lock_id, lock_material, sheathID, randomprop, unk203_1, block, itemset, MaxDurability, ZoneNameID, mapid, bagfamily, TotemCategory, socket_color_1, unk201_3, socket_color_2, unk201_5, socket_color_3, unk201_7, socket_bonus, GemProperties, ReqDisenchantSkill, unk2)
    					VALUES (130003,2,8,-1,"Heavy Twin Blade","Heavy Twin Blade","Heavy Twin Blade","Heavy Twin Blade",51512,4,0,0000,0000,17,-1,-1,80,80,0,0,0,0,0,0,0,0,1,0, 4,85, 16,37, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,567,851,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2600,0,0,7599,1,0,0,0,0,36409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,"Two blades froged into one",0,0,0,0,0,1,1,0,0,0,0,122,0,0,0,0,2,0,2,0,2,0,106,0,0,0);
    
    INSERT INTO items (entry, class, subclass, field4, name1, name2, name3, name4, displayid, quality, flags, buyprice, sellprice, inventorytype, allowableclass, allowablerace, itemlevel, requiredlevel, RequiredSkill, RequiredSkillRank, RequiredSkillSubRank, RequiredPlayerRank1, RequiredPlayerRank2, RequiredFaction, RequiredFactionStanding, `Unique`, maxcount, ContainerSlots, stat_type1, stat_value1, stat_type2, stat_value2, stat_type3, stat_value3, stat_type4, stat_value4, stat_type5, stat_value5, stat_type6, stat_value6, stat_type7, stat_value7, stat_type8, stat_value8, stat_type9, stat_value9, stat_type10, stat_value10, dmg_min1, dmg_max1, dmg_type1, dmg_min2, dmg_max2, dmg_type2, dmg_min3, dmg_max3, dmg_type3, dmg_min4, dmg_max4, dmg_type4, dmg_min5, dmg_max5, dmg_type5, armor, holy_res, fire_res, nature_res, frost_res, shadow_res, arcane_res, delay, ammo_type, `range`, spellid_1, spelltrigger_1, spellcharges_1, spellcooldown_1, spellcategory_1, spellcategorycooldown_1, spellid_2, spelltrigger_2, spellcharges_2, spellcooldown_2, spellcategory_2, spellcategorycooldown_2, spellid_3, spelltrigger_3, spellcharges_3, spellcooldown_3, spellcategory_3, spellcategorycooldown_3, spellid_4, spelltrigger_4, spellcharges_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, description, page_id, page_language, page_material, quest_id, lock_id, lock_material, sheathID, randomprop, unk203_1, block, itemset, MaxDurability, ZoneNameID, mapid, bagfamily, TotemCategory, socket_color_1, unk201_3, socket_color_2, unk201_5, socket_color_3, unk201_7, socket_bonus, GemProperties, ReqDisenchantSkill, unk2)
    					VALUES (130004,2,2,-1,"Brahs Skull Bow","Brahs Skull Bow","Brahs Skull Bow","Brahs Skull Bow",30926,4,0,0000,0000,15,-1,-1,80,80,0,0,0,0,0,0,0,0,1,0, 3,102, 20,21, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,312,687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2400,2,100,18060,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,"It says that everytime Brah killed someone, he took his bones and made a bow of them.",0,0,0,0,0,1,0,0,0,0,0,125,0,0,0,0,2,0,2,0,2,0,90,0,0,0);
    
    
    INSERT INTO items
       (`entry`, `class`, `subclass`, `field4`, `name1`, `name2`, `name3`, `name4`, `displayid`, `quality`, `flags`, `buyprice`, `sellprice`, `inventorytype`, `allowableclass`, `allowablerace`, `itemlevel`, `requiredlevel`, `RequiredSkill`, `RequiredSkillRank`, `RequiredSkillSubRank`, `RequiredPlayerRank1`, `RequiredPlayerRank2`, `RequiredFaction`, `RequiredFactionStanding`, `Unique`, `maxcount`, `ContainerSlots`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScaledStatsDistributionId`, `ScaledStatsDistributionFlags`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `dmg_min3`, `dmg_max3`, `dmg_type3`, `dmg_min4`, `dmg_max4`, `dmg_type4`, `dmg_min5`, `dmg_max5`, `dmg_type5`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `range`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `page_id`, `page_language`, `page_material`, `quest_id`, `lock_id`, `lock_material`, `sheathID`, `randomprop`, `unk203_1`, `block`, `itemset`, `MaxDurability`, `ZoneNameID`, `mapid`, `bagfamily`, `TotemCategory`, `socket_color_1`, `unk201_3`, `socket_color_2`, `unk201_5`, `socket_color_3`, `unk201_7`, `socket_bonus`, `GemProperties`, `ReqDisenchantSkill`, `unk2`, `ItemLimitCategoryId`)
    VALUES
       (120002, 0, 0, -1, 'PvP Token', '', '', '', 40753, 4, 0, 0, 0, 0, -1, -1, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 'Token gained after killing a player.', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, NULL, NULL, 0, NULL, 0, NULL, 0, NULL, NULL, -1, 0, 0);
    
    
    INSERT INTO creature_names
       (`entry`, `name`, `subname`, `info_str`, `Flags1`, `type`, `family`, `rank`, `unk4`, `spelldataid`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `unknown_float1`, `unknown_float2`, `civilian`, `leader`)
    VALUES
       (88000, 'Teleporter', 'Teleport\'s You', '', 0, 0, 0, 0, 0, 0, 19314, 0, 0, 0, 1, 1, NULL, NULL);
    
    
    INSERT INTO creature_proto
       (`entry`, `minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `mountdisplayid`, `equipmodel1`, `equipinfo1`, `equipslot1`, `equipmodel2`, `equipinfo2`, `equipslot2`, `equipmodel3`, `equipinfo3`, `equipslot3`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `extra_a9_flags`, `spell1`, `spell2`, `spell3`, `spell4`, `spell_flags`, `modImmunities`)
    VALUES
       (88000, 175, 175, 35, 10000, 10000, 0, 1, 1, 0, 0, 1e+007, 1e+008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, '', 0, 0, 0, 0, 2.5, 8, 14, 0, 0, 0, 0, 0, 0, 0);

    DOWNLOADS:

    Compiled for rev 1700:
    Filebeam - Free Fast File Hosting

    Source:
    Filebeam - Free Fast File Hosting

    PASSWORD = mmowned

    Hope you enjoy it

    CREDITS:

    AspireScripts; For borrowing AddItem function.
    Me; for making it
    Last edited by Link_S; 12-17-2008 at 09:31 AM.

    Links's C++ WarpNPC (First script)
  2. #2
    Edude's Avatar Member
    Reputation
    98
    Join Date
    Jul 2008
    Posts
    406
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Very good =), +Rep =)

  3. #3
    y2kss66's Avatar Member
    Reputation
    104
    Join Date
    Jan 2008
    Posts
    778
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I will share one +Rep cookie! It is nice to see more people contributing!

  4. #4
    Link_S's Avatar Member
    Reputation
    125
    Join Date
    Dec 2008
    Posts
    293
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, this took long time.

  5. #5
    Flake0207's Avatar Active Member
    Reputation
    30
    Join Date
    Apr 2008
    Posts
    221
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    nice i think thats the first 3.0.3 c++ tele script nice+Rep+Rep




  6. #6
    Link_S's Avatar Member
    Reputation
    125
    Join Date
    Dec 2008
    Posts
    293
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just tell me if anyone want it compiled in another Rev

Similar Threads

  1. [ArcEmu] My first script
    By krispig in forum WoW EMU Questions & Requests
    Replies: 2
    Last Post: 09-12-2010, 05:36 AM
  2. WarpNPC script generator
    By alek900 in forum WoW EMU Programs
    Replies: 44
    Last Post: 05-08-2008, 10:54 AM
  3. [Release Lua] One of My First Lua Scripts
    By Juicyz in forum World of Warcraft Emulator Servers
    Replies: 5
    Last Post: 03-28-2008, 02:03 AM
  4. Scripting Error (link fatal)
    By djkajabaxd in forum World of Warcraft Emulator Servers
    Replies: 10
    Last Post: 02-23-2008, 10:46 AM
  5. My first exploration move (youtube link)
    By gangstas in forum World of Warcraft Exploration
    Replies: 8
    Last Post: 02-02-2007, 08:48 PM
All times are GMT -5. The time now is 02:57 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search