PDA

View Full Version : Tasks: Castlen Drewe


Domel
06-08-2009, 04:30 PM
I was checking out the task system and threw these together from what info I could gather from Allah. I put my id numbers over 100 so they would be away from the other tasks in the db.

The Highpass one would'nt work for me on the SoF client, since it doesn't seem to want to load the old zone version, but it worked fine for me with Titanium.

Pok_armor_tasks.sql (DB_Version 610)
INSERT INTO `activities` VALUES (130,0,0,2,'Sand scarabs','','Kill five sand scarabs',117,1,5,0,34,0),(130,1,0,2,'Giant rattlesnakes','','Kill five giant rattlesnakes',118,1,5,0,34,0),(130,2,0,3,'Giant scarab egg sack','','Loot one giant scarab egg sack',13262,0,1,0,34,0),(130,3,0,3,'Spider venom sack','','Loot one spider venom sack',14018,0,1,0,34,0),(130,4,1,4,'Castlen Drewe','','Return to Castlen Drewe.',202294,0,1,0,202,0),(131,0,0,2,'Greater wisp','','Kill 10 Greater wisps',119,1,10,0,25,0),(131,1,1,5,'','','Explore the wizard\'s platform',101,0,1,0,25,0),(131,2,1,5,'','','Explor e the zone to Lavastorm ',102,0,1,0,25,0),(131,3,2,4,'Castlen Drewe','','Speak with Castlen Drewe ',202294,0,1,0,202,0),(132,0,0,5,'','','Explore the chessboard',101,0,1,0,68,0),(132,1,0,2,'','','Kill 4 undead pawns',120,1,4,0,68,0),(132,2,1,5,'','','Explore the haunted tower',102,0,1,0,68,0),(132,3,1,2,'','','Kill 4 dwarf skeletons',121,1,4,0,68,0),(132,4,2,4,'','','Speak with Castlen Drewe',202294,0,1,0,202,0),(133,0,0,5,'','','Explo re the Highpass Hold zone',101,0,1,0,20,0),(133,1,1,2,'','','Kill 3 invading orcs',122,1,3,0,5,0),(133,2,2,2,'','','Kill 3 invading gnolls',123,1,3,0,5,0),(133,3,3,4,'','','Talk to Castlen Drewe',202294,0,1,0,202,0),(134,0,0,5,'','','Explo re the entrance to Blackburrow',101,0,1,0,4,0),(134,1,1,2,'','','Kill 10 gnoll guardsmen',124,1,10,0,17,0),(134,2,2,5,'','','Expl ore the zone to Everfrost',101,0,1,0,17,0),(134,3,3,4,'','','Speak with Castlen Drewe',202294,0,1,0,202,0),(135,0,0,5,'','','Disco ver the secret entrance to Permafrost',101,0,1,0,30,0),(135,1,1,3,'','','Loot 1 permafrost crystal ',22121,0,1,0,73,0),(135,2,1,2,'','','Kill 15 ice goblins',125,1,15,0,73,0),(135,3,2,1,'','','Delive r the permafrost crystals to Audri Deepfacet ',22121,0,1,202069,202,0),(136,0,0,5,'','','Explor e the bridge to Prince Bragnar',101,0,1,0,101,0),(136,1,0,2,'','','Kill 5 Kobold Protectors',126,1,5,0,101,0),(136,2,0,3,'','','Loo t 10 Kobold Hides',13424,0,10,0,101,0),(136,3,0,3,'','','Loot 10 Kobold Meat',22799,0,10,0,101,0),(136,4,1,4,'','','Speak with Castlen Drewe',202294,0,1,0,202,0);

INSERT INTO `goallists` VALUES (117,34005),(117,34020),(117,34026),(117,34040),(1 17,34048),(118,34010),(118,34017),(118,34021),(118 ,34031),(118,34039),(119,25074),(119,25075),(119,2 5076),(120,68030),(120,68036),(120,68158),(121,680 16),(121,68034),(121,68041),(122,5001),(122,5002), (122,5003),(122,5078),(122,5079),(122,5080),(122,5 082),(122,5083),(122,5084),(122,5085),(122,5089),( 122,5108),(122,5109),(122,5112),(122,5114),(122,51 30),(123,5075),(123,5076),(123,5077),(123,5081),(1 23,5086),(123,5090),(123,5110),(123,5111),(123,511 3),(123,5115),(123,5117),(123,5124),(124,17009),(1 24,17010),(124,17012),(124,17016),(124,17031),(124 ,17039),(125,73001),(125,73002),(125,73005),(125,7 3007),(125,73008),(125,73009),(125,73010),(125,730 12),(125,73014),(125,73015),(125,73017),(125,73019 ),(125,73021),(125,73034),(125,73062),(125,73105), (126,101035),(126,101045),(126,101054);

