I am using graphic dice for my module (layer trait) and have a number of them on the sideboard that players can drag onto a rolling area to match the number of dice they need. It works, but it’s quite sloppy (dice all over the place after a little while).
So what I would like to do is have a graphic on the sideboard with an increase and decrease graphic and a graphic in the middle showing the number of dice to be rolled. As it is increased or decreased, I want that number of dice to show up in the ‘rolling area’ from nowhere.
Players would then select the dice and roll. For the next battle, they would simply increase or decrease the ‘number of dice’ graphic which again in turn, would present them with the appropriate number of dice to be rolled.
But I’m afraid this wasn’t quite what I was looking for. Perhaps I needed to explain it better.
What I was trying to do with the dice incrementor graphic (the one with the plus/minus sign) was by increasing or decreasing that, the appropriate number of dice would appear in the battle boxes below. So for example, when the Battle 1 incrementor is set to 4, then 4 graphic dice appear in the Battle 1 box. The player would then roll those dice (each die has symbols on their face that have specific meaning in the game).
So in essence, the graphic dice would be stored somewhere (perhaps off board?) then when the incrementor is changed, it moves them to the battle boxes. Would that work? If so, how can I have something hidden then appear? Or is there a better way to handle this?
You can have each dice use a layer trait. Start it at layer 0 (zero) with that layer being a transparent graphic. Then when the variable used to control which layer is display is reset to 0, the die will disappear. Any other number will display the graphic you have assigned to that number.
I do have a layer trait on the dice already that is set to random (in order to show the symbolic face when rolled). If I add another level to that layer with a blank graphic, won’t it skew the results? (ie. the dice now have 7 sides…and wouldn’t it be then possible for the blank side to be rolled?).
The other problem is that I’m not looking to have the ‘incrementor’ actually roll the dice, I just want it to increase or decrease the number of dice available for the player to roll. So if a 4 is showing on the incrementor, 4 dice appear in the battle box. The player can then select those dice and roll them.
I’m thinking that the incrementor could use the ‘send to location’ to have the dice appear or disappear accordingly. Seems like this would be the most straightforward method to produce the result I am trying to describe. But I don’t yet understand how to make the dice visible and invisible. Is there a method to do this?
You could set up your D6 roll to add 1 to the result. Therefore, your die rolls would actually be 2 thru 7. Then you can use a value of 1 to reset the die to blank. …or, you can set the layer to Level 1 = 0. Since a D6 can never roll a 0, the 0 would only be used to reset the die.
When a player rolls those dice, do you want it set up so that they roll them individually or collectively?
You could probably go either way here. You can have the dice remain on the table with a blank graphic so they are invisible when not used or you can have them in a hidden deck and withdraw the dice (with a Send to Location) from that deck when needed and sent back (Return to Deck) when you don’t. The advantage to that would be they wouldn’t need a blank graphic as level one.
Do the dice in the mod you sent me have all the graphics for the die sides in place? If so, I’ll come up with another sample. I’m off work for a week and a half so I should be able to get to this in the next day or so.
I’m not sure how to set the results to only be 2 thru 7 but I see what you mean here. I’m also not sure how I could allow only the proper number of dice to roll? Even though the blank face wouldn’t appear to the player, it could still be selected and rolled no?
They would be rolled collectively for each battle. I liked your ‘Roll’ button, it would save on having to make the player select then right click on the dice to be rolled. I suppose that would need to be a Trigger to get the dice appearing to be rolled on a battle basis?
Ahhh…a hidden deck would be the answer here then? I was tinkering last night with the concept but am afraid I am out of my depth (and it was getting late). But yes, the idea would be to have all of the dice somewhere hidden from both players. Then when the incrementor is changed from 0 to a number, that number of dice would then appear in the respective battle box. If later decreased, then the extra dice would again be hidden so that only the dice appearing would show results (which makes me wonder, would the hidden dice also show return results?).
Again, ideally, there would then be a “Roll Battle 1” button that would allow the player to avoid having to select the visible dice and right click to roll them.
Yes, the dice that are in the mod sent are functional as dice now with the correct faces in place. Again, much appreciated with the help here, will be sure to give you credit!
You guys don’t mind if I … um … borrow the ideas, do you? I’m going to be adding dice to my module soon, and the adjustable number of dice you are going for here would be a very handy feature for it.
Also, couldn’t you determine the random die result in its own trait, and have the layer set to follow a dynamic property based on that trait, with an extra layer for unused (hidden) dice? That should allow both more than six (ten, twelve, whatever sides your die has) layers and the ability to randomly generate the die roll without getting a “null” result. Or is that what you’re already aiming at, DrNostromo?
Quick note. I’ll be back later for some more discussion.
In the meantime, there’s another thread both of you may be interested it with a sample mod I made just recently. The sample allows for up to 15 dice but with a few adjustments, you can make the sample use any number of dice you want.
…and here’s an answer to some of your previous questions:
You’ll note in the sample that I have the dice graphic levels set to 0 = transparent blank (non-active die), 1 = equals active die. This is controlled by a Dynamic Property (prototype) on each of the dice called DisplayControl. The die roll is set up to roll a D6+1 (results = 2 to 7) and the layers 2 thru 7 will display the results of the die roll.
As far as the proper number of dice rolling, I just made sure that the DisplayControl = 1 (active die) in order to roll it. If the DisplayControl equals 0, then it hasn’t been included and it won’t roll.
I’ve set it up so that once the number of dice is selected, the dice button will roll them. It will also reset the die counter to 0 so that when you click the + or - buttons the dice display will reset as well.
Didn’t need to in this case.
I just set up dice for the first Battle Die roll area. You should be able to duplicate what I’ve done for the second area. I labeled most everything 1-x with x being the die number. When you duplicate it for the second area, just name everything 2 or 2-x. Everything should work for the second set as well. If this still isn’t quite what you had in mind or you’re still having problems with it, let me know.
Drat! No luck. I actually tried to do the old .zip to .vmod trick when I first downloaded it (I recall having to do that with a module awhile back) but no matter what, I get the error message that it’s not a valid vassal module.
The Archive Utility (the default Mac unzip utility) is very aggressive when it comes to zip files.
If you have a zipped module, and try to unzip it on a Mac using the Archive Utility , it will first unzip the zip file, and then find the module inside. The module is itself a zip file, so the Utility will then unzip that too, leaving you with the module components (an images file, a Build file, some other bits) and no explanation for what happened.
If you must deal with a zipped module on Mac OS, I’d recommended you use StuffIt Expander instead, which isn’t quite so aggressive.