[crossfire] Quest support

Nicolas Weeger nicolas.weeger at laposte.net
Sun Jan 17 09:28:37 CST 2010


Hello.

I just added a basic low-level quest state information storage mechanism 
(whao, *that* is a great name for a poor code :))

From the documentation:

*******************************************************************

Quest support information
-------------------------

Current quest support is low-level only.
That is the server provides routines to query and store quest status, and 
that's all.

It is the responsibility of the quest writer to call the functions, hook what 
needs to be handled, and such.

The server does no internal state check, and it doesn't know how to handle 
anything except the status.


Currently, a quest is composed of:
- an internal code, which should be unique
- a player title, a short sentence describing the quest
- a longer description of the quest
- the current player state (integer value, any positive value is ok, 
quest-specific meaning)
- the current state description for the player, so she knows what to do next

The information is stored in the player's directory, in a file named <player's 
name>.quest

File is saved at each state modification, to ensure consistency.


*******************************************************************


Functions are in server/quest.c

One quest was written for Darcap, and is handled in the cf_darcap plugin.


Now, if someone were ambitious, a quest engine could be written to handle 
common quest styles. I'd see some rudimentary scripting engine interpreting a 
pseudo-XML file, something like that...
But well, maybe for another time ;)


If you need help writing a quest, don't hesitate to ping me.



Nicolas
-- 
http://nicolas.weeger.org [Mon p'tit coin du web]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20100117/340fe8b8/attachment.pgp 


More information about the crossfire mailing list