Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-04-2019, 11:18 PM
Sturm
Hill Giant
 
Join Date: Dec 2015
Posts: 116
Default

EVENT_PROXIMITY_SAY most certainly works...

Behold! Grand_Historian_Thoridain proper scripting:

Code:
my $counter;
my $count = 0;

sub EVENT_SPAWN {
	$x = $npc->GetX();
   	$y = $npc->GetY();
	quest::set_proximity($x - 50, $x + 50, $y - 50, $y + 50);
	$counter = 0;
	quest::settimer("lecture",110);
	quest::enable_proximity_say();
}

sub EVENT_PROXIMITY_SAY {
	if ($text=~/Oh Brell, Thank you for protecting me and seeing me through my trials. Forgive me for the things I think and say and do that displease you. Please reveal to me your will and bless me with the patience and obedience to do that which you desire. Amen./i) {
    $counter += 1;
    if ($counter == 1) {
      quest::signalwith(115230,33,0);
    }
    elsif ($counter == 2) {
      quest::signalwith(115230,66,0);
    }
    elsif ($counter == 3) {
      quest::signalwith(115230,99,0);
      quest::summonitem(1855);
      $counter = 0;
    }
  }
}

sub EVENT_SAY {
  if ($text=~/hail/i) {
    quest::signalwith(115015,99,0);
  }
}

sub EVENT_TIMER {
	$count++;
	if($count==1) {
		quest::say("We are taught from day one that the truth lies underfoot. It is simple common sense then, that the taller a being is, the farther his mind and heart are from the truth. Always be wary of those larger in stature than us.");
		quest::signal(115028,8000);
		quest::signal(115197,8000);
		quest::signal(115025,16000);
		quest::signal(115194,16000);
	}
	if($count==2) {
		quest::say("If we Coldain just work together, obeying Brell's teachings, nothing can stop us from overcoming our enemies. Even the Kromrif will fall before us if we are undivided. It is only when we stray from our fundamental knowledge that we are vulnerable.");
	}
	if($count==3) {
		quest::say("Allow me to share a short story from my youth. It begins when I was just tail high to a snow bunny. Instead of tending to my studies, I snuck out and participated in what was then our 300th annual snowball fighting tournament. . .");
		quest::settimer("lecture",70);
	}
	if($count==4) {
		quest::settimer("lecture",25);
		quest::signalwith(115022,1);
		quest::signalwith(115191,1);
		quest::signal(115021,8000);
		quest::signalwith(115022,2,8100);
		quest::signalwith(115191,2,8100);
	}
	if($count==5) {
		quest::say("Young Doriggan, perhaps you will find it easier to focus on my words from a standing position. That corner will do fine.");
		quest::signalwith(115022,3);
		quest::signalwith(115191,3);
		quest::settimer("lecture",110);
	}
	if($count==6) {
		quest::say("I have an important announcement to make today. The Dain has heard rumor of a faction of our brethren who openly oppose the crown. If you come forth with any information leading to the discovery of any such traitorous vermin you will be richly rewarded. Their fate most certainly lies at the bottom of the well.");
		$count = 0;
	}
}
		
sub EVENT_ITEM {
  if (plugin::check_handin(\%itemcount, 1418 => 1, 1428 => 1)) {
    quest::say("My compliments, $name, what a wonderful dish! Please accept my personal Seal as a token of my appreciation. May it give you power over your adversaries.");
    quest::summonitem(1422);
    quest::exp(200000);
    quest::faction(49,10); #coldain
    quest::faction(67,10); #dain
    quest::faction(188,-30); #krif
    quest::faction(189,-30); #kzek
  }
  elsif (plugin::check_handin(\%itemcount, 1428 => 1)) {
    quest::say("My compliments, $name, what a wonderful dish!");
    quest::exp(5000);
    quest::faction(49,10); #coldain
    quest::faction(67,10); #dain
    quest::faction(188,-30); #krif
    quest::faction(189,-30); #kzek
  }
  plugin::return_items(\%itemcount);
}
Enjoy!
__________________
Developer of the Imperium Server.
https://imperium-eq.com/
Reply With Quote
  #2  
Old 12-05-2019, 08:17 AM
strugglegenerator's Avatar
strugglegenerator
Hill Giant
 
Join Date: May 2012
Location: Minnesota
Posts: 232
Default

Thank you for posting this! It works!!! I was basing my event_proximity_say off the Event Subroutines example in the Quest API of Gitbook. This is what the example that I used has:

Code:
sub EVENT_SPAWN {
    #:: Create a proximity, 100 units across, 100 units tall, enable proximity say
    quest::set_proximity($x - 50, $x + 50, $y - 50, $y + 50, $z - 50, $z + 50, 1);
}

sub EVENT_PROXIMITY_SAY {
    #:: Match say message for "hail", /i for case insensitive
    if ($text=~/hail/i) {
        quest::say("Hello, $name!");
    }
}
However, in the code from Grand_Historian_Thoridain that you posted, I see a major difference:
Code:
quest::enable_proximity_say();
Looks like the example script on Gitbook just forget to add that important line of code, so that proximity say was never enabled. Thank you for pointing this out!!! What a huge waste of time LOL
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:08 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3