[DGSCRIPTS][BUG][LONG] actor.name and act_mtrigger

From: Torgny 'Artovil' Bjers (artovil@unmade.com)
Date: 06/17/01


Hello,

I am running DG Scripts pl7a and CircleMUD 3.0 bpl 18 with Assemblies, and
some other things, that shouldn't affect this, so I will not go on and
ramble up all my modifications that has nothing to do with comm.c or
dg_scripts.c or dg_triggers.c.

I have read the archives and tried to fix the problem, but it
persists.  Any help appreciated!

My DG Scripts are working fairly ok, as expected with such a complex
system. (I think they're great, and don't care much about the bugs since my
players aren't allowed to use them anyway, and I am aware of most of the
bugs, so I don't crash the mud anyway...).

There is one thing that I have noticed lately though.  When a mortal player
or any other player triggers an act or greet trigger somewhere, their name
will turn up in act triggers that shouldn't really fire, for example, a
mortal enter at 3001, and trigger this (stat of mob + script):

----------------------

   Trigger: Aethocyn newbie helper, VNum: [ 3003], RNum: [   37]
   Trigger Intended Assignment: Mobiles
   Trigger Type: Greet , Numeric Arg: 100, Arg list: None

 > tstat 3003
Trigger Intended Assignment: Mobiles
Trigger Type: Greet , Numeric Arg: 100, Arg list: None
Commands:
    * AETHOCYN NEWBIE GREET
    * BY ARTOVIL, ARCANE REALMS
    * arcane-realms.dyndns.org:3011
    if (%actor.level% < 4)
      wait %random.10%
      tell %actor.name% You must be new to the realm, young one.  If you
need help, type HELP.  If you get wounded, you can come back here to be
healed up until you reach level 10.  To quickly reach the square, try RECALL.
    end

----------------------

Ok, all is well and good so far, the trigger fires.  But now the name of
the actor, let us call him Artemis, is not nulled, and I don't know where
to look, I tried to do it in find_replacement as per Welcor's
recommendation to Jonathan Syu, to set the things not called to NULL, but
this still doesn't seem to do it.

Welcor's answer:
http://post.queensu.ca/cgi-bin/listserv/wa?A2=ind0106&L=circle&P=R7136&D=0&m=7011

Now, I enter the builder academy on my mud with my IMPL char, level 106,
here is the script of the receptionist, that shouldn't continue executing
because of the level check in there:

----------------------

   Trigger: Receptionist Greeting, VNum: [  200], RNum: [   17]
   Trigger Intended Assignment: Mobiles
   Trigger Type: Act , Numeric Arg: 100, Arg list: ear-splitting seemingly
from nowhere enters

 > tstat 200
Trigger Intended Assignment: Mobiles
Trigger Type: Act , Numeric Arg: 100, Arg list: ear-splitting seemingly
from nowhere enters
Commands:
    * BUILDER TUTORIAL RECEPTIONIST GREET
    * BY ARTOVIL, ARCANE REALMS
    * arcane-realms.dyndns.org:3011
    if (%actor.level% < 105)
      wait 2
      say Hello there, %actor.name%! If you need help, don't hesitate to ask.
      wait 5
      smile
      wait 3
      say The OLC HALL is to the north, the DG SCRIPTING course to the
west, and the ASSEMBLIES TUTORIAL south of here, while you can find the
PARSER tutorials to the east.
    end

----------------------

And... I am level 106, it still fires, on the last %actor.name%, in this
case, Artemis:

----------------------

The Academy Receptionist says, in the common tongue,
     'Hello there, Artemis! If you need help, don't hesitate to ask.'

4000H 4000M 4000V >
The Academy Receptionist smiles happily.

4000H 4000M 4000V >
The Academy Receptionist says, in the common tongue,
     'The OLC HALL is to the north, the DG SCRIPTING course to the west,
and the ASSEMBLIES TUTORIAL south of here, while you can find the PARSER
tutorials to the east.'

----------------------

Where do I NULL the value so that the actor.name is always null when a new
call is made to any of the triggers, so I can avoid things like this?  Hmmm...

Kind regards,
Artovil
Arcane Realms MUD

--
   +---------------------------------------------------------------+
   | 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