Addison

Joined: 24th Mar 2009
Posts: 1380
Quests[Release]
I had a lot of help from Apollo. He created the guide, and made a bunch of the test quest examples.
This isn't for EO+ quest help, if you have a question, create a new topic, or contact me or Apollo. If you're having trouble adding it in, you can post your errors here.
We have also made a guide for making quests and understanding the EO+ syntax: http://www.endless-edge.com/eoplus.htm
Before you start adding, you will need to create files needed. They can just be blank documents for now, I will show you what code needs to be added later.
Create these files and make sure to add them into your project(right-click the project in codeblocks and click addfiles):
src>quest.cpp
src>quest.hpp
src>handlers>Quest.cpp
src>fwd>quest.hpp
Place this into src>handlers>Quest.cpp: http://codepad.org/NztZ1Shx
Place this into src>handlers>Book.cpp(overwrite existing code): http://codepad.org/AO8Qdf5b
Place this into src>quest.cpp: http://codepad.org/e1lr40ql
If you are receiving an error like:
[ERR] Could not load quest file
[ERR] Logic Error: basic_string::_S_create
the way to fix it is by updating quest.cpp:
http://codepad.org/PJG2ONnb
Place this into src>quest.hpp: http://codepad.org/TBeHgGTP
Place this into src>fwd>quest.hpp:
/* $Id: party.hpp 168 2009-10-23 14:58:32Z sausage $
* EOSERV is released under the zlib license.
* See LICENSE.txt for more info.
*/
#ifndef FWD_QUEST_HPP_INCLUDED
#define FWD_QUEST_HPP_INCLUDED
struct Rule;
struct Action;
struct State;
class Quest;
#endif // FWD_QUEST_HPP_INCLUDED
In src>stdafx.h, add this line:
#include "fwd/quest.hpp"
The following are pastebin's of r189 files and what should be added there for quests. Do not just copy/paste, read the line first to make sure there isn't a note saying to remove it. If you have made custom additions to this file yourself, then
youhavetosearchforsimilarcontextaroundthehilightedpartto make sure it reaches the correct place.
eoconst.hpp: http://pastebin.com/qDzpxav5
config.ini: http://pastebin.com/YxFUNNWA
main.cpp: http://pastebin.com/Fi5Uw46X
npc.cpp: http://pastebin.com/v7fNBgqA
npc.hpp: http://pastebin.com/mW77B5k1
packet.hpp: http://pastebin.com/KtnNJZgA
eoclient.hpp: http://pastebin.com/mXqLZcaE
eoclient.cpp: http://pastebin.com/TudmCtSq
eoserver.cpp: http://pastebin.com/ziNX3pui
eodata.cpp: http://pastebin.com/nGV6ykGp
eodata.hpp: http://pastebin.com/VDg2rLeZ
world.cpp: http://pastebin.com/mDBuxHzT
world.hpp: http://pastebin.com/6WVj377Z
character.cpp: http://pastebin.com/FvJGr6pp
character.hpp: http://pastebin.com/H7wKnSqJ
fwd>character.hpp: http://pastebin.com/LYLxiUmz
map.cpp: http://pastebin.com/90xQxRML
stdafx.h: http://pastebin.com/kF7UrDqd
---
http://www.addipop.com
14 years, 40 weeks ago
|
striker

Joined: 24th Feb 2010
Posts: 140
Re: Quests[Release]
Nice Release :) i gonna download it now the clean source with quest
14 years, 40 weeks ago
|
techNo

Joined: 23rd Jan 2010
Posts: 126
Re: Quests[Release]
Thankyou for this nice release. i just downloaded your clean Rev with quest added =) ---
I noticed when I walked in the room went dark somebody better call the police there's a guy here
with no heart he said he goes by the name of TechNo he's on a war path and he said if anybody
touches the crown he's gonna tear them apart and a grime MC was telling me I kill them and i put
them in a cemetery!
14 years, 40 weeks ago
|
Miksu

Joined: 4th Jun 2009
Posts: 1457
Re: Quests[Release]
Does this work with Wiseman "quest"? I assume that it doesn't? Anyways, god release :P
Edit: I am going to add this and test it out, this seems to be pretty perfect.
Edit2: Nevermind it seems to be work if you add it again with apollo's guide =)
Edit3:
||=== eoserv, MYSQL+SQLITE ===|
..\src\world.hpp|116|error: 'Quest' was not declared in this scope|
..\src\world.hpp|116|error: template argument 1 is invalid|
..\src\world.hpp|158|error: ISO C++ forbids declaration of 'Quest' with no type|
..\src\world.hpp|158|error: expected ';' before '*' token|
||=== Build finished: 4 errors, 0 warnings ===|
Got some errors... hmmm >_>
and those errors comes when its compiling character.hpp..
---
Eoserv classes: Forum ghost, test player, ex-server owner, TOP 50, mapper & an
oldbie
14 years, 40 weeks ago
|
Addison

