Color commands caused module to react in a strange way

Hi all
I have been experimenting with vassal 3.4.2 trying to add color and a spacer line to reports. Since I started making changes the commands no longer work as I expected. Before I made the changes a player could either give the key command or right click and everything worked fine.
Now the first mouse click or key command has no effect. When a second key press or mouse click is made, both commands are processed. The command will also be processed if the counter is moved. I am not an expert in HTML so its probably some dumb mistake I am making.
I used a trigger action to send 5 commands

  1. Called a action button to draw a line of dashes
  2. Report Action to state rolling a D10 and meaning of results.
  3. Global hotkey to call the 1d10 die roll
  4. Report Action to see if counter (space ship) was damaged
  5. Called 1D100 for damage check.

I included a picture showing the commands.
Do I need to add a HTML command to process a line after I add color commands?
Below is a copy of the text window reports/ I was moving the counter to make the command be processed.

  • Eu CV-3 Pegasus created in Venus Approach 5

  • Eu CV-3 Pegasus rolls for Movement (Engine Failure) {1D100} [ Failure = 5%(base) - CV size]
    *** Movement (Engine Failure) roll = 77% ***
  • Eu CV-3 Pegasus moves Venus Approach 5 → Venus Approach 4 *

  • Eu CV-3 Pegasus rolls (1D10) for Exploration. Success = CV explore + Planets current exploration value.
    *** Exploration Roll = 9 ***
  • Eu CV-3 Pegasus rolls for CV Recall (Fail on roll of = 50% Base +/- technology)
  • CV Reserve roll = 12% ***
  • Eu CV-3 Pegasus moves Venus Approach 4 → Venus Surface *

  • Eu CV-3 Pegasus rolls (1D10) for Exploration. Success = CV explore + Planets current exploration value.
    *** Exploration Roll = 10 ***
  • Eu CV-3 Pegasus rolls for CV Recall (Fail on roll of = 50% Base +/- technology)
  • CV Reserve roll = 18% ***

  • Eu CV-3 Pegasus rolls for Movement (Engine Failure) {1D100} [ Failure = 5%(base) - CV size]
    *** Movement (Engine Failure) roll = 44% ***

You have literal “<” and “>” characters in your report strings, so Chatter is trying to interpret them as HTML (and failing), which apparently causes a delay in the output.

You need to use the HTML entities “<” instead of “<” and “>” instead of “>” where you want an actual less-than or greater-than to appear in your output.

thank you, I will try that. I figured it was something I was doing wrong with HTML.

I went back and replaced all < with < that did not correct the problem.
I then went and replaced all the reports with “Failure if roll less than or equal to”

  • Ci CV-2 JinlongCi CV-2 Jinlong Rolls for Movement (Engine Failure) {1D100} [Failure if roll less than or equal to 5%(base) - CV size] *
    I still have to move the counter, or double the command (then both execute).
    I will just turn off HTML for now.

A couple of notes that may help:

  • Note that once the HTML processor gets “bad data” during a single session, it can remain in the “delayed output” state EVEN IF you only send it good data after that. So for example if you were in an editor session and had some things print out with the < symbol in them, and then edited them and fixed them and tried them out, you might still see delayed output until you exited from VASSAL and restarted.

  • If you have HTML turned off for your module you can still “opt in” any individual Report Message by having the very first character be |, !, ?, ~, or ` – in other words the characters that select the colors, with | being the way to select the default black but still have HTML turned on for that one message. This can be a good way to get HTML support in the places you need/want it without having to sweep through your whole module looking for all the < signs.

Best,

Brian

Thanks Brian
I was reading the post “v3.4.1 - delayed output to chatter bug? HTML related?”
My problem was I had just been using in all my modules. I was copping and pasting from the first modules I had looked at.
I have a file with all my common lines to quickly grab and paste. A prime example of doing something a certain way because “THATS THE WAY ITS ALWAYS BEEN DONE” I went back and removed all extraneous “<” & “>” turned back on HTML.
Everything seems to be working fine.
Thanks again!
Kevin

Perfect – yes it is unfortunate that it used to default to <$PlayerSide$>, but “who knew?”. The default has recently been changed to <$PlayerSide$> which looks the same at output w/o any of the problems, but of course modules that already had it are affected. When HTML is “off” it knows to strip all those < > out and replace them with the right entities, but when HTML is on it assumes you “meant” to put a tag there :slight_smile:

Now I know what to look for! Thats 90% of the problem,