Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 09-07-2016, 02:45 AM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default Plugin::MM() usage

Just curious about this possiblity. I've been playing around with that plugin and
having fun with it, but I was wondering, is it possible to use this plugin to feed
all world clients , similiar to quest::we(..) Where everyone on the server gets
it at the same time, when event is triggered ?
__________________
Project Insect Completed
Reply With Quote
  #2  
Old 09-07-2016, 02:51 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by DanCanDo View Post
Just curious about this possiblity. I've been playing around with that plugin and
having fun with it, but I was wondering, is it possible to use this plugin to feed
all world clients , similiar to quest::we(..) Where everyone on the server gets
it at the same time, when event is triggered ?
It's possible, just not currently implemented.
Reply With Quote
  #3  
Old 09-07-2016, 02:53 AM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default

I didn't think so, but I figured it wouldn't hurt to ask. But Thank You Sir !
__________________
Project Insect Completed
Reply With Quote
  #4  
Old 09-07-2016, 03:00 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Completely untested (including simply running a perl -c on the code), as I'm away from home atm:

Code:
# /quests/global/global_player.pl
use File::Copy qw(copy);

sub EVENT_SAY {
	@args = split(' ', $text); # Something I use for custom gm commands
	if ($text=~/#globalmarquee/i) {
		if ($args[1]) {
			$formattedstring = "";
			for ($count = 1; $count < scalar(@args); $count++) {
				$formattedstring = $formattedstring." ".$args[$count];
			}
			my $filename = "C:\EQEMU\QUESTS\GLOBAL\GlobalMarquee.txt";
			move $filename, $filename.".bak";
			open my $fh, '>', "output.txt"
				or die "Cannot open file: $!";
			print $fh "$formattedstring\n";
			close $fh;
			quest::crosszonesignalnpcbynpctypeid(10, 99999);
		}
	}
}


# /quests/global/zone_controller.pl
sub EVENT_SIGNAL {

	elsif ($signal == 99999) {
		$filename = "C:\EQEMU\QUESTS\GLOBAL\GlobalMarquee.txt";
		my @marqueemessage = do {
			open my $fh, "<", $filename
				or die "could not open $filename: $!";
			<$fh>;
		};		
		my @clist = $entity_list->GetClientList();
		foreach my $sclient (@clist) {
			$sclient->SendMarqueeMessage(15, 510, 1, 1, 3000, $marqueemessage);
		}
	}
}
When there is a will, there is a way (with Perl).

Last edited by ghanja; 09-07-2016 at 05:25 PM..
Reply With Quote
  #5  
Old 09-10-2016, 12:06 AM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,594
Default

World-wide Marquees? Yes, please. Once this is merged they'll be possible using quest::worldwidemarquee(type, priority, fadein, fadeout, duration, message).

Example script:
Code:
sub EVENT_SAY {
    if ($text=~/#test/i && length($text) > 6) {
        quest::worldwidemarquee(315, 510, 1, 1, 3000, substr($text, 6));
    }
}

Last edited by Kingly_Krab; 09-10-2016 at 12:21 AM..
Reply With Quote
  #6  
Old 09-10-2016, 05:52 AM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default

Quote:
Originally Posted by Kingly_Krab View Post
World-wide Marquees? Yes, please. Once this is merged they'll be possible using quest::worldwidemarquee(type, priority, fadein, fadeout, duration, message).
You seriously got this to work, that is awesome Kingly !!!
Thank you
__________________
Project Insect Completed
Reply With Quote
  #7  
Old 09-10-2016, 11:30 AM
jpyou127's Avatar
jpyou127
Discordant
 
Join Date: Nov 2005
Posts: 270
Default

Some seriously cool stuff King!

Celestial
Reply With Quote
  #8  
Old 09-10-2016, 01:14 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,594
Default

Merged as of ~5 minutes ago.
Reply With Quote
  #9  
Old 09-10-2016, 01:24 PM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default

Quote:
Originally Posted by Kingly_Krab View Post
Merged as of ~5 minutes ago.
Holy Rock Lobster (chuckle)
Just gitpulled, anxious to play around
Thanks a lot Kingly
__________________
Project Insect Completed
Reply With Quote
  #10  
Old 09-10-2016, 02:35 PM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default

This little test works awesome, but had one tiny little question (grin)
Is it possible to change that grey color output ? ( I do have the color codes)
Code:
sub EVENT_ITEM {
    if (plugin::check_handin(\%itemcount, 13005 => 1, 13006 => 1)) {
        quest::worldwidemarquee(315, 510, 1, 1, 3000, substr("This is a Test. Is it working?", 0));
    }
}
EDIT: SORRY, Nevermind, just figured out the 'type' number was what I needed to change.
__________________
Project Insect Completed
Reply With Quote
  #11  
Old 09-10-2016, 11:32 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,594
Default

Yeah, type indicates color. substr isn't necessary for what you're doing because that's for cutting a string apart based on indexes. You can use just "This is a Test. Is it working?" instead of substr("This is a Test. Is it working?", 0).
Reply With Quote
  #12  
Old 09-11-2016, 04:25 AM
DanCanDo's Avatar
DanCanDo
Discordant
 
Join Date: May 2016
Location: Above Hell
Posts: 400
Default

Ahh, ok, thanks for that tip. My original thoughts on using this marquee was along the
lines of my little test example there. Although the quest::we is good for world emotes,
I figured sometimes, if a serverwide message goes out and a player's chat window is
busy with hits, misses, etc., the world emote may not be seen. But this marquee can
definately show up noticed, (chuckle) But it's got a lot of potential for other things,
(like above) letting the server know when a player has achieved something on the high
end, or for that matter "Newbie $name has finally got out of the Tutorial" (chuckle)
__________________
Project Insect Completed
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:24 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3