Joined: 24th Mar 2009
Posts: 1380
Re: Quests[Release]
Oh, you are right my man. I have forgotten one thing.
In stdafx.h, add:
#include "fwd/quest.hpp"
---
http://www.addipop.com
14 years, 40 weeks ago
|
Miksu

Joined: 4th Jun 2009
Posts: 1457
Re: Quests[Release]
When linking Eoserv.exe I got these errors:
..\src\handlers\Quest.cpp|104|undefined reference to `NPC::ShowDialog(std::string)'|
)]+0x6f9)||undefined reference to `NPC::ShowDialog(std::string)'|
||=== Build finished: 2 errors, 0 warnings ===|
---
Eoserv classes: Forum ghost, test player, ex-server owner, TOP 50, mapper & an
oldbie
14 years, 40 weeks ago
|
AustinB

Joined: 9th Jul 2010
Posts: 1400
Re: Quests[Release]
sephiroth posted: (1st Aug 2010 02:45 pm)
When linking Eoserv.exe I got these errors:
..\src\handlers\Quest.cpp|104|undefined reference to `NPC::ShowDialog(std::string)'|
)]+0x6f9)||undefined reference to `NPC::ShowDialog(std::string)'|
||=== Build finished: 2 errors, 0 warnings ===|
Yeah. I'm also using his Priest/Marriage script. I get these errors when linking eoserv.exe
-------------- Build: MYSQL+SQLITE in eoserv ---------------
Linking console executable: ..\eoserv.exe
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x103e): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x106f): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x971): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x9bf): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 0 warnings
---
Create your own destiny, don't let someone else do it for you.
14 years, 40 weeks ago
|
Miksu

Joined: 4th Jun 2009
Posts: 1457
Re: Quests[Release]
AustinB posted: (1st Aug 2010 04:03 pm)
sephiroth posted: (1st Aug 2010 02:45 pm)
When linking Eoserv.exe I got these errors:
..\src\handlers\Quest.cpp|104|undefined reference to `NPC::ShowDialog(std::string)'|
)]+0x6f9)||undefined reference to `NPC::ShowDialog(std::string)'|
||=== Build finished: 2 errors, 0 warnings ===|
Yeah. I'm also using his Priest/Marriage script. I get these errors when linking eoserv.exe
-------------- Build: MYSQL+SQLITE in eoserv ---------------
Linking console executable: ..\eoserv.exe
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x103e): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x106f): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x971): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x9bf): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 0 warnings
But I am not, I got errors on NPC::ShowDialog not on priest & law thing... (I am not using it)
---
Eoserv classes: Forum ghost, test player, ex-server owner, TOP 50, mapper & an
oldbie
14 years, 40 weeks ago
|
Ananas
Moderator
Joined: 22nd Apr 2009
Posts: 2190
Re: Quests[Release]
sephiroth posted: (1st Aug 2010 04:06 pm)
AustinB posted: (1st Aug 2010 04:03 pm)
sephiroth posted: (1st Aug 2010 02:45 pm)
When linking Eoserv.exe I got these errors:
..\src\handlers\Quest.cpp|104|undefined reference to `NPC::ShowDialog(std::string)'|
)]+0x6f9)||undefined reference to `NPC::ShowDialog(std::string)'|
||=== Build finished: 2 errors, 0 warnings ===|
Yeah. I'm also using his Priest/Marriage script. I get these errors when linking eoserv.exe
-------------- Build: MYSQL+SQLITE in eoserv ---------------
Linking console executable: ..\eoserv.exe
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x103e): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x106f): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x971): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x9bf): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 0 warnings
But I am not, I got errors on NPC::ShowDialog not on priest & law thing... (I am not using it)
You probably forgot to declare ShowDialog in npc.hpp. If not then you forgot to add the whole ShowDialog function. Read his tutorial again for information.
---
"Pineapples and shit."
14 years, 40 weeks ago
|
Addison

