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 10-21-2008, 07:01 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default Task nonrepeatable

Sorry if this is in the wikki or posted somewhere. I looked and did not see anything but I could have missed it.

Is there a way to make a task nonrepeatable?

Also, is there a way to make a NPC say something when a task is completed?
Reply With Quote
  #2  
Old 10-21-2008, 08:37 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Task shouldn't be available if it's done...

There's a couple ways to make npc respond after task was complete. The most obvious is to just have the npc handle the reward like any other quest turnin and have them quest::say in that then complete the step via perl.

A player event for task stage completion was just added too. Mostly I found having to dole out rewards when all I wanted was a simple additional effect to be a tad cumbersome. I'd rather have the system do the rewards for me if practical.

ex:
Code:
#player.pl
sub EVENT_TASK_STAGE_COMPLETE
{
	if($task_id == 1 && $activity_id == 1)
	{
		my $somenpc = $entity_list->GetMobByNpcTypeID(123456);
		if($somenpc){
			$somenpc->Say("Great work! You sure showed that task who's boss.");		
		}
		$somenpc = undef;
	}
}
Reply With Quote
  #3  
Old 10-21-2008, 09:42 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,497
Default

You can look at my tasks on PEQ. I knew that it would be a problem to have the NPC say something at the end of the task, so rather than having the task system update the task, have the NPC update the task. Then he can also say something before the final step is updated.

http://www.projecteq.net/phpBB2/viewtopic.php?t=5697
Reply With Quote
  #4  
Old 10-21-2008, 09:45 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,497
Default

To make a task non-repeatable, you could have the NPC check the completed tasks table for that specific ID and not issue the task if it is present.
Reply With Quote
  #5  
Old 10-22-2008, 05:01 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

I did consider adding a 'nonrepeatable' field, as well as allowable class/race fields to the task table, but didn't as I figured it was already complicated enough to create tasks, and this could be handled by Perl if needed. If the consensus is that any of these fields should be added, I would be happy to add them.
Reply With Quote
  #6  
Old 10-22-2008, 05:12 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I think as long as fields have defaults that work in 99% of all tasks and you only need to change them if you are doing something special, then making it more complex isn't really too bad.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 10-22-2008, 06:25 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

If you are up to putting a nonrepeatable field in I would be very grateful.
Currently I think the only way to keep a task from being repeated is to put it in a taskset then do something like this in the quest.

Code:
if(!quest::istaskcompleted(quest::lasttaskinset(1))) {
		# If the player has no tasks enabled for this task set, enable the first one
		if(quest::enabledtaskcount(1) == 0) {
			quest::say("You have not done any of my tasks before!");
			quest::enabletask(quest::firsttaskinset(1));
		}
Another method would be to check if the task is disabled but I did not see a perl quest command to do that.
Honestly I find writing tasks to be easier than quests if I use KLS taskmaster program.
Reply With Quote
  #8  
Old 10-22-2008, 06:25 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

There should definitely be a repeatable (default:false) field in there if you ask me. Most tasks aren't repeatable anyway. Asking people to keep track of that via quests kinda takes away from the ease via automation the system already has(same reasoning I added task_stage_complete event; tracking them via quests was too clumsy).
Reply With Quote
  #9  
Old 10-22-2008, 08:24 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,497
Default

From what I can tell, most tasks are repeatable... Especially when it came to doing the crystals. All the lower level tasks I have found are repeatable also.
Reply With Quote
  #10  
Old 10-22-2008, 09:19 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Either way, I agree a nice easy column to determine if it's repeatable or not would be awesome.
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 12:42 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