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 06-30-2009, 12:46 AM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default Proximity and hasitem

I am trying to make something that will basically move someone away if they don't have an item in their inventory and then let them pass by if they do have it.
Code:
sub EVENT_SPAWN{
my $x;
my $y;
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity( $x-30,$x+30,$y-5,$y+5);
} 

sub EVENT_ENTER{
if(plugin::check_hasitem($client, 1531)) {
 quest::emote("You pass beyond the barrier");
 }
elsif{
 quest::movechar(189,0,0,0);
 }
}
Nothing happens either way. I never really use proximities, so I'm sure this is another simple mistake
Reply With Quote
  #2  
Old 06-30-2009, 01:36 AM
Sion
Fire Beetle
 
Join Date: Jun 2008
Location: -
Posts: 14
Default

This should work:
Code:
sub EVENT_SPAWN {
my $x;
my $y;
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity( $x-30,$x+30,$y-5,$y+5);
} 

sub EVENT_ENTER {
if(plugin::check_hasitem($client, 1531)) {
 quest::emote("You pass beyond the barrier");
 }
else{
 quest::movepc(189,0,0,0);
 }
}
It looks like you used elseif instead of else and used quest::movechar when its supposed to be quest::movepc.
Reply With Quote
  #3  
Old 06-30-2009, 01:48 AM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

Does elsif really not work? I have it in another quest where it works fine
Reply With Quote
  #4  
Old 06-30-2009, 01:55 AM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

The elsif statement is used to check another condition. The else statement is used when there is no other condition to check.

Example:

Code:
if ($faction == 1)
{
  quest::say("Faction 1!");
}
elsif ($faction == 2)
{
  quest::say("Faction 2!");
}
else
{
  quest::say("Faction 3+!");
}
Reply With Quote
  #5  
Old 06-30-2009, 02:08 AM
Sion
Fire Beetle
 
Join Date: Jun 2008
Location: -
Posts: 14
Default

elsif works but in this case you would want to just use else. elsif is basically an else statement and an if statement combined.
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 11:10 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