> Looking at that, and looking at your example, it seems hardly really > clear to follow.
After some thinking, having a Python script handle the dialog seems the best way, actually :) This way, the whole dialog is written into the Python script, including the logic. > I think that for the NPC state data, that should probably be stored in a > force object that expires after some amount of time (like 1 minute > real-time after last update). After all, other players may interact with > that NPC, and state should reset for them. I'd say each player has his/her own state, so they don't conflict. > My personal inclination would be the quest not to be a script - ideally a > core part of the server, lesser would be a plugin. Well, there aren't that many quest-general things, actually. Maybe utilities (like: do this for every player in the quest party) could be written to help write quests scripts. > I'd put using a python script near the bottom. Not that python is > inherently bad, but I think for developer reasons. In theory, the entire > crossfire server could be in python - that obviously won't happen. But > given that the server is currently in C, it is quite reasonable to expect > all developers to know C. But if there are bugs/improvements that need to > be done to the script, but the developer doesn't know python, not sure > where that really leaves things. I'd say you underestimate developers :) Scripting wouldn't require many functions in Python, just basic ones, and any C developer would feel at home looking at the logic imo. > As a note, the ability to give such rewards just in general could be nice > not really related to quests. Drop an item, get some exp reward, etc. This can already be done, via a Python script for instance. Unless I'm mistaking what you mean? So what I'd do is: * remove existing quest system, which is a bastardized version * write a Python "quests" command, with a few parameters (to get descriptions and so on) * write a few Python scripts to help write quest scripts and manage quests and such Then it's just a matter of writing Python scripts to handle quests :) Nicolas _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

