EOSERV Forum > EOSERV > Quests[Release]
Topic is locked.
Page: << 1 2 3 4 5 6 >>
Quests[Release]
Author Message
Post #45560 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
13 years, 41 weeks ago
Post #45562 Re: Quests[Release]

Nice Release :) i gonna download it now the clean source with quest

13 years, 41 weeks ago
Post #45563 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!
13 years, 41 weeks ago
Post #45581 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
13 years, 41 weeks ago
Post #45584 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
13 years, 41 weeks ago
Post #45585 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
13 years, 41 weeks ago
Post #45587 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.
13 years, 41 weeks ago
Post #45588 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
13 years, 41 weeks ago
Post #45596 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."
13 years, 41 weeks ago
Post #45597 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
13 years, 41 weeks ago
Post #45598 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

13 years, 41 weeks ago
Post #45602 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
13 years, 41 weeks ago
Post #45603 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?


13 years, 41 weeks ago
Post #45604 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
13 years, 41 weeks ago
Post #45605 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.
13 years, 41 weeks ago
Page: << 1 2 3 4 5 6 >>
Topic is locked.
EOSERV Forum > EOSERV > Quests[Release]