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 07-28-2008, 10:38 PM
Neiv
Hill Giant
 
Join Date: May 2008
Location: Colorado
Posts: 238
Default

Thanks. I've looked at both scripts and experimented a bit with them, but can't seem to figure out what's going on with them (nothing like this in the Lexicon).
Reply With Quote
  #2  
Old 07-28-2008, 10:55 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

This is part of a script I made by using the Tunare script as an example and it works perfectly:

Code:
sub EVENT_ATTACK {

  my $guardian_one = $entity_list->GetMobByNpcTypeID(2700500);
  my $guardian_two = $entity_list->GetMobByNpcTypeID(2700501);
  my $guardian_three = $entity_list->GetMobByNpcTypeID(2700502);
  my $guardian_four = $entity_list->GetMobByNpcTypeID(2700503);
  my $guardian_five = $entity_list->GetMobByNpcTypeID(2700504);
  my $guardian_six = $entity_list->GetMobByNpcTypeID(2120410);

  if ($guardian_one) {
    my $hate_guardian_one = $guardian_one->CastToNPC();
    $hate_guardian_one->AddToHateList($client, 1); }

  if ($guardian_two) {
    my $hate_guardian_two = $guardian_two->CastToNPC();
    $hate_guardian_two->AddToHateList($client, 1); }

  if ($guardian_three) {
    my $hate_guardian_three = $guardian_three->CastToNPC();
    $hate_guardian_three->AddToHateList($client, 1); }

  if ($guardian_four) {
    my $hate_guardian_four = $guardian_four->CastToNPC();
    $hate_guardian_four->AddToHateList($client, 1); }

  if ($guardian_five) {
    my $hate_guardian_five = $guardian_five->CastToNPC();
    $hate_guardian_five->AddToHateList($client, 1); }

  if ($guardian_six) {
    my $hate_guardian_six = $guardian_six->CastToNPC();
    $hate_guardian_six->AddToHateList($client, 1); }
    
}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 07-28-2008, 11:29 PM
Neiv
Hill Giant
 
Join Date: May 2008
Location: Colorado
Posts: 238
Default

Thanks Trevius,

My event is a SAY, not an ATTACK. The player hails the king to trigger the guards. The guards do not attack if the player is turning in the Grail. They also do not attack if the player has ally status--only when he is less than ally and has no grail to turn in. Would it then be something like?
Quote:

sub EVENT_SAY
{
if($text=~/hail/i)
{
if(plugin::check_hasitem($client, 13732))
{
quest::say("What is this? You bring good tidings indeed, $name! Give me the Grail, and together we shall defeat the Enemy. As for you, $name . . . be assured that you shall not fail to be rewarded for showing such kindness to our Kingdom. Your stature and your bank will be increased, and you will be made a full citizen of the Kingdom. But come now; we must act quickly. Give me the Grail.");
}
elsif($faction >= 2)
{
my $guard_one = $entity_list->GetMobByNpcTypeID(999139);
my $guard_two = $entity_list->GetMobByNpcTypeID(999140);

if ($guard_one) {
my $hate_guard_one = $guard_one->CastToNPC();
$hate_guard_one->AddToHateList($client, 1); }

if ($guard_two) {
my $hate_guard_two = $guard_two->CastToNPC();
$hate_guard_two->AddToHateList($client, 1);

quest::say("Why should I suffer the likes of you? You shall pay for your presumptuousness.");
quest::shout("GUARDS!");
}
else
{
quest::say("Do you not see I have enough [trouble] already? Why should I welcome you, $name? For your welcome here is doubtful");
}
}
Reply With Quote
  #4  
Old 07-28-2008, 11:59 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Do you mean if they have the grail in their inventory AND they have ally faction? Or if they have the grail OR ally faction? Do they need both to keep from being attacked, or just either one?

If they need both, I think it should be something like this:

Code:
sub EVENT_SAY {

  if($text=~/hail/i) {

    if(plugin::check_hasitem($client, 13732)&&($faction >= 2)) {

      quest::say("What is this? You bring good tidings indeed, $name! Give me the Grail, and together we shall defeat the Enemy. As for you, $name . . . be assured that you shall not fail to be rewarded for showing such kindness to our Kingdom. Your stature and your bank will be increased, and you will be made a full citizen of the Kingdom. But come now; we must act quickly. Give me the Grail."); }

    else {

       quest::say("Why should I suffer the likes of you? You shall pay for your presumptuousness.");
       quest::shout("GUARDS!");

my $guard_one = $entity_list->GetMobByNpcTypeID(999139);
my $guard_two = $entity_list->GetMobByNpcTypeID(999140);

      if ($guard_one) {
my $hate_guard_one = $guard_one->CastToNPC();
$hate_guard_one->AddToHateList($client, 1); }

      if ($guard_two) {
my $hate_guard_two = $guard_two->CastToNPC();
$hate_guard_two->AddToHateList($client, 1); }
    
    }

  }

}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 07-29-2008, 12:23 AM
Neiv
Hill Giant
 
Join Date: May 2008
Location: Colorado
Posts: 238
Default

Quote:
Originally Posted by trevius View Post
Do you mean if they have the grail in their inventory AND they have ally faction? Or if they have the grail OR ally faction? Do they need both to keep from being attacked, or just either one?
Either one. They can be dubious, but if they have the grail, they won't be attacked. If they are ally and have no grail they won't be attacked. They are attacked only if the have no ally status AND they have no grail.
Reply With Quote
  #6  
Old 07-29-2008, 12:51 AM
Neiv
Hill Giant
 
Join Date: May 2008
Location: Colorado
Posts: 238
Default

I used your script and made the proper adjustments, and it is working now. Thanks Trevius, you're awesome!
Reply With Quote
  #7  
Old 07-29-2008, 07:17 AM
Neiv
Hill Giant
 
Join Date: May 2008
Location: Colorado
Posts: 238
Default

On a related note, is this basically the same script I would use if I want all of a certain npctype in a zone to attack a player who enters that zone if he has the grail in his inventory. Is there an Event that could trigger an attack upon zone entry, perhaps with a 15-sec delay to give the unsuspecting player time to move away from zonelines?
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 04:30 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