[DG Scripts] Serious bug

From: Andrey Fidrya (andrey@alex-ua.com)
Date: 12/04/98


There was a crash bug with actor purging himself in DG Scripts 4.
It was fixed in DG Scripts 5, but this fix added one more bug (it is
delayed and so it was pretty hard to track):
if any actors purge themselves 10 or more times (accumulative), the
imms will get "SYSERR: Triggers recursed" every time when any
trigger executes.
Here is it:

int script_driver(void *go, trig_data *trig, int type, int mode)
{
[...]
   case WLD_TRIGGER:
     wld_command_interpreter((struct room_data *) go, cmd);
     break;
   }
-        if (dg_owner_purged)
-          return ret_val;
+        if (dg_owner_purged) {
+          depth--;
+          return ret_val;
+        }
[...]

Zmey


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



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