[DG] Problem with add_room, help needed

From: Torgny Bjers (artovil@arcanerealms.org)
Date: 11/12/02


Hello,

I am running a "heavily" modified CircleMUD bpl20-21 (still converting
send_to_char instances :]) with DG Scripts 0.99 pl8 and OasisOLC 2.0.1.
When I upgraded to DG Scripts pl8 I discovered something really odd.

Whenever I add a room, either through redit, or through dig, a call goes to
add_room, of course.  Before, this worked flawlessly, now I get errors on
script variables that have been assigned to rooms.  I am assuming that it
has something to do with the rnum of the room, or something to that effect,
and the lines I have isolated as the cause of this are:

[...]
    /*
     * Update world exits and triggers.
     */
    for (i = top_of_world; i >= 0; i--) {
        /* exits */
        for (j = 0; j < NUM_OF_DIRS; j++)
            if (W_EXIT(i, j))
                W_EXIT(i, j)->to_room += (W_EXIT(i, j)->to_room >= found);
        /* triggers */   <<<<<<<<
        if(SCRIPT(&world[i])) {   <<<<<<<<<<<
            extract_script(SCRIPT(&world[i]));  <<<<<<<<<<
            SCRIPT(&world[i]) = NULL;   <<<<<<<<<
        }
        assign_triggers(&world[i], WLD_TRIGGER);   <<<<<<<<
  }
[...]

Those are the only lines added to genwld.c in the patch that could have
anything to do with this, or so I think, and now I wonder if anybody else
can try this and see if they can reproduce?

Guide to make your triggers go nuts:
1) Write a trigger that checks a variable in a room, %self.var% for
instance.
2) Attach the trigger to a room somewhere, probably shouldn't be the last
room, but somewhere in the middle of your zones.
3) Enter zedit, add a new variable to the same room, context 0, put anything
in the value for the variable.
4) try the trigger, make sure it works.  Save everything down.
5) Reboot/copyover.
6) Make sure the trigger works.
7) Add a room either in dig or redit.
8) Go to the room, try the trigger.

Any help appreciated!

Warm Regards,
/Torgny

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT