Re: [DG SCIRPTS] Actor.name?

From: Welcor (welcor@dune.net)
Date: 06/13/01


----- Original Message -----
From: "Jonathan Syu" <jonsyu@HOTMAIL.COM>
> I'm using dg_scripts pl7. I saw a post about this for an earlier version
> of dg scripts, but not sure if anyone else has experience this. It's about
> how actor.name show the last person to log on, and not the current person.
> Like, I have a test mob that just says Hi <whoever> when someone enters
> the room. But instead of saying hi to the person who entered the room, it
> says hi to someone who was in there before, but was already gone. Did
> anyone experience this too? How do you fix it?

I experienced something of that kind; I had '%self.vnum%' always referring
to the room vnum. The following was my fix:

in find_replacement() (dg_scripts.c)

    else {
      if (!str_cmp(var, "self")) {
       switch (type) {
         case MOB_TRIGGER:
           c = (char_data *) go;
+           o = NULL;  /* NULL assignments */
+           r = NULL;  /* to avoid self.vnum to always be */
           break;     /* the rooms vnum. */
         case OBJ_TRIGGER:
+           c = NULL;
           o = (obj_data *) go;
+           r = NULL;
           break;
         case WLD_TRIGGER:
+           c = NULL;
+           o = NULL;
           r = (struct room_data *) go;
           break;
       }
      }

Your problem sounds as if a nulling at some point would be a
good idea. Try the above and see if helps.

Welcor

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/05/01 PST