INSERT INTO `proximities` VALUES (25,101,-860.000000,-650.000000,340.000000,550.000000,-5.000000,100.000000),(25,102,580.000000,720.000000 ,2750.000000,2780.000000,-20.000000,100.000000),(68,101,-2750.000000,-2170.000000,440.000000,990.000000,-10.000000,120.000000),(68,102,600.000000,776.00000 0,-1544.000000,-1477.000000,-10.000000,120.000000),(20,101,4800.000000,4900.000 000,380.000000,482.000000,650.000000,750.000000),( 4,101,-1063.000000,-972.000000,3360.000000,3456.000000,-10.000000,100.000000),(17,101,-320.000000,-277.000000,28.000000,48.000000,0.000000,15.000000) ,(30,101,-6326.000000,-6267.000000,3126.000000,3236.000000,-70.000000,-10.000000),(101,101,-618.000000,-549.000000,380.000000,445.000000,-100.000000,-48.000000);

INSERT INTO `tasks` VALUES (130,0,'Desert Crawl','[1,Do stuff in North Ro]','Sandworn Cloak',83178,0,100,0,34,0,0,1),(131,0,'Elusive Wisps','[1,Do stuff in Nektulos Forest]','Wispglow Earring',83179,0,100,0,25,0,0,1),(132,0,'Haunted Butcherblock','[1,Do stuff in Butcherblock]','Ghostly Shroud',83176,0,100,0,68,0,0,1),(133,0,'Protecting the High Pass','[1,DON\'T PICK ME !! Game will crash trying to enter Highpass :(]','Highpass Signet',83181,0,100,0,20,0,0,1),(134,0,'Scouting Blackburrow','[1,Scouts on patrol in the Qeynos Hills have been reporting an increase in aggressive gnoll activity. It seems that an unusual number of guardsmen have been seen roving through Blackburrow, as if they are gearing up for some sort of attack. Take the portal to Qeynos and venture to Blackburrow to investigate.][2,Find a way to thin the ranks of guardsmen. If they are planning something, we will need them to be as weakened as possible.][3,Check passages leading out into Everfrost for any further clues to the objectives of the gnolls. If they are heading into Halas, we may have time to warn them.][4,It seems that our scouts managed to alert us before the gnolls were fully prepared. Excellent work! Return to Castlen Drewe in the Plane of Knowledge.]','Gnollish Guardian Ring',83177,0,100,0,4,0,0,1),(135,0,'The Frozen Crystal','[1,Buried in the frigid peaks of Everfrost lies a dangerous place by the name of Permafrost Keep. It is tended by all manner of goblins that seem to thrive despite the chilling temperatures. A jeweler by the name of Audri Deepfacet claims to have found a special crystal there. No one has been able to verify her story, and she failed to bring back a sample. We believe that it may have some special power, providing it exists of course. <br><br>Travel to Everfrost and find the secret back entrance to Permafrost Keep. The front way is guarded by vast ice giants and may be impassible.][2,3,Slay any goblins that get in your way, and find the Permafrost Crystal!][4,Bring the crystal to Audri Deepfacet in the Plane of Knowledge.]','Crystalflame Sphere',83182,0,100,0,30,0,0,1),(136,0,'Within the Warrens','[1,Head to The Warrens on Odus and explore the bridge to Prince Bragnar]','Kobold Hide Mask',83180,0,100,0,101,0,0,1);

INSERT INTO `tasksets` VALUES (10,130),(10,131),(10,132),(10,133),(10,134),(10,1 35),(10,136);

These next 2 need to go into quests/poknowledge folder:

Castlen_Drewe.pl
#############
#Quest Name:7 Armor Tasks given by Castlen Drewe
#Author: Domel
#NPCs Involved: 2 [Castlen Drewe(202294) and Audri Deepfacet(202069)]
#Items Involved: 1 Permafrost Crystals(22121)
#################


sub EVENT_SAY {

if ($text=~ /Hail/i){
quest::say("Greetings and welcome. I have been compiling reports from all over Norrath! There are many odd jobs to be done by someone like you. Would you be interested in such a [quest]?");
}
if ($text=~ /quest/i){
quest::enabletask(130,131,132,133,134,135,136);
quest::tasksetselector(10);
}



}

