[crossfire] Quest management system proposal
Nicolas Weeger (Laposte)
nicolas.weeger at laposte.net
Wed Aug 9 02:33:28 CDT 2006
> Latex stuff could probably go away - I don't know the last time anyone
> updated the tex stuff (but to be fair, not sure last time any documentation
> has been updated).
Actually, it seems to be kind of uptodate, since it generates data from
archetypes and such.
I'd be more inclined to keep it - spoilers, handbook and such are nice. Also a
list of gods is nice to have locally.
(could be used to make PDF manuals distributed with client)
> OTOH, we are talking a very basic scripting language here. If we want to
> be technical, we could say the existing message/endmessage stuff if some
> very very basic scripting language - its just simple enough that it is easy
> to for anyone to use because it has very few options/commands.
True. But at some point people will want more than what the message/endmessage
offers, so we'll be back at square one - either use our own scripting
language, or an existing one.
> One thought I did have is that the map editor could be modified to make
> use of such scripting easier. Have something which says the variable name,
> whether that is a player persistent variable or not, what operation to use
> (<>, =, >=, etc) and what value to check against.
>
> Likewise, another dialogue/option could be similarly used to set
> variables.
Yes, if dialog is a state automate, it could be created through dialog boxes.
> Not sure, but one issue with the scripts right now is that they live in a
> separate directory, so if the map editor creates them (which would be an
> option), the map developer would have to know 'also include so and so
> script'.
Scripts can be put in any directory :)
> But that just lists what you can use in writing a python script.
>
> It doesn't say what scripts may be available for use already and how to
> use them.
>
> For example, if the method we decide to go for is that we will use
> scripts to give out exp, then it probably would make sense to have a
> generic script that takes some parameters on what skill and how much exp to
> add, so you could do something like:
>
> event_activate give_exp.pyc throwing 6000
>
> (no idea if that is really the correct syntax, but you get the point).
>
> If that is done, then the give_exp.pyc, and other general purpose scripts
> need to be well documented so people know about them
Yes, but there aren't many scripts around - the IPO, a few related to guilds,
casino, misc. They should probably be documented, yes.
Note that right now you can't easily directly add exp to a skill, but imo
that's a function to be added. Will try to do that at some point.
> That is one advantage of archetypes - while it may be hard to find
> something, they are all available in the editor, and the editor provides
> customized dialogues based on type. So if there was an exp giving
> archetype, the editor file would be modified to ask for the skill to give,
> how much exp to give, and perhaps some other parameters (all members of the
> party, etc).
True. Then maybe editor could be extended to know about Python functions, and
our built-in stuff :)
> True, but I'm not sure if that is indication of a good design/easy to use
> system.
>
> Most people want instant gratification - if they have to wait hours or
> more to get the answer for something like 'how do I give an exp reward to a
> character', they may get a bit discouraged.
>
> And just going forward, it doesn't seem like 'get a developer to help you
> write your maps' isn't really the right thing to say. This is why I push
> for the idea the common/general purpose operations should be in the core
> server with archetype attached to it, so it is easy for people to use.
>
> Of course, an archetype with a script created could be made, with certain
> fields of that archetype containing the skill and exp. But then you start
> to ask, if we're going to do that, why don't we just write the C code?
But at some point there will need to have a developer involved, when the
script starts to become complex.
Yes a mapmaker could, with a simple script, make a quest to have a player
deliver an item from one NPC to another. But to check whether 5 players do
the Holy Dance of Purification correctly to finish the temple cleaning quest,
you'll need more than what message/endmessage offers :)
I agree though we should try to make it the easiest for mapmakers, by offering
the more easy functions to access.
Nicolas
More information about the crossfire
mailing list