|
HavlokUK Newbie
Joined: 12 Jan 2008 Posts: 3
|
Posted: Sun Jan 13, 2008 3:05 am
Access violation with use of #GAG in sound triggers |
I have just upgraded to the latest version of cMUD (2.18) and today logged into Discworld MUD for the first time since doing so. I found that cMUD produced an error message "Access violation at address 0295257F. Read of address 4D735934" whenever I enter combat. I then have to quit and restart cMUD to be able to continue. When the error occurs all subsequent text from the MUD is not displayed and none of the triggers activate, although commands sent to the MUD are still actioned (I tried moving after the error, then quitting cMUD and logging back in to find I had moved even though I couldn't see/hear anything).
I managed to track this down to the #GAG command located in some of the sound triggers set up for combat situations (I want to hear the sounds without seeing the text). With the #GAG command removed all is well, but the use of #GAGSPACE also causes the same error (possibly different adresses though). However, sending the trigger pattern to the MUD (and having it echoed back) do not produce the error. It only happens when I enter genuine combat (which is rather annoying).
I looked at the compiled code for the triggers and noticed that the #GAG command is compiled as "cmd gag (-1)" despite the fact that it is the triggered line that I want to gag, not the preceding one. I tried changing this to #GAG 1 (which compiles as "cmd gag (1)") but this did help.
Can anyone offer any advice on what is going on here and how I can fix it? I am having to play with all of my #GAG triggers disabled and putting up with a lot of unnecessary spam as a result.
Many thanks in advance.
HavlokUK |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sun Jan 13, 2008 3:37 am Re: Access violation with use of #GAG in sound triggers |
A short request for clarification first:
HavlokUK wrote: |
I tried changing this to #GAG 1 (which compiles as "cmd gag (1)") but this did help. |
+n't? |
|
|
|
HavlokUK Newbie
Joined: 12 Jan 2008 Posts: 3
|
Posted: Sun Jan 13, 2008 11:16 am Clarification |
Oops, that should read "I tried changing this to #GAG 1 (which compiles as "cmd gag (1)") but this did *NOT* help."
Sorry for the confusion.
HavlokUK |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sun Jan 13, 2008 2:13 pm |
The number in brackets after a command in the compiled code isn't actually its parameter - it's the number of parameters the command has. You'll notice that the line immediately before the gag command will be "INT 1", which is where the parameter's been kept. -1 means the command had no parameters.
Unfortunately, there's not much I can really say to help on this topic, because there haven't been any other reports. That makes it likely that it's something specific to your settings or package. Try moving the package onto a different computer and seeing if the error still occurs with another installation on another computer. If that's the case, I'd keep the file around so Zugg can take a look at it and see what the problem is. If that's not it, it must be something else wrong with your installation. |
|
|
|
HavlokUK Newbie
Joined: 12 Jan 2008 Posts: 3
|
Posted: Sun Jan 13, 2008 8:02 pm Access violation with use of #GAG in sound triggers |
OK, thanks for the reply. I'll keep a backup for future reference.
HavlokUK |
|
|
|
|
|