What I’m trying to do is create a Yahtzee type of dice game where there are several dice and a few rolls where you can “lock” some of them each time. I have the graphics for the different dice and their possible sides, but I just don’t know where to begin to make it so that each of them can be rolled as a group and then locked. I suppose it would be easy enough to just click each of the dice separately and then just not roll the ones that I want to lock for subsequent rolls, but of course it would work a lot more smoothly if I could have a means for rolling all of the dice, then locking some of them, then rolling the rest, etc.
I am a Vassal hack, no doubt. I can cobble some games together that involve cards and dice and pieces that move around, but once it comes to more complex things, look out… I try to learn from other modules by going into them and poking around to see how some effects are done, but often I’m still at a loss to do those things myself when I try. So if someone can please step me through how to do this dice thing in a “for dummies” kind of step-by-step way, I’d really appreciate that. I can definitely learn and accomplish different things, but I really do need some instruction and direction as opposed to trying to figure out what to do from what someone else already did.
Assuming that your dice are non-moveable pieces, each die should have six layers, the levels of which should follow a property value (one for each die). The property value is the result of one of five dice buttons (which are invisible – i.e., no name, no icon). Each piece should define it’s own global hotkey which rolls its die. This command should be disabled when a property matches (e.g., locked == true). This property can be set via right clicking on the die. Then there is a global key command which rolls the dice.
That’s one way to do it and it’s not the only way and it’s not straightforward. You need to read the help on “Global Key Command”, “Dice Button”, “Layer”, “Global Hotkey”, “Restrict Commands”, and “Dynamic Property”.