Re: Mob Programs

From: Michael Buselli (m-buselli@uchicago.edu)
Date: 05/22/96


dex@darknet.com says:

>   Wondering who has tried the mobprog.patch.  I used to play on a Merc 
> that had this installed, and mobs ALL over the place using mobprogs like 
> this, and it was very very nice. BUT, that mud crashed all the freakin 
> time. Was so bad, the IMP would echo for coders every once in a while. 
> I'm not sure if the proglem was in the mobprogs or not (the Merc was 
> heavily modified), but I've heard mob programs can be very buggy. Who's 
> used it and with what kind of success?

     About a year ago I used the patch for 2.2 and integrated it into my
3.0 pl 4/5 mud.  After all the macro and structural convertions, there
were several bugs in the release at that time.  None that crashed the
mud, but things like broken flow control and a broken function that
is supposed to do some of the triggering for act and speech progs.
Unless there is a more current version that fixed all these, you may
wish to look out for them.

     The flow control bug is that nested if-else-endif blocks are not
supported correctly.  The triggering bug is that if you have something
like:

>act_prog ruffle ruffles~

     it will not trigger on "ruffles" because "ruffle", which comes before
"ruffles" in the trigger list will see the "ruffle" part of "ruffles"
and mess some char pointer up in the loop so that the next time around
the loop "ruffles" does not appear in the string to be searched.

     You should probably look in your code or write some sample mobprogs
yourself to test for these bugs.  It could mean a lot less frustration
for your builders later on when things aren't working.  I'm also interested
if these bugs still exist in the standard distribution.

     I also rewrote how if clauses are evaluated.  I didn't like the
fact that the functions could not be called recursively, so I added
that support.  I also didn't like the fact that mobs couldn't have
variables to "remember" things and change states, so I added that too.
If anyone is interested in this code, email me about it.  If you're a
novice coder, don't bother because you won't understand how to add my
work to your mud if you don't know how Circle mud works inside and out,
and I won't answer basic questions about the code I release.  If I get
lots of requests I'll make it available on the web.  Requests sent to
the whole list may be ignored because my .procmailrc will filter it into
a folder that I usually delete lots of stuff from.

Michael Buselli



This archive was generated by hypermail 2b30 : 12/18/00 PST