Joined: 24th Mar 2009
Posts: 1380
Re: Quests[Release]
AustinB posted: (1st Aug 2010 04:03 pm)
sephiroth posted: (1st Aug 2010 02:45 pm)
When linking Eoserv.exe I got these errors:
..\src\handlers\Quest.cpp|104|undefined reference to `NPC::ShowDialog(std::string)'|
)]+0x6f9)||undefined reference to `NPC::ShowDialog(std::string)'|
||=== Build finished: 2 errors, 0 warnings ===|
Yeah. I'm also using his Priest/Marriage script. I get these errors when linking eoserv.exe
-------------- Build: MYSQL+SQLITE in eoserv ---------------
Linking console executable: ..\eoserv.exe
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x103e): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoclient.o:eoclient.cpp:(.text+0x106f): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x971): undefined reference to `EOClient::Handle_Law(PacketFamily, PacketAction, PacketReader&, int)'
..\obj\Release\src\eoserver.o:eoserver.cpp:(.text+0x9bf): undefined reference to `EOClient::Handle_Priest(PacketFamily, PacketAction, PacketReader&, int)'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 0 warnings
Not sure why you get these errors when you are adding quests. It confuses me.
---
http://www.addipop.com
14 years, 40 weeks ago
|
Dallas
Joined: 5th Apr 2009
Posts: 125
Re: Quests[Release]
I added your quest system and it doesnt work. It has to do with the quests.ini i think. Heres my error log.
[WRN] A chest spawn on map 21 points to a non-chest (Gold x20 at 1x11)
[WRN] A chest spawn on map 68 points to a non-chest (Brown Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Green Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Pink Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Red Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Blond Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Blue Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Purple Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Luna Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (White Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 68 points to a non-chest (Black Hair Dye x1 at 1x15)
[WRN] A chest spawn on map 70 points to a non-chest (Brown Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Green Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Pink Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Red Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Blond Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Blue Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Purple Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Luna Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (White Hair Dye x1 at 13x1)
[WRN] A chest spawn on map 70 points to a non-chest (Black Hair Dye x1 at 13x1)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#257 at 49x15)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 41x15)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 41x8)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 41x21)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 48x8)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 48x21)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 54x8)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 54x15)
[WRN] An NPC spawn on map 136 uses a non-existent NPC (#256 at 54x21)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x5 at 4x53)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x15 at 4x53)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x5 at 13x13)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x15 at 13x13)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x5 at 38x5)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x15 at 38x5)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x15 at 50x34)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x5 at 50x34)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x5 at 63x54)
[WRN] A chest spawn on map 158 points to a non-chest (Gold x15 at 63x54)
[WRN] An NPC on map 182 at 15,25 is being placed by linear scan of spawn area (Jesaurus)
[ERR] NPC couldn't spawn anywhere valid!
[WRN] A chest spawn on map 199 points to a non-chest (Peasant Clothes x1 at 7x4)
[WRN] A chest spawn on map 199 points to a non-chest (Peasant Suit x1 at 7x4)
[WRN] A chest spawn on map 222 points to a non-chest (Gold x4000 at 123x39)
[WRN] A chest spawn on map 222 points to a non-chest (Gold x8000 at 123x39)
[WRN] A chest spawn on map 222 points to a non-chest (Gold x287 at 123x39)
[WRN] A chest spawn on map 222 points to a non-chest (Gold x287 at 123x39)
[WRN] A chest spawn on map 233 points to a non-chest (Gold x20 at 5x47)
[WRN] A chest spawn on map 233 points to a non-chest (Gold x50 at 5x47)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x5 at 4x53)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x15 at 4x53)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x5 at 13x13)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x15 at 13x13)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x5 at 38x5)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x15 at 38x5)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x15 at 50x34)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x5 at 50x34)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x5 at 63x54)
[WRN] A chest spawn on map 234 points to a non-chest (Gold x15 at 63x54)
[WRN] An NPC spawn on map 250 is outside of map bounds (Bogo Man at 132x36)
[WRN] An NPC spawn on map 250 is outside of map bounds (Bogo Man at 132x36)
[ERR] Could not load quest file
[WRN] (404) SLN Update Client Error: Ignoring too-early check-in
14 years, 40 weeks ago
|
Addison

Joined: 24th Mar 2009
Posts: 1380
Re: Quests[Release]
Hm, it should say
Could not load quest file (number here)
Make sure your data>quests directory exists. Make sure you have a valid directory in config.ini, and make sure you have a valid number. If this still occurs, let me know.
---
http://www.addipop.com
14 years, 40 weeks ago
|
|
Re: Quests[Release]
I did have 2 errors, they were the same. I created a quests file in the data folder. copied one of your examples. Saved it as 00001.eqf, and in data>quests.ini, i made 1 = 166, which is the id for wiseman. The directory i have is for the quest folder and how many quests there are, but not the
directory for quests.ini, would that be the problem?
14 years, 40 weeks ago
|
Addison

Joined: 24th Mar 2009
Posts: 1380
Re: Quests[Release]
Ah, sorry. There is no quests.ini. This was leftover from when I was experimenting with quests, way back. The way vult-r did it, if you want a quest to start on a certain quest npc, then you set the questid to their type index.
So if you go into pub editor and look at wiseman, his quest id is 4, so you set the id to 4.
---
http://www.addipop.com
14 years, 40 weeks ago
|
epicnoob

Joined: 19th Feb 2010
Posts: 166
Re: Quests[Release]
Everything compiled right but when i tried to run the server i got this
[ERR] Logic Error: basic_string::_S_create
---
Fate-Gaming/Forgotten Memories Owner.
14 years, 40 weeks ago
| | | | | | | | | | | | | | |