Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Support > Archive::Tutorials/Howto's > Tutorials--Outdated Use the Wiki > Tutorials::Discussion

Tutorials::Discussion Discuss Tutorials here. Do NOT POST tutorials here, they belong on the wiki.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-26-2004, 10:20 AM
cofruben
Old-EQEmu Developer
 
Join Date: Oct 2002
Location: Spain
Posts: 323
Default HOWTO: Create adventures(10/27/2004)

Hi all...just implemented the adventure system,I did not tell anything about how to create one,so I will explain it here:

1.First of all,make sure you have sourced the adventures.sql file.
2.Once done,in your DB,you will see two new tables,complete the first one:

->adventures_maintext : this is the table which containts the main text of a NPC.This text will be sent when someone clicks on the recruiter(class number 60).There,you should set the Recruiter ID(npc id of the npc with class 60),and the text that you wanna send everytime someone clicks on him.

3.Complete the last one:
->adventures:This is the main table,where all the stuff are in.

-Quest ID:set it as you want...it must be an unique id.

-NPC ID:again,the npc id.

-Type:There are four types,but we will use three.(0 is collect,1 is mass kill,and 2 is kill a named).

-Text:description of the adventure.

-Objetive:
1.Type 0(collect):must be the item ID to collect.
2.Type 1(mass kill):set it to 0.
3.Type 2(named kill):must be the NPC type id to kill.

-Objetive value:
1.Type 0:enter the number of items you want to collect.
2.Type 1:enter the number of mobs you want to kill.
3.Type 2: does not matter.


-Minutes:minutes given to finish the adventure.

-Points:points given to the client when success.

-ShowCompass:if set to '1',it will show the compass with the specified x and y,in 'zoneid' Zone ID.

-Zone Dungeon ID:the zone id of the dungeon,this is the zone where the adventure takes place.

-X and Y:loc for the compass.

The other ones: do not use,except if your server get bugged or something,and the adventure is still being used,set in_use to 0,but it should set it automatically.

One more note,if you want the zone to be "instanced" (it is not real instancing,but will prevent other people joinning) set ldondungeon to 1,in zone table.With that set to 1,only the players with that zone id in his adventure,will be available to join that zone.

Sort of adventures:
1.Type 0: Collect adventure.
2.Type 1: Mass kill adventure.
3.Type 2: Boss kill adventure.

Please,ask any question.
Reply With Quote
  #2  
Old 10-26-2004, 10:44 AM
cofruben
Old-EQEmu Developer
 
Join Date: Oct 2002
Location: Spain
Posts: 323
Default

Examples:
-Adventure number one: when zoned to befallen,the timer(60 minutes) will start running,you will need to collect twenty rusty daggers(with id 2000,for example).:

Quest ID:1
NPC ID: 4 (set this to the recruiter id)
Type: 0 (loot)
Objetive:2000 (rusty dagger item id,for example)
Objetive value:20
Minutes:60
Points:30 (we will give 30 points for example).
ShowCompass:1
zoneid:23 (west commons,I think)
zonedungeonid:36 (befallen)
X and Y : 10,20 (set the entrance of the dungeon,for example)


-Adventure number two:when zoned to nexus,the timer will start running(105 minutes), you need to kill 65 mobs before the timer goes off.

Quest ID:2
NPC ID: 4 (set this to the recruiter id)
Type: 1 (mass kill)
Objetive:65 (65 mobs to kill)
Objetive value:65 (65 mobs to kill)
Minutes:105
Points:30 (we will give 30 points for example).
ShowCompass:1
zoneid:0
zonedungeonid:152 (nexus)
X and Y : (0,0)


-Adventure number three:when zoned to nexus,the timer will start running(10 minutes), you need to kill the boss called "Superlolman"(with npctypeid 35), before the timer goes off.

Quest ID:3
NPC ID: 4 (set this to the recruiter id)
Type: 2 (boss kill)
Objetive:35 (boss id = 35)
Objetive value:35 (boss id = 35)
Minutes:10
Points:15 (we will give 15 points for example).
ShowCompass:0
zoneid:0
zonedungeonid:152 (nexus)
X and Y : (0,0)


I hope this helps!
Reply With Quote
  #3  
Old 10-26-2004, 12:36 PM
Xabob's Avatar
Xabob
Discordant
 
Join Date: Feb 2004
Location: On your desktop
Posts: 387
Default

Very nice
__________________
[12:38] <RangerDown> I watched Napoleon Dynamite the other day
[12:39] <Xabob> omg
[12:39] <Xabob> want me to shoot you now?
[12:39] <RangerDown> and the first words out of my mouth at the start were:
[12:39] <RangerDown> Hey I bet Rog looks like that

Reply With Quote
  #4  
Old 10-26-2004, 01:35 PM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default

Great work!

FYI: The way you describe the npc ID suggest that on slaughter missions, we have to kill a certain number of the SAME npc to get points. On live, you get a point for killing any mob in the dungeon, as long as it was spawned from the adventure system (ie not triggered by a trap). Can you clarify which way it works here?
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
Reply With Quote
  #5  
Old 10-27-2004, 01:35 AM
cofruben
Old-EQEmu Developer
 
Join Date: Oct 2002
Location: Spain
Posts: 323
Default

btw...adventures.sql file:
Code:
CREATE TABLE `adventures` (
  `QuestID` int(11) NOT NULL default '0',
  `NPCID` int(11) NOT NULL default '0',
  `Type` tinyint(4) NOT NULL default '0',
  `Text` text NOT NULL,
  `Objetive` int(11) NOT NULL default '0',
  `ObjetiveValue` int(11) NOT NULL default '0',
  `Minutes` int(11) NOT NULL default '0',
  `Points` int(11) NOT NULL default '0',
  `ShowCompass` tinyint(1) NOT NULL default '0',
  `zoneid` int(11) NOT NULL default '0',
  `zonedungeonid` int(11) NOT NULL default '0',
  `X` float NOT NULL default '0',
  `Y` float NOT NULL default '0',
  `status` int(11) NOT NULL default '0',
  `char1` int(11) NOT NULL default '0',
  `char2` int(11) NOT NULL default '0',
  `char3` int(11) NOT NULL default '0',
  `char4` int(11) NOT NULL default '0',
  `char5` int(11) NOT NULL default '0',
  `char6` int(11) NOT NULL default '0',
  `in_use` tinyint(1) NOT NULL default '0'
) TYPE=MyISAM; 

CREATE TABLE `adventures_maintext` (
  `NPCID` int(11) NOT NULL default '0',
  `Text` text NOT NULL
) TYPE=MyISAM; 

alter table zone add column ldondungeon bool not null default 0;
Reply With Quote
  #6  
Old 10-30-2004, 09:17 AM
phasepuma
Sarnak
 
Join Date: Jun 2004
Posts: 69
Default

cofruben strikes again, great job.
Reply With Quote
  #7  
Old 11-02-2004, 09:41 AM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default

Maybe I should point out that you misspelled the field names Objective, and ObjectiveValue. Thought I'd point that out before the cat's out of the bag and it's too late to change the field names.

/em walks off muttering something about Spaniards and their missing C's...
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
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:30 AM.


 

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