Rolling for playing order?

Am I correct assuming there is no functionality in the editor or even at play level to randomly pick playing order for sides/players?

What I need is permutations without repetitions of N numbers/letters/labels (the sides) but the various dice buttons don’t seem to do that.

The documentation mentions an “Internet Dice Button” which seems to have been dropped though…?

Use a shuffled deck of cards with one card per player. This is the same as drawing chits. Otherwise, have both players roll a die and whoever rolls the higher goes first.

  • M.

On 03/04/2008, stine020 < (> wrote:

Post generated using Mail2Forum (

Thus spake “stine020”:

We had to disable the Internet Dice Button feature because the dice
server it used it no longer served rolls without registration. This
wouldn’t have helped you, however, since what you want is drawing
without replacement.

I was working on a replacement dice server capable of doing what you
want, but I haven’t had time to return to that project in the past

The simplest way to do what you want is to make a deck, and shuffle it.


Messages mailing list …

Post generated using Mail2Forum (

On Apr 3, 2008, at 8:08 AM, stine020 wrote:

Well, if N is fixed, you could always pre-compute the permutations and
set up a symbolic dice button that would yield one of those
permutations each time it was rolled.

Messages mailing list …

Post generated using Mail2Forum (

Yeah, I actually had thought about doing that but discarded the idea because I wanted to avoid having to do lots of property matching - all of the 24 permutations possible for 4 sides.

It would have been feasible if one could do things like int($result$/1000), int($result$/100)-int($result/1000)*10 etc, but as far as I know there are no numeric (or string) functions available in Vassal.

The deck thing is really the simple and easy solution I hadn’t thought of, thanks everybody for that hint.

P.S. On a side issue… is it possible to make a deck unselectable? I mean no dragging and dropping of cards? (I am a control freak and would like to restrict drawing and discarding of cards from a deck to specific key commands triggered by certain conditions).

On Apr 4, 2008, at 8:20 AM, stine020 wrote:

Actually, I wasn’t suggesting anything that involves die roll
results. Rather just something like symbolic die with sides labeled

For N=3, you use a six-sided symbolic die:

“1, 2, 3”
“1, 3, 2”
“2, 3, 1”
“2, 1, 3”
“3, 1, 2”
“3, 2, 1”

For N=4, you need 24 sides:

1, 2, 3, 4
1, 2, 4, 3
1, 3, 2, 4
1, 3, 4, 2
1, 4, 2, 3
1, 4, 3, 2
2, 1, 3, 4
2, 1, 4, 3
2, 3, 1, 4
2, 3, 4, 1
2, 4, 1, 3
2, 4, 3, 1
3, 1, 2, 4
3, 1, 4, 2
3, 2, 1, 4
3, 2, 4, 1
3, 4, 1, 2
3, 4, 2, 1
4, 1, 2, 3
4, 1, 3, 2
4, 2, 1, 3
4, 2, 3, 1
4, 3, 1, 2
4, 3, 2, 1

Messages mailing list …

Post generated using Mail2Forum (

Wait, you are not suggesting anything involving die rolls but then you suggest a symbolic die…? Not sure I follow your meaning ;)

I understood what you suggested, but as I said (and you wrote down in full) it involves 24 strings (or 4 digit numbers) which have to be checked somehow, which is not easily down without intrinsic number or string functions.

What I mean is: say that your die returns “4,1,2,3”. Now what? How do easily extract the information that first player is player 4, second to go is player 1 etc? Without setting up a whopping 24 string comparisons, I mean, or maybe a similarly complex regexp.

Maybe I didn’t clearly state that I want to programmatically use the result of the roll to trigger certain commands (like giving control of certain units to whichever player has to start), not have players interpret the result on their own. The deck method is the really easy solution, instead.

On Apr 4, 2008, at 1:59 PM, stine020 wrote:

Ah. I was just assuming that the players could interpret the results
of the die roll.

Messages mailing list …

Post generated using Mail2Forum (