ArcEmu: Vendoraddset(setid) - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Vendoraddset(setid) Me trying to contribute a patch?

#1 User is offline   Wolferine 

  • Member
  • Pip
  • Group: Members
  • Posts: 19
  • Joined: 27-November 09

Posted 29 July 2011 - 10:06 AM

Index: Chat.cpp
===================================================================
--- Chat.cpp	(revision 4409)
+++ Chat.cpp	(working copy)
@@ -406,6 +406,7 @@
 
 	static ChatCommand NPCCommandTable[] =
 	{
+		{ "vendoraddset",     'n', &ChatHandler::HandleAddSetCommand,         "Adds a set to the vendor", 				 																								 NULL, 0, 0, 0 },
 		{ "vendoradditem",    'n', &ChatHandler::HandleItemCommand,           "Adds to vendor",                                                                                                                          NULL, 0, 0, 0 },
 		{ "vendorremoveitem", 'n', &ChatHandler::HandleItemRemoveCommand,     "Removes from vendor.",                                                                                                                    NULL, 0, 0, 0 },
 		{ "flags",            'n', &ChatHandler::HandleNPCFlagCommand,        "Changes NPC flags",  																													 NULL, 0, 0, 0 },
		
		
Index: Level2.cpp
===================================================================
--- Level2.cpp	(revision 4409)
+++ Level2.cpp	(working copy)
@@ -367,6 +367,69 @@
 	return true;
 }
 
+bool ChatHandler::HandleAddSetCommand(const char* args, WorldSession *m_session)
+{
+	char* pitem = strtok((char*)args, " ");
+				
+	uint64 guid = m_session->GetPlayer()->GetSelection();
+	if (guid == 0) 
+	{
+		SystemMessage(m_session, "No selection found.");
+	}
+
+	Creature * pCreature = m_session->GetPlayer()->GetMapMgr()->GetCreature(GET_LOWGUID_PART(guid));
+	if(!pCreature)
+	{
+		SystemMessage(m_session, "Please select a creature.");
+	}
+		
+	ItemSetEntry * tmpItem = dbcItemSet.LookupEntry(pitem);
+	if(pitem > 0 && dbcItemSet.LookupEntry(pitem) == NULL);
+	{
+		SystemMessage(m_session, "Invalid item set.");
+	}
+	if(tmpItem:GetRow(18) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(18) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(19) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(19) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(20) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(20) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(21) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(21) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(22) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(22) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(23) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(23) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(24) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(24) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+	if(tmpItem:GetRow(25) =! 0);
+	{
+		ss << "INSERT INTO vendors VALUES ('" << pCreature->GetEntry() << "', '" << tmpItem:GetRow(25) << "', '" << 1 << "', 0, 0, " << 0 << " )" << '\0';
+		WorldDatabase.Execute(ss.str().c_str() );
+	}
+}


Basicly I tried to script .npc vendoraddset(setid), it's probably wrong but this might give you a global idea.
Hopefully someone can create a good base by perhaps using this code.

PS: You should now be starting to regret saying I could post ideas here Dfighter haha ;d
0

#2 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 29 July 2011 - 11:04 PM

Yes it's more than wrong, it's horrible actually.
Even the idea is wrong, for a very simple reason, check out this topic: http://arcemu.org/fo...showtopic=25195
Also, no I don't regret telling you that you can post ideas, everyone can do that anytime, so it's not something special I granted you...
"The demand for free goods is infinite."
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users