ArcEmu: Sendtrainerlist Without Creature - 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

Sendtrainerlist Without Creature

#1 User is offline   niru4l 

  • Member
  • Pip
  • Group: Members
  • Posts: 14
  • Joined: 09-December 10
  • Gender:Male

Posted 25 December 2011 - 04:21 AM

I tried to create a portable trainer, which loads spells from the database. It's working with a dummy spell of an item which calls that Function:

void WorldSession::SendTrainerList(Item* pItem)
{
		if(pItem->tspells.size()== 0)
		{
			printf("SIZE = NULL\n");
			return;
		}
	
		WorldPacket data(SMSG_TRAINER_LIST, 5000);
		TrainerSpell* pSpell;
		uint32 Spacer = 0;
		uint32 Count = 0;
		uint8 Status;
		string Text;

		data << pItem->GetGUID();
		data << uint32(2);

		data << uint32(0);

		set<TrainerSpell*>::iterator itr = pItem->tspells.begin();
		set<TrainerSpell*>::iterator end = pItem->tspells.end();

		for( ; itr != end; ++itr)
		{
			pSpell = (*itr);
			Status = TrainerGetSpellStatus(pSpell);
			if(pSpell->pCastRealSpell != NULL)
				data << pSpell->pCastSpell->Id;
			else if(pSpell->pLearnSpell)
				data << pSpell->pLearnSpell->Id;
			else
				continue;

			data << Status;
			data << pSpell->Cost;
			data << Spacer;
			data << uint32(pSpell->IsProfession);
			data << uint8(pSpell->RequiredLevel);
			data << pSpell->RequiredSkillLine;
			data << pSpell->RequiredSkillLineValue;
			data << pSpell->RequiredSpell;
			data << Spacer;	//this is like a spell override or something, ex : (id=34568 or id=34547) or (id=36270 or id=34546) or (id=36271 or id=34548)
			data << Spacer;
			++Count;
			printf("%u\n", Count); //debuguse
		}

		*(uint32*)&data.contents()[12] = Count;

		data << "i am the trainer!";

		SendPacket(&data);
	
}


The server sends that packet to the player, but no trainer window appears, can someone help me?
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