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 01-02-2016, 08:18 PM
Excuses
Hill Giant
 
Join Date: Mar 2015
Posts: 126
Default Quest questions

Hey guys, i have looked around but haven't found a topic yet, i have a question.

I am more experienced in php, perl seems quite similiar but it is a new feeling to fiddle with, if i already have an item from an npc after hailing,

is there a if (hasitem == 0) { etc etc }else{ moving onto next conversation } function already built inside?
Reply With Quote
  #2  
Old 01-02-2016, 08:26 PM
tearinall
Fire Beetle
 
Join Date: Oct 2012
Posts: 9
Default

Yes
Code:
if ($value == 5) {
  ## do this stuff
}
elsif ($value == 6) {
  ## do this stuff instead
}
elsif ($value == 8) {
  ## no no, do this stuff
}
else {
  ## no previous conditionals met so do this
}
Reply With Quote
  #3  
Old 01-02-2016, 09:17 PM
Excuses
Hill Giant
 
Join Date: Mar 2015
Posts: 126
Default

Thanks mate, replacing $value with item related
Reply With Quote
  #4  
Old 01-03-2016, 02:20 AM
tearinall
Fire Beetle
 
Join Date: Oct 2012
Posts: 9
Default

Quote:
Originally Posted by Excuses View Post
Thanks mate, replacing $value with item related
Oh, sorry, I didn't catch the "hasitem"

Code:
if (plugin::check_hasitem($client, $itemnum)) {
Reply With Quote
  #5  
Old 01-04-2016, 05:00 PM
Excuses
Hill Giant
 
Join Date: Mar 2015
Posts: 126
Default

Thanks mate!
Reply With Quote
  #6  
Old 01-04-2016, 06:21 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

This is a sample of something I am using for a handin right now, which works for me.

Code:
if (plugin::check_handin(\%itemcount, 13005 => 1) && ($ulevel > 14)) {
__________________
Hanging out at Antonica.World
Reply With Quote
  #7  
Old 01-04-2016, 07:22 PM
Excuses
Hill Giant
 
Join Date: Mar 2015
Posts: 126
Default

Quote:
Originally Posted by Huppy View Post
This is a sample of something I am using for a handin right now, which works for me.

Code:
if (plugin::check_handin(\%itemcount, 13005 => 1) && ($ulevel > 14)) {
Would there be a plugin that handles if taskiscomplete? e.x

Code:
if(quest::istaskcompleted(114)) {
		if($text=~/Yissen/i) {
			plugin::Whisper("Good! I hope he is doing his job, I have a $task for you."); 
		}elsif{
			plugin::Whisper("Seek him out before me, friend.");
		}
	}
Making sure previous task is complete, to move on?
Reply With Quote
  #8  
Old 01-04-2016, 08:02 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

You'll want to do this backwards:
Code:
if (plugin::check_handin(\%itemcount, 13005 => 1) && ($ulevel > 14)) {
Should be:
Code:
if ($ulevel > 14 && plugin::check_handin(\%itemcount, 13005 => 1)) {
The reason being, you can meet the check_handin but fail the level check and the NPC will eat your items. So you want to check other criteria first.
Reply With Quote
  #9  
Old 01-04-2016, 08:04 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Quote:
Originally Posted by Excuses View Post
Would there be a plugin that handles if taskiscomplete? e.x

Code:
if(quest::istaskcompleted(114)) {
        if($text=~/Yissen/i) {
            plugin::Whisper("Good! I hope he is doing his job, I have a $task for you."); 
        }elsif{
            plugin::Whisper("Seek him out before me, friend.");
        }
    }
Making sure previous task is complete, to move on?
As for your question, check this page: http://wiki.eqemulator.org/p?Task_Sy...sk_System_Main

Note: 'elsif' is invalid due to there being no conditional in parentheses. If you do not have an elsif condition just use 'else'.
Reply With Quote
  #10  
Old 01-04-2016, 09:05 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

Quote:
Originally Posted by Kingly_Krab View Post
You'll want to do this backwards:
Code:
if (plugin::check_handin(\%itemcount, 13005 => 1) && ($ulevel > 14)) {
Should be:
Code:
if ($ulevel > 14 && plugin::check_handin(\%itemcount, 13005 => 1)) {
The reason being, you can meet the check_handin but fail the level check and the NPC will eat your items. So you want to check other criteria first.
Oh, I see what you mean, but I have an else statement as well, which does indeed cause
the npc to eat the item if the level is not met. (along with a rude comment for player), haha
__________________
Hanging out at Antonica.World
Reply With Quote
  #11  
Old 01-04-2016, 09:49 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Quote:
Originally Posted by Huppy View Post
Oh, I see what you mean, but I have an else statement as well, which does indeed cause
the npc to eat the item if the level is not met. (along with a rude comment for player), haha
Haha, that's quite cruel.
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 07:14 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