Very simple task system quest
I know there's an awesome quest wiki walkthrough, but I wrote this to streamline the quest NPC process for simple Kill X things and report back tasks. He also gives SoW once task is completed.
First for DB entries: #Step 1: Find Latest Task ID handed out. SELECT * FROM tasks ORDER BY id DESC LIMIT 1; #take ID value and increment it by 1, for this example I will use the value 666. Startzone can be found in your EQEmuServer/common/ZoneNumbers.h if you have source. I use 118 for my zonenumber. #Step 2: Insert new task, title. insert into tasks (id, duration, title, description, reward, rewardid, cashreward, xpreward, rewardmethod, startzone, minlevel, maxlevel, repeatable) VALUES(666, 0, 'Snow Orc Hunt!', '', 'Experience', 0, 0, 0, 2, 118, 0, 0, 0); #Step 3: Add activities. #Step 3.1: Make kill X things activity entry. insert into activities (taskid, activityid, step, activitytype, text1, goalcount, zoneid, goalid, goalmethod ) VALUES(666, 0, 0, 2, "Snow Orcs", 20, 118, 666, 1); #Step 3.2: Make return to NPC activity entry. insert into activities (taskid, activityid, step, activitytype, text1, goalcount, zoneid) VALUES(666, 1, 1, 4, "Bob Barker", 1, 118 ); #Now you notice I added a goalid of 666, and goalmethod of 1. This is to populate a list of potential goal ID's in the goallist that reward the task. You can use this syntax to add goals: #Step 4: Add goallists. entry is the NPCTypeID. So e.g. change 118018 to your npcid, you can list as many as needed here. These are the NPC's that trigger the quest counters. INSERT INTO goallists (listid, entry) VALUES (666, 118018 ), (666, 118019), (666, 118020), (666, 118021); Then you write the quest dialog, found in the <emuroot>\quests\zone\NPC_NAME.pl file. Code:
#Put the ItemID/NPC name of your NPC here. |
All times are GMT -4. The time now is 07:20 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.