EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Task System (preliminary work) (https://www.eqemulator.org/forums/showthread.php?t=25894)

Congdar 10-27-2008 03:35 PM

returns 1 row id=12 Extraordinary Rodents

Derision 10-27-2008 03:50 PM

That's your problem then, you have entries in your activities table for tasks 1 through 11, but those tasks don't have entries in the task table.

Congdar 10-27-2008 03:57 PM

so, how'd they get there and how do I delete them if that's the fix?
all I did was source in the sql from svn, i didn't actually try and use the task system.

Derision 10-27-2008 04:09 PM

Code:

delete from activities where taskid < 12;
1_task_system.sql in SVN has the activities for my example tasks, but not the task rows for them, so anyone who has sourced this should execute this delete.

Congdar 10-27-2008 04:25 PM

should I clear out tasksets as well? is there a "reset" of this task system?

Why would I delete them as you suggest above? They were part of the svn sql additions. Were they changed/corrected at some point maybe after I had already done the imports? I'd like to have it set up the way you intended but it seems to not be working correctly for me.

the rules relating to the task system... I don't have any in my rules table as I'm taking the default from the code settings. Does there need to be a non-default change in the database rule_values to have them work correctly?

joligario 10-27-2008 04:42 PM

You can just add the sample tasks rather than delete them. Makes your DB more complete.

Derision 10-27-2008 04:48 PM

My sample tasks 1 to 11, along with accompanying Perl quests and notes on the sample tasks are linked in this thread:

http://eqemulator.net/forums/showthread.php?t=26302

If you source the SQL from that thread, it will drop and recreate all the task related tables, and you will then need to execute the following SQL, as that thread predates these changes:

Code:

ALTER TABLE `tasks` DROP `stepped` ;
ALTER TABLE `tasks` ADD `minlevel` TINYINT UNSIGNED NOT NULL DEFAULT '0',
ADD `maxlevel` TINYINT UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `tasks` ADD `repeatable` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '1';


To 'reset' the task system, if you should ever want to:

Code:

truncate tasks;
truncate activities;
truncate character_tasks;
truncate character_activities;
truncate character_enabledtasks;
truncate completed_tasks;
truncate goallists;
truncate proximities;
truncate tasksets;

The default rule values are fine, no need to change them in the database.

Congdar 10-29-2008 09:53 AM

thank you, all the logging errors are gone now.

Grundy 05-12-2010 10:19 PM

If the activity is to collect a number of items and it hooks into Corpse::LootItem, does that mean there's no activity for picking up ground spawn items?

trevius 05-12-2010 10:49 PM

Since almost every aspect of the task system is exported to perl (huge thanks to Derision for being awesome like that), the possibilities with tasks are nearly limitless. You can simple add the pickup part into your player.pl and have it update your task when they pick the item up. I have it working in my custom Crescent Reach zone and it works great.

Grundy 05-12-2010 11:34 PM

Oh, cool. I didn't even know about that player.pl thing. I thought every quest was in a file with the NPC's name so I thought there were no quest functions for picking up items. I haven't done much quest editing because i don't know perl and i guess i'm too pampered at work using vb.net 2008 the IDE is so friendly and has intellisense and autocomplete i hate coding anything outside of visual studio now.


All times are GMT -4. The time now is 05:39 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.