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