Page 1 of 2

Quests in EQ2Emu

Posted: Sun Oct 14, 2007 7:07 am
by Aaden
Post your suggestions here for ways to impliment quests into EQ2Emu!

Posted: Sun Oct 14, 2007 12:29 pm
by Bafoon
I think that there should be a easy program to use that will guide people to write quests because I hear that it is alot more complicated to write than EQ1 quests. Most people love to run and create servers but dont have the required skills...
just my two copper pieces.

Posted: Sun Oct 14, 2007 1:38 pm
by techguy84
Any implementation would be good so long as its low usage and can be very versitile. As far as ease of use, that comes with time. People will make applications that can combine and input the required code to execute the quest, or someone who gets a great understanding of it can compile a list of lines that are used and how to implement them into a a working quest.
Course, thats my take on it. The biggest thing is, we can learn something difficult, but if we try to implement something thats easy to understand, but not versitile, we are going to be worse off.

Posted: Sun Oct 14, 2007 6:53 pm
by Aaden
Ive got an idea floating in my head for a GUI interpreter so that any person can dl the tool and create a custom 100% working quest from the get go, just have to think of a way to impliment literal quests into the code similar to the way eqemu did it with eqperl just not as inefficient and flaming.

Posted: Mon Oct 15, 2007 3:07 am
by alfa
I think Quest engine can work simply with SQL data (like mangos quest engine for example) but if you want the possibility to do all "official quest" you need a script engine too

Posted: Mon Oct 15, 2007 10:09 pm
by Diamente
I like the idea of having all the quest data stored in the database, but the flexibility and power that doing it as an interpretted script gives you is just to much to ignore (for me), I think sticking to a scripted language like Perl will continue to be my vote.
And in any outcome we choose, I certainly agree with Aaden that it would be great to design a UI for those who aren't necessarily coders. The added bonus of sticking to a scripted language is that you could still manipulate the raw script manually if you wanted to.

Posted: Tue Oct 16, 2007 1:40 pm
by Aaden
I almost 100% agree we should have a scripting language such as perl was in eqemu its just with the emu being in alpha as it is now until we can get a stable base down it might be awhile until we can actually start working on it!

Posted: Tue Oct 16, 2007 4:06 pm
by John Adams
There's lots of scripting languages that could be used. Anyone know what EQ2 uses itself? I know some emus use Python (Eve), LUA (EnB), GameMonkey (WoW), Perl (EQ), L2J (Java i think?) and I am sure a host of others. Putting all your quest data in a database puts an added burden on the SQL server that might not be necessary since the quest data is static. XML could host the data, for that matter.
Regarding the scripting languages themselves, from my research, none of them are novice or entry-level coder easy. So I wouldn't fret over making it idiot proof. The tools to design and build can be written that way, but whatever it poops out should be something totally integratable into the server itself.

Posted: Tue Oct 16, 2007 5:48 pm
by Aaden
John Adams: i was thinking about trying to toy with XML to get quests done but then i realized that it will be very inefficient. Now that i think about it more and more im going to start toying with the idea of java.

Posted: Tue Oct 16, 2007 6:14 pm
by razmalone
Aaden wrote:John Adams: i was thinking about trying to toy with XML to get quests done but then i realized that it will be very inefficient.
Was wondering why you would say that xml would be very inefficient? The XML files could be more or less place holders/stores of data that when read would execute functions from the server.
Example when a character talks to somone with a quest the server pulls that xml data and executes the appropriate functions.

Posted: Tue Oct 16, 2007 6:15 pm
by John Adams
Cool, as long as it isn't "Bob's Quickie Script 1.0" I'll be happy.
And for the XML, I was only talking about a storage place for static data - nothing dynamic. Something the server could read at startup or when needed. Database (or global variables - EQEmu talk) definitely should be for tracking quest progress or completion. I just didn't think it would be very efficient for all the dialog and talktree stuff.

Posted: Wed Oct 17, 2007 6:38 am
by Diamente
Aaden: Java would require compilation.
Sticking with the idea of cross-platform scripting languages, I would look at Perl, Python, and Lua. All are free, available on a myriad of platforms, and have a strong community. They also have libraries to interact with XML if you wanted to put static data in those.
Personal preference, Perl(power) or Lua(speed).

Posted: Wed Oct 17, 2007 7:03 am
by Diamente
Actually...thinking about it for more than a few seconds, Lua would offer a LOT of flexibility and power in that one of its features is the ability to extend C++ code (among other languages, even scripted languages), so we could utilize a lot of the same functions as the emulator itself.
So I might change my vote to Lua. :)

Posted: Wed Oct 17, 2007 7:24 am
by razmalone
My vote for a scripting language would be either Lua or Python. Either would be very efficient. But for the quest placeholder the static data that just says where quests are and would point to the appropriate scripts I say xml apposed to sql. Then again i say anything static should be xml apposed to sql.

Posted: Tue Oct 30, 2007 3:11 am
by masterfreek64
We could do "hookable" Events.
Quest are each done as .dll files ( written in any language of your choice ) or .dll wrapped scripts ( with a scripting language of your choice you just need a wrapper) .
The .dll has to feature a method "Initialise" with a pointer to an Interface. There they can register the Hooks they need.
Possible hooks could be:
eMonsterKilled
eSystemKilled
etc ...
I am already making this for Oblivion Multiplayer and it works.
you can MSN me on (my nickname)@hotmail.com