[messages] [Module Design] Return to different decks

dsdhornet david.a.fenton at gmail.com
Sat Apr 26 17:10:44 CEST 2014


For your first question, multiple triggers with conditions will work,
and probably do if you use a keyboard shortcut (which will attempt to
trigger both menu options) as opposed to selecting the option from the
menu.  However, if you want only one menu option, I've found that the
following method works best.

1.  For each of the two triggers (with conditions), leave the "Menu
Command" blank.  This means that the trigger will not appear in the
right-click menu.  Set the "Keystroke" on each to be the same.  I'd use
something like "trSendToDeck" (note, you aren't limited to single key
commands with modifiers, and using something totally unique can reduces
the chance of accidental triggering as well as make triggers easier to
remember).
2.  Add a 3rd "trigger action" with the menu command that you want shown
in your right-click menu, and whatever shortcut you want to use.  This
command will appear in the menu.  Leave the "condition" blank.  Under
"Perform these keystrokes", type in "trSendToDeck" or whatever you used
in step 1.

Basically, when you select the option from the menu (or hit the
shortcut), it calls the parent trigger (set up in step 2), which then
triggers the child commands (conditionally).  The parent trigger is
needed to combine all child triggers into one menu option.  

Note that you may have to be a little careful if final actions can
change the conditions.  For example, if you have an action that changes
ValueA to 1 if it is 0 and changes ValueA to 0 if it is 1 (while
something else changes it to 2, hence not using a wrapping variable),
you have to be creative.  If ValueA is 0 and triggers the first action
first (changing ValueA to 1), it now meets the criteria of the second
action (which changes it back to 0).  Hilarity ensues.  I wish they
would create a "Conditonal trigger" that would trigger trA if value is
'A', trigger trB if value is 'B', etc.

Also note, this method (with the parent trigger) can be used with all
sorts of things.  For example, a conditional delete option: Delete
command has no menu option and trigger such as "trDelete", while Trigger
Action command has menu command "Delete", keyboard command CTRL-D, and
triggers "trDelete" if a condition is met..."Delete" option in menu will
be greyed out if condition is not met.

_______________________________________________
Read this topic online here:
http://www.vassalengine.org/forum/viewtopic.php?p=44691#p44691


More information about the messages mailing list