Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 10-12-2012, 04:30 PM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default Account Based Flagging

Here is an example of how we do our account based flagging system over at NL, I'd post the actual context we use, but its basically proprietary to our system.


Code:
sub EVENT_SAY {
my $t = $client->AccountID();
my $globalname = "$t";

 
	if ($text =~/hail/i) {
		plugin::whisper("$t");
		}
	if ($text =~/account/i) {
		quest::setglobal("$t",1,7,'F');
		quest::say("Flag set");
		}
	
if (defined $qglobals{$globalname}) {
	if ($qglobals{$globalname} == 1) {
		if ($text =~/test/i) {
			plugin::Whisper("You are Account Flagged");
			}
		}
	}
}
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
  #2  
Old 10-16-2012, 11:27 AM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default

Code:
#Velious Keeper Clean Up Gummi
sub EVENT_SAY {

my $gi = quest::saylink ("give",1);
my $t = $client->AccountID();
my $ent = quest::saylink ("I wish to enter Velious!");
my $zone0 = quest::saylink ("Wakening Lands",1);
my $zone1 = quest::saylink ("Iceclad Ocean", 1);
my $zone2 = quest::saylink ("Cobalt Scar", 1);
my $zone3 = quest::saylink ("Eastern Wastelands", 1);
my $zone4 = quest::saylink ("Great Divide", 1);
my $zone5 = quest::saylink ("Thurgadin", 1);
my $spirits = quest::saylink ("spirits", 1);
my $globalname = "flagging";
my $globalname2 = "$t";
my $gc = quest::saylink ("guild's",1);
my $npc1 = quest::saylink ("Phara Dar",1);
my $npc2 = quest::saylink ("Druushk",1);
my $npc3 = quest::saylink ("Nexona",1);
my $npc4 = quest::saylink ("Silverwing",1);
my $npc5 = quest::saylink ("Hoshkar",1);
my $npc6 = quest::saylink ("Xygoz",1);
my $npc7 = quest::saylink ("Gorenaire",1);
my $npc8 = quest::saylink ("Trakanon",1);
my $npc9 = quest::saylink ("Severilous",1);
my $npc10 = quest::saylink ("Faydedar",1);
my $npc11 = quest::saylink ("Talendor",1);
my $globalname4 = "$uguild_id Phara Dar";
my $globalname5 = "$uguild_id Druushk";
my $globalname6 = "$uguild_id Nexona";
my $globalname7 = "$uguild_id Silverwing";
my $globalname8 = "$uguild_id Hoshkar";
my $globalname9 = "$uguild_id Xygoz";
my $globalname10 = "$uguild_id Gorenaire";
my $globalname11 = "$uguild_id Trakanon";
my $globalname12 = "$uguild_id Severilous";
my $globalname13 = "$uguild_id Faydedar";
my $globalname14 = "$uguild_id Talendor";
#my $uguild_id = $client->GuildID();




if($text=~/testkills/i)
{
quest::setglobal("$uguild_id Xygoz",1,7,'F');
#quest::setglobal("Druushk",1,5,'F');
}
if($text=~/Remove/i)
{
quest::say($globalname4);
}

if($text =~/guild's/i)
{
$client->Message(335,"[$npc1]");
$client->Message(335,"[$npc2]");
$client->Message(335,"[$npc3]");
$client->Message(335,"[$npc4]");
$client->Message(335,"[$npc5]");
$client->Message(335,"[$npc6]");
$client->Message(335,"[$npc7]");
$client->Message(335,"[$npc8]");
$client->Message(335,"[$npc9]");
$client->Message(335,"[$npc10]");
$client->Message(335,"[$npc11]");
}
#("Phara Dar");
#("Druushk");
#("Nexona");
#("Silverwing");
#("Hoshkar");
#("Xygoz");
#("Gorenaire");
#("Trakanon");
#("Severilous");
# ("Faydedar");
# ("Talendor");
if($text=~/Phara Dar/i)
	{
	if($qglobals{$globalname4} == 0) # This portion means it will tell you in red if the npc declared above has not been killed by your guild, or if it has
		{
			$client->Message(13,"$npc1 has not been slain!");
		}
			if($qglobals{$globalname4} == 1)
				{
					$client->Message(14,"$npc1 has been slain!");
				}
	}
	if($text=~/Druushk/i)
	{
	if($qglobals{$globalname5} == 0)
		{
			$client->Message(13,"$npc2 has not been slain!");
		}
			if($qglobals{$globalname5} == 1)
				{
					$client->Message(14,"$npc2 has been slain!");
				}
	}
	if($text=~/Nexona/i)
	{
	if($qglobals{$globalname6} == 0)
		{
			$client->Message(13,"$npc3 has not been slain!");
		}
			if($qglobals{$globalname6} == 1)
				{
					$client->Message(14,"$npc3 has been slain!");
				}
	}
	if($text=~/Silverwing/i)
	{
	if($qglobals{$globalname7} == 0)
		{
			$client->Message(13,"$npc4 has not been slain!");
		}
			if($qglobals{$globalname7} == 1)
				{
					$client->Message(14,"$npc4 has been slain!");
				}
	}
	if($text=~/Hoshkar/i)
	{
	if($qglobals{$globalname8} == 0)
		{
			$client->Message(13,"$npc5 has not been slain!");
		}
			if($qglobals{$globalname8} == 1)
				{
					$client->Message(14,"$npc5 has been slain!");
				}
	}
	if($text=~/Xygoz/i)
	{
	if($qglobals{$globalname9} == 0)
		{
			$client->Message(13,"$npc6 has not been slain!");
		}
			if($qglobals{$globalname9} == 1)
				{
					$client->Message(14,"$npc6 has been slain!");
				}
	}
	if($text=~/Gorenaire/i)
	{
	if($qglobals{$globalname10} == 0)
		{
			$client->Message(13,"$npc7 has not been slain!");
		}
			if($qglobals{$globalname10} == 1)
				{
					$client->Message(14,"$npc7 has been slain!");
				}
	}
	if($text=~/Trakanon/i)
	{
	if($qglobals{$globalname11} == 0)
		{
			$client->Message(13,"$npc8 has not been slain!");
		}
			if($qglobals{$globalname11} == 1)
				{
					$client->Message(14,"$npc8 has been slain!");
				}
	}
	if($text=~/Severilous/i)
	{
	if($qglobals{$globalname12} == 0)
		{
			$client->Message(13,"$npc9 has not been slain!");
		}
			if($qglobals{$globalname12} == 1)
				{
					$client->Message(14,"$npc9 has been slain!");
				}
	}
	if($text=~/Faydedar/i)
	{
	if($qglobals{$globalname13} == 0)
		{
			$client->Message(13,"$npc10 has not been slain!");
		}
			if($qglobals{$globalname13} == 1)
				{
					$client->Message(14,"$npc10 has been slain!");
				}
	}
	if($text=~/Talendor/i)
	{
	if($qglobals{$globalname14} == 0)
		{
			$client->Message(13,"$npc11 has not been slain!");
		}
			if($qglobals{$globalname14} == 1)
				{
					$client->Message(14,"$npc11 has been slain!");
				}
	}






if (defined $qglobals{$globalname}) {
	if ($qglobals{$globalname} == 1) {
	if ($text =~/hail/i) {
		plugin::Whisper("Greetin`s $name, Heard ya wanna enter the lands of Velious? If another instance of your soul has been there I can [$gi] you access or check your [$gc] progression. ");
		$client->Message(13,"$ent");
		}
	if ($text =~/enter Velious/i) {
		plugin::Whisper("First, you must prove you are worthy. If you show yourself to be powerful enough to slay the Ring of Scale, I shall invite you to begin your journey into the new world, but I must see the insignia of Velious as proof!");
		#quest::assigntask(2033);
			}
		}
	}
	
		
		
if (defined $qglobals{$globalname}) {
	if ($qglobals{$globalname} >= 2) {
	if ($text =~/hail/i) {
		plugin::Whisper("Well hello there $name. Would you like to go to [$zone0], [$zone1], [$zone2], [$zone3], or [$zone4], I can also allow your other [$spirits] to access these lands. ");
		}
	if ($text =~/spirits/i) {
		plugin::Whisper("Please leave this world and come back for the magic to affect your spirit.");
		quest::setglobal("$globalname2",2,7,'F');
		}
	if ($text =~/Iceclad Ocean/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(iceclad);
		}
	if ($text =~/Eastern Wastelands/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(eastwastes);
		}
	if ($text =~/Great Divide/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(greatdivide);
		}
	if ($text =~/Thurgadin/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(thurgadina)
		}
	if ($text =~/wakening lands/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(wakening);
		}
	if ($text =~/cobalt scar/i) {
		quest::say ("$name , stand close to me while I cast..");
		quest::emote ("moves his hands as if chanting...");
		quest::zone(wakening);
		}
	}
}
	
if (defined $qglobals{$globalname2}) {
	if ($qglobals{$globalname2} == 2) {#this sets the flag for the account, and also the flags for the zone.
		if ($text =~/give/i) {
			plugin::Whisper("You have the account flag of $t.");
			$client->Message(14,"Now setting character zone flags");
			quest::setglobal("$globalname",2,5,'F');
			quest::summonitem(132661);
			quest::set_zone_flag(87);#1 burning woods
			quest::set_zone_flag(103);#2 chardok
			quest::set_zone_flag(90);#3 City of mist
			quest::set_zone_flag(104);#4 dalnir
			quest::set_zone_flag(86);#5 dreadlands
			quest::set_zone_flag(106);#6 cabeast
			quest::set_zone_flag(82);#7 cabwest
			quest::set_zone_flag(94);#8 emeraldjungle
			quest::set_zone_flag(78);#9 fieldofbone
			quest::set_zone_flag(84);#10 firiona
			quest::set_zone_flag(92);#11 frontiermtns
			quest::set_zone_flag(105);#12 charasis
			quest::set_zone_flag(88);#13 kaesora
			quest::set_zone_flag(102);#14 karnor
			quest::set_zone_flag(97);#15 Kurn
			quest::set_zone_flag(85);#16 lakeofillomen
			quest::set_zone_flag(107);#17 nurga
			quest::set_zone_flag(89);#18 sebilis
			quest::set_zone_flag(91);#19 skyfire
			quest::set_zone_flag(83);#20 swampofnohope
			quest::set_zone_flag(96);#21 timorous
			quest::set_zone_flag(95);#22 trakanon
			quest::set_zone_flag(108);#23 veeshan
			quest::set_zone_flag(79);#24 warsliks
			#quest::set_zone_flag(81);#25 droga
			quest::set_zone_flag(93);#26 overthere
			quest::set_zone_flag(117);#Velious start
			quest::set_zone_flag(121);
			quest::set_zone_flag(116);
			quest::set_zone_flag(111);
			quest::set_zone_flag(118);
			quest::set_zone_flag(127);
			quest::set_zone_flag(110);
			quest::set_zone_flag(181);
			quest::set_zone_flag(113);
			quest::set_zone_flag(126);
			quest::set_zone_flag(123);
			quest::set_zone_flag(75 );
			quest::set_zone_flag(125);
			quest::set_zone_flag(114);
			quest::set_zone_flag(128);
			quest::set_zone_flag(124);
			quest::set_zone_flag(115);
			quest::set_zone_flag(129);
			quest::set_zone_flag(112);
			quest::set_zone_flag(119);
			quest::set_zone_flag(120);
			quest::set_zone_flag(114);#velious end
			}
		} 
	} 
}
sub EVENT_ITEM {
if(plugin::check_handin(\%itemcount,132661 => 1)) { #on handin of our custom token it flags for all older expansions and our current
quest::set_zone_flag(87);#1 burning woods
quest::set_zone_flag(103);#2 chardok
quest::set_zone_flag(90);#3 City of mist
quest::set_zone_flag(104);#4 dalnir
quest::set_zone_flag(86);#5 dreadlands
quest::set_zone_flag(106);#6 cabeast
quest::set_zone_flag(82);#7 cabwest
quest::set_zone_flag(94);#8 emeraldjungle
quest::set_zone_flag(78);#9 fieldofbone
quest::set_zone_flag(84);#10 firiona
quest::set_zone_flag(92);#11 frontiermtns
quest::set_zone_flag(105);#12 charasis
quest::set_zone_flag(88);#13 kaesora
quest::set_zone_flag(102);#14 karnor
quest::set_zone_flag(97);#15 Kurn
quest::set_zone_flag(85);#16 lakeofillomen
quest::set_zone_flag(107);#17 nurga
quest::set_zone_flag(89);#18 sebilis
quest::set_zone_flag(91);#19 skyfire
quest::set_zone_flag(83);#20 swampofnohope
quest::set_zone_flag(96);#21 timorous
quest::set_zone_flag(95);#22 trakanon
quest::set_zone_flag(108);#23 veeshan
quest::set_zone_flag(79);#24 warsliks
#quest::set_zone_flag(81);#25 droga
quest::set_zone_flag(93);#26 overthere
quest::set_zone_flag(117);#Velious start
quest::set_zone_flag(121);
quest::set_zone_flag(116);
quest::set_zone_flag(111);
quest::set_zone_flag(118);
quest::set_zone_flag(127);
quest::set_zone_flag(110);
quest::set_zone_flag(181);
quest::set_zone_flag(113);
quest::set_zone_flag(126);
quest::set_zone_flag(123);
quest::set_zone_flag(75 );
quest::set_zone_flag(125);
quest::set_zone_flag(114);
quest::set_zone_flag(128);
quest::set_zone_flag(124);
quest::set_zone_flag(115);
quest::set_zone_flag(129);
quest::set_zone_flag(112);
quest::set_zone_flag(119);
quest::set_zone_flag(120);
quest::set_zone_flag(114);#velious end


	
	
	
 	
if(plugin::check_handin(\%itemcount,132661 => 1)) {

if ($qglobals{flagging} >= 2 ) {
	$client->Message(15,"You are already flagged to enter Velious zones");
	quest::summonitem(132661);
							}
	if ($qglobals{flagging} < 2 ) {
	$client->Message(15,"You are now flagged to enter Velious zones");
 quest::setglobal("flagging", 2, 5, "F");
 quest::summonitem(132661);
								} 
 

}

else {
plugin::return_items(\%itemcount);
plugin::Whisper("I don't need this!");
}
}
}
To issue a guild based flag

Code:
sub EVENT_KILLED_MERIT
{

quest::setglobal("$uguild_id Phara Dar",1,7,'F');
}
will effectively show Phara Dar has been killed! when the saylink is either said or clicked for pharadar
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
Reply


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 05:16 PM.


 

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