View Single Post
  #3  
Old 05-17-2014, 10:29 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by Mariomario View Post
Looking for a little help with the marquee messaging. Attempting to use the plugin gave failed results so I attempted to make sure it was in the client_message.pl under the plugin folder. It wasn't so I added the needed code in.

I have found that the error seems to be coming from the SendMarqueeMessage function regardless. It is definitely within my source under the client.cpp

Code:
void Client::SendMarqueeMessage(uint32 type, uint32 priority, uint32 fade_in, uint32 fade_out, uint32 duration, std::string msg)
{
	if(duration == 0 || msg.length() == 0) {
		return;
	}

	EQApplicationPacket outapp(OP_Marquee, sizeof(ClientMarqueeMessage_Struct) + msg.length());
	ClientMarqueeMessage_Struct *cms = (ClientMarqueeMessage_Struct*)outapp.pBuffer;

	cms->type = type;
	cms->unk04 = 10;
	cms->priority = priority;
	cms->fade_in_time = fade_in;
	cms->fade_out_time = fade_out;
	cms->duration = duration;
	strcpy(cms->msg, msg.c_str());

	QueuePacket(&outapp);
}
Even using something as simple as below will result in only the NPC sending the first Test message and nothing after. Is there something wrong with the marquee message function in my source or am I just over looking something extremely simple?

Code:
sub EVENT_SAY
{
	$client->Message(15,"Test");

	$client->SendMarqueeMessage(15, 510, 1, 100, 3000, "Testing");
	
	$client->Message(15,"Test2");
}
You need to have all of the current opcodes, latest source and latest plugins repo and you can simply use marquee messages as simply as:

plugin::MM("Message"); or use manual arguments with $client->SendMarqueeMessage();
Reply With Quote