#END of FILE Zone:poknowledge ID:202294 -- Castlen_Drewe

Audri_Deepfacet.pl
#############
#Quest Name:Turnin NPC for one Armor Task given by Castlen Drewe
#Author: Domel
#NPCs Involved: 2 [Castlen Drewe(202294) and Audri Deepfacet(202069)]
#Items Involved: 1 Permafrost Crystals(22121)
#################

sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("Greetings. traveler. and welcome to New Tanaan. You will find that there is much to be gained in the way of knowledge here. Knowledge not only of the mind. but of skill. I am an adept jeweler and have offered my services to the city to repay its gracious host to me over the years. Please. feel free to search my inventory and purchase that which you might fancy."); }
}

sub EVENT_ITEM {
if(plugin::check_handin(\%itemcount, 22121 => 1)) {#Permafrost crystal
quest::say("It is so lovely, just as I saw before! I believe I can fashion something quite nice for you out of it. I need only a chip to study for myself. Thanks so much! ");
}
}

#END of FILE Zone:poknowledge ID:202069 -- Audri_Deepfacet

cavedude
06-09-2009, 07:50 PM
Outstanding work, thank you! I am currently adding task support to the PHP editor, and once that is done I'll get in this and a few other submitted tasks into PEQ.

caylah023
06-15-2009, 09:55 PM
would love to use tasks but as ive barely as ive just barely got perl down...tasks are making me kinda scurred.

cavedude
06-15-2009, 10:02 PM
Task actually are mostly DB driven, and there are two GUI tools to aid in writing them. One is a standalone program called Task Master from KLS found on EQEmu SVN: http://code.google.com/p/projecteqemu/downloads/list and the other is the PEQ PHP Editor: http://code.google.com/p/peqphpeditor/source/checkout

The little bit of Perl you need for tasks is usually limited to no more than a few lines.

Domel
06-16-2009, 05:46 AM
I love the task system, once I saw it was up and running I had to try to learn it. I basically used the wiki on it http://http://www.eqemulator.net/wiki/wikka.php?wakka=CategoryTaskSystem and modified my database using MySQL Query Browser. I didn't realize that KLS made the Task Master program for it until after I finished these, but I am just now learning about database stuff so I'm glad I did it the way I did, I learned soo much. I know pretty much nothing about Perl, I grabbed code from other files for what I used.

I like to keep my database up to date with PEQ so I kept my ID numbers at 100+ and modified a bat file that Nosfentora made for botbackup to backup my tasks :

Taskbackup.bat
@echo off
cls
REM Change these variables to suit your setup

REM the name of your database
set db=peq

REM the ip of your MySQL server, leave as is if local
REM -h prefix is needed if remote
set ip=-h127.0.0.1

REM Your database password, leave blank to enter manually
set pass=******

REM the folder to backup to (created in the current folder), set to . to not create a folder
set backupdir=backup
REM the name of the task backup file to create
set backupfile=taskbackup.sql

echo **************************************
echo *** Backing up Tasks ***
echo **************************************
if backupdir==. goto :end
dir .\ /a:d | find /i "%backupdir%" > nul
if errorlevel 1 goto notfound
goto :end
:notfound
md %backupdir%
:end

echo *** Dumping Activities... ***
mysqldump -u root -p%pass% %ip% "--where=taskid>'100'" -x -t %db% activities >> %backupdir%\%backupfile%
echo *** Dumping Goal Lists... ***
mysqldump -u root -p%pass% %ip% "--where=listid>'100'" -x -t %db% goallists >> %backupdir%\%backupfile%
echo *** Dumping Proximities... ***
mysqldump -u root -p%pass% %ip% "--where=exploreid>'100'" -x -t %db% proximities >> %backupdir%\%backupfile%
echo *** Dumping Tasks... ***
mysqldump -u root -p%pass% %ip% "--where=id>'100'" -x -t %db% tasks >> %backupdir%\%backupfile%
echo *** Dumping Task Sets... ***
mysqldump -u root -p%pass% %ip% "--where=taskid>'100'" -x -t %db% tasksets >> %backupdir%\%backupfile%
echo *** Done dumping! ***
echo **************************************
echo To re-source the tasks source '%backupdir%\%backupfile%'
pause


The next time I do tasks, I'll try out KLS's program, it looks like it'll help alot :cool: