[CF-Devel] more proposals

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Tue Jun 24 23:33:56 CDT 2003


From: "David Seikel"
>
     
     
     >
     
      I don't really want to spend much more time on python scripting, I just
     
     >
     
      want it to work so that at least the night club script will do what I need
     
     >
     
      it to do.  The IPO stuff was really just to play with as examples, but
     
     they
>
     
      needed to be working, so I spent more time than I wanted.  I will likely
     
     >
     
      concentrate on my maps and weather code.
     
     
>
     
      I would love to get the python stuff working perfectly here, I didn't
     
     >
     
      really want to spend the time rewriting the IPO scripts.  My python
     
     >
     
      knowledge is non existant though, and it looked a much easier job to
     
     >
     
      rewrite for text files than fix shelf.
     
     >
     
     
     
The shelf fix is likely something top do with the default database module
being borked (I think bsddb?) and should be a all or nothing fix I am
thinking (I can't remember and I am too lazy/busy at the moment to search
through the mail archives here for when I sent messages about this issue -
maybe there is some more info in there?) I remember having to change the
make file for the plugin by hand because the header used (I
used --with-includes...) and the library (make file was grabbing python 1.5
module path) were not matching up properly (again two python versions on
Redhat - python 1.5 was python (*required) and python 2.1 was python2...) I
do know that I haven't had any problems for a while with current versions of
the server.
If you don't fix shelf other python enabled features on the maps like the
IPO will break on you as well however.  If shelf is broken I would suspect
this other stuff may cause you problems too, perhaps unpredictably.

did you try running configure with
the --with-includes=I/usr/include/python2.1 (or python2.2 or whatever your
path is?)  If there is a problem with the plugin and SUSE in particular it
would be good to be able to post a fix for people.

>
     
      > all python scripts should break properly when the plugin isn't
     
     >
     
      > installed/running,
     
     >
     
     
     >
     
      How do they get called if the plugin isn't working?
     
     >
     
     
     Exactly the right question and the answer as well -always ask that when
making a new feature with a plugin.  You shouldn't have anything in your
maps that is *required* functionality (like exits or parts of a quest) that
will break if the plugin isn't loaded.  One way to do this is to lock out
any Python necessary quests when the plugin is't working (use the plugin to
open the doors rather than a normal exit or somesuch so people can't even
get in).  The other way is not to use the plugin for important stuff, but as
enhancements (so your bank clerk will just say 'I'm on a break come back
later' if the plugin isn't installed.)  This works because python overides
the trigger events so you can put in actions that will work different when
ther is no python...
This 'bustability'  is why somehting like a universal bank system shouldn't
be done in Python if you want to incorporate it into the game and tie it
into other stuff.  You can of course have banks and mail and stuff as perks
for python enabled servers however.  It really is too bad since there is so
much you can can do with the plugin, but it is a good policy not to rely on
it for the official crossfire packages (although for a specific crossfire
server you can go nuts and do what you like :))


_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list