Re: A few questions for the Gods :)

From: Patrick Dughi (dughi@imaxx.net)
Date: 03/22/00


> So many have cut down Thaco to a formula to elimitate all those
> un-needed lines. When a newbie adds a new class, he/she will
> have to copy all those lines and add over 200 lines of code to
> make that one class. (STUPID IMO).
>
        Well, it depends.  It's nice to have a formula, but it's not going
to help someone who moves to a system with more levels.  So, to add one
class, you'd have to add maybe 35 lines - most of which are cut and paste.
I personally use a formula, but having no classes, I'm just getting the
baseline thaco based on level, modified by skill and then proficiency
level.  If you have classes though, and want to have different thaco's for
your classes, you'll have to write a new formula, and/or readjust the old
formulas.  A 'newbie' would rather cut and paste.

>
> And why write a converter? I am talking about stock code.
>
        Stock code is in binary files, with no future notions to change.
This isn't a big deal because it's cake to write a converter.  Write a
converter, for stock code. ;)

> Write ascii pfiles myself? Yea right..
> Pretty simple.. my butt!
> Lets toss this project out for every newbie to try!

        It is pretty simple actually.  It's maybe a bit more complex than
using a single fread to fill a struct, but still simple. Lets use a simple
key:value assignment like most do (ex Strength: 18)

pseudocode for loading:

open playerfile
while(!feof(playerfile)) {
  fscanf key, value.
  big case/if/etc loop {
    case strength:
      GET_STRENGTH(ch) = atoi(value);
      break;
  }
}
close playerfile
return ch;


        Pretty easy.  The only complications are;

   multi-line things, like description and the sort.  Of course, since
mobs, objects, and rooms already have to deal with multiline bits, you
_could_ just pull the code straight out of there and use it in those
instances.

   functions which operate on the playerfile based on offset (like
anything that lists every player in the game, etc).  Just make a player
index, and load that into memory when you start up.  My version doesn't
even have a player index file - it verifies all player files on startup
and generates the index in memory only.

        I think ascii pfiles took me a full 2 days to get in and working,
including debugging, etc.  It took me another half week though to get an
online converter so players could go from binary to ascii without
realizing it.  Didn't help that I did ascii objects at nearly the same
time.

                                                PjD


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT