Does the Updown control disable the $GUI_DOCKALL setting?

Recommended Posts

Zealot 0

Zealot 0

I have an updown control linked to an input box and all the controls have $GUI_DOCKALL set. When I resize the window to hide the controls, then expand it again, the inputbox width has changed. Input boxes by themselves don't display this behavior. Am I doing something wrong, or is there a way to fix it?

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_outfile=Odds and Evens v0.1.exe#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****;~ Program: Odds and Evens;~ Script Compiler: Autoit version: 3;~ Author: Simon Goodson;~ Email: zealott@hotmail.com;~ Date: 7 Nov 2007;~;~ Based on: Flanf's Die Roller v1.6;~ Coded by: Christoph Flandorfer;~ Created on: 13 Sept 2006;~;~ Special Thanks To: smashly from the forums for helping me to unclutter the rolled up window;~;~ Script Function:;~ A dice roller, card picker, and point tracker for use in RPGs or whatever;~;~ Odds and Evens;~ --------------;~ Planned v0.3 Create a new way to select which games are displayed, combo or list box;~ Move the point tracker out into the general area somewhere;~ ;~ ;~ v0.2 Swapped the positions of the "Roll Up Window" and KWoT checkbox button with the "Clear Results";~ button and made the window roll up to just show the "Roll Down Window" and KWoT buttons;~ Changed the Generic tab to DnD, and left the Attribute Roll on that tab, all of the other;~ functions were moved to the essentials area;~ Added 5 point pools to the Essentails area;~ Changed the game selection function to a combo box;~ v0.1 Renamed app to "Odds and Evens";~ Began redisign of GUI;~ Adding "Stay on Top" feature;~ Adding "Roll-up Window" feature;~ Adding Fate Dice function;~ ;~ Flanf's Dice Roller;~ -------------------;- Version 1.6a: Switched the output window around to get more space for the dice buttons;- Added a tab to perform d1 through d20 wild dice.;- Added the d20 dice to the S.Worlds tab, mostly for asthetics;- Moved the card functions to its own section;- Implemented 3 decks, 1 always containing all the cards, 1 to pick 1 card at a time out, and;- one to issue multiple cards for combat also with a function to pick singles if needed;- Moved the sort function so that all the dice results could be sorted or not depending on preference;- Generated a random number and used it to seed the random table;- Added a bunch of remarks to help me (Simon) understand the code;~ Version 1.6: You can now draw Cards WITHOUT Shuffeling under Savage Worlds.;~ Version 1.5: Marked the Wild Die Result in Savage Worlds.;~ Version 1.4: The Fate-Table moved from the tabs to the right side and will be always easily available. Massive Changes to the GUI;~ Version 1.3: Changes in the Output of the Savage Die Rolls (Wild Card & Sort Function). Savage Worlds is now default Tab;~ Version 1.2: Includes now part of the Fate-Table from the Mythic RPG;~ Version 1.1: Now with Pokercards (+2 Joker) (Savage Worlds)#include <GUIConstants.au3>#include <Array.au3>;Global $cardsindeckGlobal$FullDeck;Declare 3 arrays to contain card decksGlobal$CardDeck1Global$CardDeck2
InitializeFullDeck();Calls the Initialize function to create the cards decks
InitializeCardDeck1()
InitializeCardDeck2(); Generates a random number between 1 and 1 million and uses it to seed the random number generator$RandomSeed=random(1,1000000,1)SRandom($RandomSeed); Define the GUI$GUIHandle=GUICreate("Odds and Evens",574,469,-1,-1)$ControlAreaDummyStart=GUICtrlCreateDummy();<-- Added this here for start of controls$RollUpWindow=GUICtrlCreateButton("Roll Up Window",5,5,105,20)$RollDownWindow=GUICtrlCreateButton("Roll Down Window",5,5,105,20);~ Hide and disable the Roll Down buttonGUICtrlSetState($RollDownWindow,$GUI_DISABLE+$GUI_HIDE)$KeepOnTop=GUICtrlCreateCheckbox("",125,8,15,15)GUICtrlCreateLabel("Keep Window on Top",141,9)$GroupLSide=5$GroupTop=28$Essentials=GUICtrlCreateGroup("Essentials",$GroupLSide,$GroupTop,564,197)GUICtrlSetFont($Essentials,11,600)$DiceGroupSide=9$DiceGroupTop=45$DiceGroupWidth=156$DiceGroupHeight=116$Dice1stColumnOffset=3$DiceColumnSpacing=52$Dice1stRowOffset=17$DiceRowSpacing=25$DiceButtonMultiplierWidth=15$DicePipButtonWidth=32$DiceSetPipWidth=$DiceButtonMultiplierWidth+$DicePipButtonWidth$DiceButtonHeight=20$DiceLabel=GUICtrlCreateGroup("Dice",$DiceGroupSide,$DiceGroupTop,$DiceGroupWidth,$DiceGroupHeight,$BS_CENTER)GUICtrlSetFont($DiceLabel,9,400,4);1st Row$SpecialButtonXD2=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset,$DiceGroupTop+$Dice1stRowOffset,$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD2=GUICtrlCreateButton("d2",$DiceGroupSide+$Dice1stColumnOffset+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset,$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD3=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1),$DiceGroupTop+$Dice1stRowOffset,$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD3=GUICtrlCreateButton("d3",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset,$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD4=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2),$DiceGroupTop+$Dice1stRowOffset,$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD4=GUICtrlCreateButton("d4",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset,$DicePipButtonWidth,$DiceButtonHeight);2nd Row$SpecialButtonXD6=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD6=GUICtrlCreateButton("d6",$DiceGroupSide+$Dice1stColumnOffset+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD8=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1),$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD8=GUICtrlCreateButton("d8",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD10=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2),$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD10=GUICtrlCreateButton("d10",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*1),$DicePipButtonWidth,$DiceButtonHeight);3rd Row$SpecialButtonXD12=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD12=GUICtrlCreateButton("d12",$DiceGroupSide+$Dice1stColumnOffset+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD20=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1),$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD20=GUICtrlCreateButton("d20",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*1)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DicePipButtonWidth,$DiceButtonHeight)$SpecialButtonXD100=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2),$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DiceButtonMultiplierWidth,$DiceButtonHeight)$DiceButtonD100=GUICtrlCreateButton("d100",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*2)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*2),$DicePipButtonWidth,$DiceButtonHeight);4th Row$SpecialButtonXDY=GUICtrlCreatebutton("x",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*.5),$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*3),$DiceButtonMultiplierWidth,$DiceButtonHeight)$SpecialButtonDiePip=GUICtrlCreatebutton("dY",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*.5)+$DiceButtonMultiplierWidth-1,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*3),$DicePipButtonWidth,$DiceButtonHeight)$DiceSetPip=GUICtrlCreatebutton("Set Pip",$DiceGroupSide+$Dice1stColumnOffset+($DiceColumnSpacing*.5)+$DiceButtonMultiplierWidth+$DicePipButtonWidth-2,$DiceGroupTop+$Dice1stRowOffset+($DiceRowSpacing*3),$DiceSetPipWidth,$DiceButtonHeight)$ProbGroupSide=168$ProbGroupTop=45$ProbGroupWidth=144$ProbGroupHeight=116$Prob1stColumnOffset=3$ProbColumnSpacing=73$Prob1stRowOffset=17$ProbRowSpacing=25$ProbButtonWidth=65$ProbButtonHeight=20$ProbLabel=GUICtrlCreateGroup("Probabilities",$ProbGroupSide,$ProbGroupTop,$ProbGroupWidth,$ProbGroupHeight,$BS_CENTER)GUICtrlSetFont($ProbLabel,9,400,4);1st Row$ProbabilityWeak=GUICtrlCreateButton("Weak",$ProbGroupSide+$Prob1stColumnOffset,$ProbGroupTop+$Prob1stRowOffset,$ProbButtonWidth,$ProbButtonHeight)$ProbabilityLow=GUICtrlCreateButton("Low",$ProbGroupSide+$Prob1stColumnOffset+($ProbColumnSpacing*1),$ProbGroupTop+$Prob1stRowOffset,$ProbButtonWidth,$ProbButtonHeight);2nd Row$ProbabilityBelowAvg=GUICtrlCreateButton("Below Av.",$ProbGroupSide+$Prob1stColumnOffset,$ProbGroupTop+$Prob1stRowOffset+($ProbRowSpacing*1),$ProbButtonWidth,$ProbButtonHeight)$ProbabilityAvg=GUICtrlCreateButton("Average",$ProbGroupSide+$Prob1stColumnOffset+($ProbColumnSpacing*1),$ProbGroupTop+$Prob1stRowOffset+($ProbRowSpacing*1),$ProbButtonWidth,$ProbButtonHeight);3rd Row$ProbabilityAboveAvg=GUICtrlCreateButton("Above Av.",$ProbGroupSide+$Prob1stColumnOffset,$ProbGroupTop+$Prob1stRowOffset+($ProbRowSpacing*2),$ProbButtonWidth,$ProbButtonHeight)$ProbabilityHigh=GUICtrlCreateButton("High",$ProbGroupSide+$Prob1stColumnOffset+($ProbColumnSpacing*1),$ProbGroupTop+$Prob1stRowOffset+($ProbRowSpacing*2),$ProbButtonWidth,$ProbButtonHeight);4th Row$ProbabilityExcep=GUICtrlCreateButton("Exceptional",$ProbGroupSide+$Prob1stColumnOffset+($ProbColumnSpacing*.5),$ProbGroupTop+$Prob1stRowOffset+($ProbRowSpacing*3),$ProbButtonWidth,$ProbButtonHeight)$CardGroupSide=315$CardGroupTop=45$CardGroupWidth=250$CardGroupHeight=143$CardDeck1stColumnOffset=4$CardDeckColumnSpacing=123$CardDeck1stRowOffset=17$CardDeckWidth=119$CardFullDeckHeight=37$CardDeckRowSpacing=$CardFullDeckHeight+2$CardButtonColumnOffset=3$CardButton1stRowOffset=13$CardDeck1ButtonSpacing=22$CardDeck2ButtonSpacing=31$CardDeck2Height=98$CardButtonWidth=113$CardButtonHeight=20$ExampleDeckTop=$CardGroupTop+$CardDeck1stRowOffset+$CardDeck2Height+2$CardGroup=GUICtrlCreateGroup("Cards",$CardGroupSide,$CardGroupTop,$CardGroupWidth,$CardGroupHeight,$BS_CENTER)GUICtrlSetFont($CardGroup,9,400,4)GUICtrlCreateGroup("An Always Full Deck",$CardGroupSide+$CardDeck1stColumnOffset,$CardGroupTop+$CardDeck1stRowOffset,$CardDeckWidth,$CardFullDeckHeight)$DrawRandomCard=GUICtrlCreatebutton("Draw a Random Card",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset,$CardButtonWidth,$CardButtonHeight)GUICtrlCreateGroup("Deck 1",$CardGroupSide+$CardDeck1stColumnOffset,$CardGroupTop+$CardDeck1stRowOffset+$CardDeckRowSpacing,$CardDeckWidth,59)$DrawFromDeck1=GUICtrlCreatebutton("Draw a Card",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset+$CardDeckRowSpacing,$CardButtonWidth,$CardButtonHeight)$ReshuffleDeck1=GUICtrlCreateButton("Reshuffle Deck",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset+$CardDeckRowSpacing+$CardDeck1ButtonSpacing,$CardButtonWidth,$CardButtonHeight)GUICtrlCreateGroup("Deck 2",$CardGroupSide+$CardDeck1stColumnOffset+$CardDeckColumnSpacing,$CardGroupTop+$CardDeck1stRowOffset,$CardDeckWidth,$CardDeck2Height)$IssueCards=GUICtrlCreateButton("Issue X Cards",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset+$CardDeckColumnSpacing,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset,$CardButtonWidth,$CardButtonHeight)$DrawFromDeck2=GUICtrlCreatebutton("Draw a Single Card",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset+$CardDeckColumnSpacing,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset+($CardDeck2ButtonSpacing*1),$CardButtonWidth,$CardButtonHeight)$ReshuffleDeck2=GUICtrlCreateButton("Reshuffle Deck",$CardGroupSide+$CardDeck1stColumnOffset+$CardButtonColumnOffset+$CardDeckColumnSpacing,$CardGroupTop+$CardDeck1stRowOffset+$CardButton1stRowOffset+($CardDeck2ButtonSpacing*2)-1,$CardButtonWidth,$CardButtonHeight)$ShowADeck=GUICtrlCreatebutton("Show Example Deck",$CardGroupSide+$CardDeck1stColumnOffset+($CardDeckColumnSpacing*.5),$ExampleDeckTop,$CardDeckWidth,$CardButtonHeight)$PtsGroupSide=9$PtsGroupTop=163$PtsGroupWidth=303$PtsGroupHeight=58$PtsLabelColumnOffset=11$PtsLabelColumnSpacing=63$PtsLabelRowOffset=18$PtsLabelWidth=30$PtsLabelHeight=12$PtsPoolColumnOffset=4$PtsPoolColumnSpacing=63$PtsPoolRowOffset=33$PoolWidth=43$PoolHeight=20$PointsGroup=GUICtrlCreateGroup("Points",$PtsGroupSide,$PtsGroupTop,$PtsGroupWidth,$PtsGroupHeight,$BS_CENTER)GUICtrlSetFont($PointsGroup,9,400,4)GUICtrlCreateLabel("Pool 1",$PtsGroupSide+$PtsLabelColumnOffset,$PtsGroupTop+$PtsLabelRowOffset,$PtsLabelWidth,$PtsLabelHeight)$Pool1=GUICtrlCreateInput("1",$PtsGroupSide+$PtsPoolColumnOffset,$PtsGroupTop+$PtsPoolRowOffset,$PoolWidth,$PoolHeight,$ES_NUMBER)GUICtrlCreateUpdown($Pool1)GUICtrlCreateLabel("Pool 2",$PtsGroupSide+$PtsLabelColumnOffset+($PtsLabelColumnSpacing*1),$PtsGroupTop+$PtsLabelRowOffset,$PtsLabelWidth,$PtsLabelHeight)$Pool2=GUICtrlCreateInput("1",$PtsGroupSide+$PtsPoolColumnOffset+($PtsPoolColumnSpacing*1),$PtsGroupTop+$PtsPoolRowOffset,$PoolWidth,$PoolHeight,$ES_NUMBER)GUICtrlCreateUpdown($Pool2)GUICtrlSetResizing($Pool2,$GUI_DOCKSIZE)GUICtrlCreateLabel("Pool 3",$PtsGroupSide+$PtsLabelColumnOffset+($PtsLabelColumnSpacing*2),$PtsGroupTop+$PtsLabelRowOffset,$PtsLabelWidth,$PtsLabelHeight)$Pool3=GUICtrlCreateInput("1",$PtsGroupSide+$PtsPoolColumnOffset+($PtsPoolColumnSpacing*2),$PtsGroupTop+$PtsPoolRowOffset,$PoolWidth,$PoolHeight,$ES_NUMBER)GUICtrlCreateUpdown($Pool3)GUICtrlSetResizing($Pool3,$GUI_DOCKSIZE)GUICtrlCreateLabel("Pool 4",$PtsGroupSide+$PtsLabelColumnOffset+($PtsLabelColumnSpacing*3),$PtsGroupTop+$PtsLabelRowOffset,$PtsLabelWidth,$PtsLabelHeight)$Pool4=GUICtrlCreateInput("1",$PtsGroupSide+$PtsPoolColumnOffset+($PtsPoolColumnSpacing*3),$PtsGroupTop+$PtsPoolRowOffset,$PoolWidth,$PoolHeight,$ES_NUMBER)GUICtrlCreateUpdown($Pool4)GUICtrlSetResizing($Pool4,$GUI_DOCKSIZE)GUICtrlCreateLabel("Pool 5",$PtsGroupSide+$PtsLabelColumnOffset+($PtsLabelColumnSpacing*4),$PtsGroupTop+$PtsLabelRowOffset,$PtsLabelWidth,$PtsLabelHeight)$Pool5=GUICtrlCreateInput("1",$PtsGroupSide+$PtsPoolColumnOffset+($PtsPoolColumnSpacing*4),$PtsGroupTop+$PtsPoolRowOffset,$PoolWidth,$PoolHeight,$ES_NUMBER)GUICtrlCreateUpdown($Pool5)GUICtrlSetResizing($Pool5,$GUI_DOCKSIZE)$DisplayHelp=GUICtrlCreatebutton("Help",521,191,45,29)GUICtrlCreateLabel("Select a"&@crlf&"Number",8,260)$NumberSelected=GUICtrlCreateList("1",5,290,45,183,$WS_VSCROLL)For$i=2to100GUICtrlSetData($NumberSelected,$i)Next$GameLabel=GUICtrlCreateLabel("Game:",10,231,45,20)GUICtrlSetFont($GameLabel,11,600)$GameSelector=GUICtrlCreateCombo("",57,229,239,20)GUICtrlSetData($GameSelector,"DnD|Fate|Savage Worlds|Savage Worlds- Ravaged Rules","Fate")$GameAreaDummyStart=GUICtrlCreateDummy()$TabLeftSide=57$TabTop=248$TabWidth=239$TabHeight=217$SavageWorldsDummyStart=GUICtrlCreateDummy()$SavageWorlds=GUICtrlCreateGroup("",$TabLeftSide,$TabTop,$TabWidth,$TabHeight)$MainButtonW=30$BigButtonW=55$SmallButtonW=17$ButtonH=25$1stCLSide=109$2ndCLSide=$1stCLSide+101$MidCLSide=$1stCLSide+38$TopRow=285$1stRTop=$TopRow$2ndRTop=$TopRow+40$3rdRTop=$TopRow+80$4thRTop=$TopRow+120;First Row$SWButtonUnsk=GUICtrlCreatebutton("Unskilled",$MidCLSide,$1stRTop,$BigButtonW,$ButtonH)$SWButtonUnskx=GUICtrlCreatebutton("x",$MidCLSide-$SmallButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWButtonUnskw=GUICtrlCreatebutton("w",$MidCLSide+$BigButtonW,$1stRTop,$SmallButtonW,$ButtonH);Second Row$SWButtonD4=GUICtrlCreatebutton("d4",$1stCLSide,$2ndRTop,$MainButtonW,$ButtonH)$SWButtonD4x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWButtonD4w=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWButtonD6=GUICtrlCreatebutton("d6",$2ndCLSide,$2ndRTop,$MainButtonW,$ButtonH)$SWButtonD6x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWButtonD6w=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$2ndRTop,$SmallButtonW,$ButtonH);Third Row$SWButtonD8=GUICtrlCreatebutton("d8",$1stCLSide,$3rdRTop,$MainButtonW,$ButtonH)$SWButtonD8x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWButtonD8w=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWButtonD10=GUICtrlCreatebutton("d10",$2ndCLSide,$3rdRTop,$MainButtonW,$ButtonH)$SWButtonD10x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWButtonD10w=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$3rdRTop,$SmallButtonW,$ButtonH);Forth Row$SWButtonD12=GUICtrlCreatebutton("d12",$1stCLSide,$4thRTop,$MainButtonW,$ButtonH)$SWButtonD12x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWButtonD12w=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWButtonD20=GUICtrlCreateButton("d20",$2ndCLSide,$4thRTop,$MainButtonW,$ButtonH)$SWButtonD20x=GUICtrlCreateButton("x",$2ndCLSide-$SmallButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWButtonD20w=GUICtrlCreateButton("w",$2ndCLSide+$MainButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SavageWorldsDummyEnd=GUICtrlCreateDummy()$RavagedRulesDummyStart=GUICtrlCreateDummy()$RavagedRules=GUICtrlCreateGroup("",$TabLeftSide,$TabTop,$TabWidth,$TabHeight)$MainButtonW=30$SmallButtonW=17$ButtonH=20$1stCLSide=83$2ndCLSide=161$3rdCLSide=240$LSideMod=37$TopRow=275$1stRTop=$TopRow$2ndRTop=$TopRow+24$3rdRTop=$TopRow+49$4thRTop=$TopRow+73$5thRTop=$TopRow+98$6thRTop=$TopRow+122$7thRTop=$TopRow+147;First Row$SWModButtonD1=GUICtrlCreatebutton("d1",$1stCLSide,$1stRTop,$MainButtonW,$ButtonH)$SWModButtonD1x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWModButtonD1W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWModButtonD2=GUICtrlCreatebutton("d2",$2ndCLSide,$1stRTop,$MainButtonW,$ButtonH)$SWModButtonD2x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWModButtonD2W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWModButtonD3=GUICtrlCreatebutton("d3",$3rdCLSide,$1stRTop,$MainButtonW,$ButtonH)$SWModButtonD3x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$1stRTop,$SmallButtonW,$ButtonH)$SWModButtonD3W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$1stRTop,$SmallButtonW,$ButtonH);Second Row$SWModButtonD4=GUICtrlCreatebutton("d4",$1stCLSide,$2ndRTop,$MainButtonW,$ButtonH)$SWModButtonD4x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWModButtonD4W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWModButtonD5=GUICtrlCreatebutton("d5",$2ndCLSide,$2ndRTop,$MainButtonW,$ButtonH)$SWModButtonD5x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWModButtonD5W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWModButtonD6=GUICtrlCreatebutton("d6",$3rdCLSide,$2ndRTop,$MainButtonW,$ButtonH)$SWModButtonD6x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$2ndRTop,$SmallButtonW,$ButtonH)$SWModButtonD6W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$2ndRTop,$SmallButtonW,$ButtonH);Third Row$SWModButtonD7=GUICtrlCreatebutton("d7",$1stCLSide,$3rdRTop,$MainButtonW,$ButtonH)$SWModButtonD7x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWModButtonD7W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWModButtonD8=GUICtrlCreatebutton("d8",$2ndCLSide,$3rdRTop,$MainButtonW,$ButtonH)$SWModButtonD8x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWModButtonD8W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWModButtonD9=GUICtrlCreatebutton("d9",$3rdCLSide,$3rdRTop,$MainButtonW,$ButtonH)$SWModButtonD9x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$3rdRTop,$SmallButtonW,$ButtonH)$SWModButtonD9W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$3rdRTop,$SmallButtonW,$ButtonH);Fourth Row$SWModButtonD10=GUICtrlCreatebutton("d10",$1stCLSide,$4thRTop,$MainButtonW,$ButtonH)$SWModButtonD10x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWModButtonD10W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWModButtonD11=GUICtrlCreatebutton("d11",$2ndCLSide,$4thRTop,$MainButtonW,$ButtonH)$SWModButtonD11x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWModButtonD11W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWModButtonD12=GUICtrlCreatebutton("d12",$3rdCLSide,$4thRTop,$MainButtonW,$ButtonH)$SWModButtonD12x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$4thRTop,$SmallButtonW,$ButtonH)$SWModButtonD12W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$4thRTop,$SmallButtonW,$ButtonH);Fifth Row$SWModButtonD13=GUICtrlCreatebutton("d13",$1stCLSide,$5thRTop,$MainButtonW,$ButtonH)$SWModButtonD13x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$5thRTop,$SmallButtonW,$ButtonH)$SWModButtonD13W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$5thRTop,$SmallButtonW,$ButtonH)$SWModButtonD14=GUICtrlCreatebutton("d14",$2ndCLSide,$5thRTop,$MainButtonW,$ButtonH)$SWModButtonD14x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$5thRTop,$SmallButtonW,$ButtonH)$SWModButtonD14W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$5thRTop,$SmallButtonW,$ButtonH)$SWModButtonD15=GUICtrlCreatebutton("d15",$3rdCLSide,$5thRTop,$MainButtonW,$ButtonH)$SWModButtonD15x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$5thRTop,$SmallButtonW,$ButtonH)$SWModButtonD15W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$5thRTop,$SmallButtonW,$ButtonH);Sixth Row$SWModButtonD16=GUICtrlCreatebutton("d16",$1stCLSide,$6thRTop,$MainButtonW,$ButtonH)$SWModButtonD16x=GUICtrlCreatebutton("x",$1stCLSide-$SmallButtonW,$6thRTop,$SmallButtonW,$ButtonH)$SWModButtonD16W=GUICtrlCreatebutton("w",$1stCLSide+$MainButtonW,$6thRTop,$SmallButtonW,$ButtonH)$SWModButtonD17=GUICtrlCreatebutton("d17",$2ndCLSide,$6thRTop,$MainButtonW,$ButtonH)$SWModButtonD17x=GUICtrlCreatebutton("x",$2ndCLSide-$SmallButtonW,$6thRTop,$SmallButtonW,$ButtonH)$SWModButtonD17W=GUICtrlCreatebutton("w",$2ndCLSide+$MainButtonW,$6thRTop,$SmallButtonW,$ButtonH)$SWModButtonD18=GUICtrlCreatebutton("d18",$3rdCLSide,$6thRTop,$MainButtonW,$ButtonH)$SWModButtonD18x=GUICtrlCreatebutton("x",$3rdCLSide-$SmallButtonW,$6thRTop,$SmallButtonW,$ButtonH)$SWModButtonD18W=GUICtrlCreatebutton("w",$3rdCLSide+$MainButtonW,$6thRTop,$SmallButtonW,$ButtonH);Seventh Row$SWModButtonD19=GUICtrlCreatebutton("d19",$1stCLSide+$LSideMod,$7thRTop,$MainButtonW,$ButtonH)$SWModButtonD19x=GUICtrlCreatebutton("x",$1stCLSide+$LSideMod-$SmallButtonW,$7thRTop,$SmallButtonW,$ButtonH)$SWModButtonD19W=GUICtrlCreatebutton("w",$1stCLSide+$LSideMod+$MainButtonW,$7thRTop,$SmallButtonW,$ButtonH)$SWModButtonD20=GUICtrlCreatebutton("d20",$2ndCLSide+$LSideMod,$7thRTop,$MainButtonW,$ButtonH)$SWModButtonD20x=GUICtrlCreatebutton("x",$2ndCLSide+$LSideMod-$SmallButtonW,$7thRTop,$SmallButtonW,$ButtonH)$SWModButtonD20W=GUICtrlCreatebutton("w",$2ndCLSide+$LSideMod+$MainButtonW,$7thRTop,$SmallButtonW,$ButtonH)$RavagedRulesDummyEnd=GUICtrlCreateDummy()$FateDummyStart=GUICtrlCreateDummy()$Fate=GUICtrlCreateGroup("",$TabLeftSide,$TabTop,$TabWidth,$TabHeight)GUICtrlCreateLabel("+8 Legendary"&@CRLF&"+7 Epic"&@CRLF&"+6 Fantastic"&@CRLF&"+5 Superb"&@CRLF&"+4 Great"&@CRLF&"+3 Good"&@CRLF&"+2 Fair"&@CRLF&"+1 Average"&@CRLF&" 0 Mediocre"&@CRLF&"-1 Poor"&@CRLF&"-2 Terrible",$TabLeftSide+20,$TabTop+25,100,175)GUICtrlSetFont(-1,9,400)$LeftSide=183$TopOfButton=334$FtButton4dF=GUICtrlCreateButton("4dF",$LeftSide,$TopOfButton,40,40)$FtButtonXdF=GUICtrlCreateButton("XdF",$LeftSide+48,$TopOfButton,40,40)$FateDummyEnd=GUICtrlCreateDummy()$DnDDummyStart=GUICtrlCreateDummy()$DnD=GUICtrlCreateGroup("",$TabLeftSide,$TabTop,$TabWidth,$TabHeight)$DnDAttrib=GUICtrlCreatebutton("DnD Attribute Roll",120,335,120,25)$DnDDummyEnd=GUICtrlCreateDummy()$GameAreaDummyEnd=GUICtrlCreateDummy()$BaseOutputLeft=300$BaseOutputTop=229$SortResults=GUICtrlCreateCheckbox("",$BaseOutputLeft+2,$BaseOutputTop+3,15,15)GUICtrlCreateLabel("Sort Results",$BaseOutputLeft+19,$BaseOutputTop+4)$ClearButton=GUICtrlCreateButton("Clear Results",$BaseOutputLeft+194,$BaseOutputTop,75,20)$OutputWindow=GUICtrlCreateEdit("",$BaseOutputLeft,$BaseOutputTop+25,269,210)$ControlAreaDummyEnd=GUICtrlCreateDummy()For$q=$GameAreaDummyStartTo$GameAreaDummyEndGUICtrlSetState($q,$GUI_DISABLE+$GUI_HIDE)NextFor$q=$FateDummyStartTo$FateDummyEndGUICtrlSetState($q,$GUI_ENABLE+$GUI_SHOW)NextGuiSetState()For$q=$ControlAreaDummyStartTo$ControlAreaDummyEndGUICtrlSetResizing($q,$GUI_DOCKALL)Next; Run the GUI until the dialog is closedWhile1$msg=GUIGetMsg()SelectCase$msg=$RollDownWindow; 574, 469,GUICtrlSetState($RollUpWindow,$GUI_ENABLE+$GUI_SHOW)GUICtrlSetState($RollDownWindow,$GUI_DISABLE+$GUI_HIDE)$WinSizeArray=WinGetPos($GUIHandle)WinMove($GUIHandle,"",$WinSizeArray[0],$WinSizeArray[1],$WinSizeArray[2]+325,$WinSizeArray[3]+439)Case$msg=$RollUpWindowGUICtrlSetState($RollDownWindow,$GUI_ENABLE+$GUI_SHOW)GUICtrlSetState($RollUpWindow,$GUI_DISABLE+$GUI_HIDE)$WinSizeArray=WinGetPos($GUIHandle)WinMove($GUIHandle,"",$WinSizeArray[0],$WinSizeArray[1],$WinSizeArray[2]-325,$WinSizeArray[3]-439)Case$msg=$KeepOnTopIfGUICtrlRead($KeepOnTop)=1ThenWinSetOnTop($GUIHandle,"",1)ElseWinSetOnTop($GUIHandle,"",0)EndIfCase$msg=$GameSelectorSelectCaseGUICtrlRead($GameSelector)="Savage Worlds"
SwitchGames($SavageWorldsDummyStart,$SavageWorldsDummyEnd)CaseGUICtrlRead($GameSelector)="Savage Worlds- Ravaged Rules"
SwitchGames($RavagedRulesDummyStart,$RavagedRulesDummyEnd)CaseGUICtrlRead($GameSelector)="Fate"
SwitchGames($FateDummyStart,$FateDummyEnd)CaseGUICtrlRead($GameSelector)="DnD"
SwitchGames($DnDDummyStart,$DnDDummyEnd)EndSelectCase$msg=$ClearButtonGUICtrlSetData($OutputWindow,"")Case$msg=$ProbabilityWeak
ProbabilityTable(3,15,84)Case$msg=$ProbabilityLow
ProbabilityTable(5,25,86)Case$msg=$ProbabilityBelowAvg
ProbabilityTable(7,35,88)Case$msg=$ProbabilityAvg
ProbabilityTable(10,50,91)Case$msg=$ProbabilityAboveAvg
ProbabilityTable(13,65,94)Case$msg=$ProbabilityHigh
ProbabilityTable(15,75,96)Case$msg=$ProbabilityExcep
ProbabilityTable(16,85,97)Case$msg=$SpecialButtonXD2
multidie(2)Case$msg=$DiceButtonD2
easydie(2)Case$msg=$SpecialButtonXD3
multidie(3)Case$msg=$DiceButtonD3
easydie(3)Case$msg=$SpecialButtonXD4
multidie(4)Case$msg=$DiceButtonD4
easydie(4)Case$msg=$SpecialButtonXD6
multidie(6)Case$msg=$DiceButtonD6
easydie(6)Case$msg=$SpecialButtonXD8
multidie(8)Case$msg=$DiceButtonD8
easydie(8)Case$msg=$SpecialButtonXD10
multidie(10)Case$msg=$DiceButtonD10
easydie(10)Case$msg=$SpecialButtonXD12
multidie(12)Case$msg=$DiceButtonD12
easydie(12)Case$msg=$SpecialButtonXD20
multidie(20)Case$msg=$DiceButtonD20
easydie(20)Case$msg=$SpecialButtonXD100
multidie(100)Case$msg=$DiceButtonD100
easydie(100)Case$msg=$SpecialButtonXDY$x=GUICtrlRead($SpecialButtonDiePip)$Pip=StringTrimLeft($x,1)if$x="dY"thenGUICtrlSetData($OutputWindow,"You have to choose a die-type and press the right button"&@CRLF&GuiCtrlRead($OutputWindow))else
multidie($Pip)endifCase$msg=$SpecialButtonDiePip$x=GUICtrlRead($SpecialButtonDiePip)$Pip=StringTrimLeft($x,1)if$x="dY"thenGUICtrlSetData($OutputWindow,"You have to choose a die-type and press the right button"&@CRLF&GuiCtrlRead($OutputWindow))else
easydie($Pip)endifCase$msg=$DiceSetPipGUICtrlSetData($SpecialButtonDiePip,"d"&GUICtrlRead($NumberSelected))Case$msg=$FtButton4dF
FateDie()Case$msg=$FtButtonXdF
FateMultiDie(GUICtrlRead($NumberSelected))Case$msg=$DisplayHelpGUICtrlSetData($OutputWindow,"Help file not written yet, sorry."&@CRLF&GuiCtrlRead($OutputWindow))Case$msg=$DnDAttrib
DnDAttributes()Case$msg=$DrawRandomCard
DrawRandomCard()Case$msg=$DrawFromDeck1
DrawFromDeck1()Case$msg=$ReshuffleDeck1
InitializeCardDeck1()GUICtrlSetData($OutputWindow,"Shuffled deck 1"&@CRLF&GuiCtrlRead($OutputWindow))Case$msg=$IssueCards
IssueCards(GUICtrlRead($NumberSelected));Read the number selection to get the number of players to issue cards to.Case$msg=$DrawFromDeck2
DrawFromDeck2()Case$msg=$ReshuffleDeck2
InitializeCardDeck2()GUICtrlSetData($OutputWindow,"Shuffled deck 2"&@CRLF&GuiCtrlRead($OutputWindow))Case$msg=$ShowADeck_ArrayDisplay($FullDeck,"Card Deck")Case$msg=$SWButtonUnsk
savagedie("unskilled")Case$msg=$SWButtonUnskx;x dices
savagemultidie("unskilled")Case$msg=$SWButtonUnskw;Wild Die
savagewilddie("unskilled")Case$msg=$SWButtonD4
savagedie(4)Case$msg=$SWButtonD4x;x dices
savagemultidie(4)Case$msg=$SWButtonD4w;Wild Die
savagewilddie(4)Case$msg=$SWButtonD6
savagedie(6)Case$msg=$SWButtonD6x;x dices
savagemultidie(6)Case$msg=$SWButtonD6w;Wild Die
savagewilddie(6)Case$msg=$SWButtonD8
savagedie(8)Case$msg=$SWButtonD8x;x dices
savagemultidie(8)Case$msg=$SWButtonD8w;Wild Die
savagewilddie(8)Case$msg=$SWButtonD10
savagedie(10)Case$msg=$SWButtonD10x;x dices
savagemultidie(10)Case$msg=$SWButtonD10w;Wild Die
savagewilddie(10)Case$msg=$SWButtonD12
savagedie(12)Case$msg=$SWButtonD12x;x dices
savagemultidie(12)Case$msg=$SWButtonD12w;Wild Die
savagewilddie(12)Case$msg=$SWButtonD20
savagedie(20)Case$msg=$SWButtonD20x;x dices
savagemultidie(20)Case$msg=$SWButtonD20w;Wild Die
savagewilddie(20)Case$msg=$SWModButtonD1
savagedie(1)Case$msg=$SWModButtonD1x;x dices
savagemultidie(1)Case$msg=$SWModButtonD1W;Wild Die
savagewilddie(1)Case$msg=$SWModButtonD2
savagedie(2)Case$msg=$SWModButtonD2x;x dices
savagemultidie(2)Case$msg=$SWModButtonD2W;Wild Die
savagewilddie(2)Case$msg=$SWModButtonD3
savagedie(3)Case$msg=$SWModButtonD3x;x dices
savagemultidie(3)Case$msg=$SWModButtonD3W;Wild Die
savagewilddie(3)Case$msg=$SWModButtonD4
savagedie(4)Case$msg=$SWModButtonD4x;x dices
savagemultidie(4)Case$msg=$SWModButtonD4W;Wild Die
savagewilddie(4)Case$msg=$SWModButtonD5
savagedie(5)Case$msg=$SWModButtonD5x;x dices
savagemultidie(5)Case$msg=$SWModButtonD5W;Wild Die
savagewilddie(5)Case$msg=$SWModButtonD6
savagedie(6)Case$msg=$SWModButtonD6x;x dices
savagemultidie(6)Case$msg=$SWModButtonD6W;Wild Die
savagewilddie(6)Case$msg=$SWModButtonD7
savagedie(7)Case$msg=$SWModButtonD7x;x dices
savagemultidie(7)Case$msg=$SWModButtonD7W;Wild Die
savagewilddie(7)Case$msg=$SWModButtonD8
savagedie(8)Case$msg=$SWModButtonD8x;x dices
savagemultidie(8)Case$msg=$SWModButtonD8W;Wild Die
savagewilddie(8)Case$msg=$SWModButtonD9
savagedie(9)Case$msg=$SWModButtonD9x;x dices
savagemultidie(9)Case$msg=$SWModButtonD9W;Wild Die
savagewilddie(9)Case$msg=$SWModButtonD10
savagedie(10)Case$msg=$SWModButtonD10x;x dices
savagemultidie(10)Case$msg=$SWModButtonD10W;Wild Die
savagewilddie(10)Case$msg=$SWModButtonD11
savagedie(11)Case$msg=$SWModButtonD11x;x dices
savagemultidie(11)Case$msg=$SWModButtonD11W;Wild Die
savagewilddie(11)Case$msg=$SWModButtonD12
savagedie(12)Case$msg=$SWModButtonD12x;x dices
savagemultidie(12)Case$msg=$SWModButtonD12W;Wild Die
savagewilddie(12)Case$msg=$SWModButtonD13
savagedie(13)Case$msg=$SWModButtonD13x;x dices
savagemultidie(13)Case$msg=$SWModButtonD13W;Wild Die
savagewilddie(13)Case$msg=$SWModButtonD14
savagedie(14)Case$msg=$SWModButtonD14x;x dices
savagemultidie(14)Case$msg=$SWModButtonD14W;Wild Die
savagewilddie(14)Case$msg=$SWModButtonD15
savagedie(15)Case$msg=$SWModButtonD15x;x dices
savagemultidie(15)Case$msg=$SWModButtonD15W;Wild Die
savagewilddie(15)Case$msg=$SWModButtonD16
savagedie(16)Case$msg=$SWModButtonD16x;x dices
savagemultidie(16)Case$msg=$SWModButtonD16W;Wild Die
savagewilddie(16)Case$msg=$SWModButtonD17
savagedie(17)Case$msg=$SWModButtonD17x;x dices
savagemultidie(17)Case$msg=$SWModButtonD17W;Wild Die
savagewilddie(17)Case$msg=$SWModButtonD18
savagedie(18)Case$msg=$SWModButtonD18x;x dices
savagemultidie(18)Case$msg=$SWModButtonD18W;Wild Die
savagewilddie(18)Case$msg=$SWModButtonD19
savagedie(19)Case$msg=$SWModButtonD19x;x dices
savagemultidie(19)Case$msg=$SWModButtonD19W;Wild Die
savagewilddie(19)Case$msg=$SWModButtonD20
savagedie(20)Case$msg=$SWModButtonD20x;x dices
savagemultidie(20)Case$msg=$SWModButtonD20W;Wild Die
savagewilddie(20)EndSelectIf$msg=$GUI_EVENT_CLOSEThenExitLoopWend;~ ---------------------------------------------------------------------------------------------------------------;~ --------------------------------------- End of Main Script ----------------------------------------------------;~ ---------------------------------------------------------------------------------------------------------------Func SwitchGames($StartID,$EndID)SelectCaseGUICtrlGetState($SavageWorlds)<$GUI_DISABLE$DisableAreaStart=$SavageWorldsDummyStart$DisableAreaEnd=$SavageWorldsDummyEndCaseGUICtrlGetState($RavagedRules)<$GUI_DISABLE$DisableAreaStart=$RavagedRulesDummyStart$DisableAreaEnd=$RavagedRulesDummyEndCaseGUICtrlGetState($Fate)<$GUI_DISABLE$DisableAreaStart=$FateDummyStart$DisableAreaEnd=$FateDummyEndCaseGUICtrlGetState($DnD)<$GUI_DISABLE$DisableAreaStart=$DnDDummyStart$DisableAreaEnd=$DnDDummyEndEndSelectFor$q=$DisableAreaStartTo$DisableAreaEndGUICtrlSetState($q,$GUI_DISABLE+$GUI_HIDE)NextFor$q=$StartIDTo$EndIDGUICtrlSetState($q,$GUI_ENABLE+$GUI_SHOW)NextEndFuncFunc FateDie()dim$avResults[4];Stores the "+", "-", and "0" die resultsdim$total;Stores the final totalDim$Roll;Stores the individual die roll (either -1, 0, or 1)Dim$Mod;Stores either "+", "-", or "0" depending on the value of the total$total=0For$i=0To3$Roll=Random(-1,1,1)$total=$total+$RollIf$Roll<0Then$avResults[$i]="-"ElseIf$Roll>0Then$avResults[$i]="+"Else$avResults[$i]="0"EndIfNextIf$total<0Then$Mod="-"ElseIf$total>0Then$Mod="+"Else$Mod=""EndIfIfGUICtrlRead($SortResults)=1then_ArraySort($avResults,1);Sorts array, 1= descendingGUICtrlSetData($OutputWindow,$avResults[0]&", "&$avResults[1]&", "&$avResults[2]&", "&$avResults[3]&" (Result: "&$Mod&Abs($total)&" | 4dF)"&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc FateMultiDie($NumberOfDice)dim$avResults[$NumberOfDice];Stores the "+", "-", and "0" die resultsdim$total;Stores the final totalDim$Roll;Stores the individual die roll (either -1, 0, or 1)Dim$Mod;Stores either "+", "-", or "0" depending on the value of the totalDim$ResultString;Stores the results$total=0For$i=0To$NumberOfDice-1$Roll=Random(-1,1,1)$total=$total+$RollIf$Roll<0Then$avResults[$i]="-"ElseIf$Roll>0Then$avResults[$i]="+"Else$avResults[$i]="0"EndIfNextIf$total<0Then$Mod="-"ElseIf$total>0Then$Mod="+"Else$Mod=""EndIfIfGUICtrlRead($SortResults)=1then_ArraySort($avResults,1);Sorts array, 1= descending$ResultString=$avResults[0];Create the result stringFor$i=1To$NumberOfDice-1$ResultString=$ResultString&", "&$avResults[$i]NextGUICtrlSetData($OutputWindow,$ResultString&" (Result: "&$Mod&Abs($total)&" | "&$NumberOfDice&"dF)"&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc easydie($die); simple die with output$results=Random(1,$die,1)GUICtrlSetData($OutputWindow,$results&" (d"&$die&")"&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc multidie($die); multible dice rolls with outputdim$avArray[GUICtrlRead($NumberSelected)+1];This seems like the array is being declared with an extra element, don't know why$string1=GUICtrlRead($NumberSelected)&"d"&$die;the number of dice followed by the number of pipsfor$i=1toGUICtrlRead($NumberSelected)$avArray[$i-1]=Random(1,$die,1);$avArray[$i-1] is because the array element numbering starts at 0NextifGUICtrlRead($SortResults)=1then_ArraySort($avArray,1);Sorts array, 1= descending$string=$avArray[0];Load the first element of the array inro $string$total=int($avArray[0]);Load the first element of the array into $totalfor$i=1to(GUICtrlRead($NumberSelected)-1)$string=$string&", "&$avArray[$i];Read the array values into a variable seperated by a comma and a space$total=$total+int($avArray[$i]);Add the values in the array togetherNextGUICtrlSetData($OutputWindow,$string&" ("&"Total: "&$total&" | "&$string1&")"&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc DnDAttributes(); D&D 3 Attribute roller (4d6 keep highest 3)dim$avArray[4]dim$total[6]for$j=0to5;Generate 6 different numbersfor$i=0to3;Track array elements$avArray[$i]=Random(1,6,1);Generate random values to store in the array.next_ArraySort($avArray,1);Sort the array, descneding$total[$j]=$avArray[0]+$avArray[1]+$avArray[2];add the first three (highest) values of the sorted array into the result arraynext_ArraySort($total,1);Sort the six results, descendingGUICtrlSetData($OutputWindow,"D&D Attributes: "&$total[0]&", "&$total[1]&", "&$total[2]&", "&$total[3]&", "&$total[4]&", "&$total[5]&@CRLF&GuiCtrlRead($OutputWindow))endfuncFunc savagedie($diex); roll again on max, unskilled d4-2if$diex="unskilled"then;If the button (die) = unskilled, then set the die to 4 and subtract 2 from the results.$die=4$results=-2$string1="unskilled"elseif$diex=1then;If a 1 is passed, use the formula d2-1 provided in the SW Attribute+ Skill doc to resolve the roll$die=2$results=-1$string1="d"&$diexelse;if $diex is 2 or more, the die = the value of the button and the results are not modified.$die=$diex$results=0$string1="d"&$diexendifDo;Generate die numbers until the number generated is less than the maximum number of pips on the die. Add the numbers to get the final results$x=Random(1,$die,1)$results=$results+$xuntil$x<$dieGUICtrlSetData($OutputWindow,$results&" ("&$string1&")"&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc savagemultidie($diex);Same as savagedie but multiple diesdim$avArray[GUICtrlRead($NumberSelected)+1]if$diex="unskilled"then$die=4$string1="unskilled"elseif$diex=1Then$die=2$string1=GUICtrlRead($NumberSelected)&"d"&$diexelse$die=$diex$string1=GUICtrlRead($NumberSelected)&"d"&$diexendiffor$i=1toGUICtrlRead($NumberSelected)if$diex="unskilled"then$avArray[$i-1]=-2elseif$diex=1then$avArray[$i-1]=-1else$avArray[$i-1]=0endifDo$x=Random(1,$die,1)$avArray[$i-1]=$avArray[$i-1]+$x;add the numbers to the $avArray variable at element $i-1until$x<$dieNextifGUICtrlRead($SortResults)=1then_ArraySort($avArray,1)$string=$avArray[0]$total=int($avArray[0])for$i=1to(GUICtrlRead($NumberSelected)-1)$string=$string&", "&$avArray[$i]$total=$total+int($avArray[$i])NextGUICtrlSetData($OutputWindow,$string&" ("&"Total: "&$total&" | "&$string1&")"&@CRLF&GuiCtrlRead($OutputWindow))EndfuncFunc savagewilddie($diex); same as savagedie but roll also an additional d6 (wild die) -> higher roll countsif$diex="unskilled"then$die=4$results1=-2$results2=-2$string1="unskilled"elseif$diex=1then$die=2$results1=-1$results2=-1$string1="d"&$diexelse$die=$diex$results1=0$results2=0$string1="d"&$diexendifDo$x=Random(1,$die,1)$results1=$results1+$xuntil$x<$dieDo$x=Random(1,6,1)$results2=$results2+$xuntil$x<6if$results1>=$results2then$string=$results1&", "&$results2&"w ("&$string1&")"else$string=$results2&"w, "&$results1&" ("&$string1&")"endifGUICtrlSetData($OutputWindow,$string&@CRLF&GuiCtrlRead($OutputWindow))endfuncFunc InitializeFullDeck();Create an array containing a full deck of cards, the placeholder is just window dressing in this deck $FullDeck=_ArrayCreate("Ace of Spades","Ace of Diamonds","Ace of Hearts","Ace of Clubs")For$i=2To13Switch$iCase2To10$CardValue=$iCase11$CardValue="Jack"Case12$CardValue="Queen"Case13$CardValue="King"EndSwitch_ArrayAdd($FullDeck,$CardValue&" of Spades")_ArrayAdd($FullDeck,$CardValue&" of Diamonds")_ArrayAdd($FullDeck,$CardValue&" of Hearts")_ArrayAdd($FullDeck,$CardValue&" of Clubs")Next_ArrayAdd($FullDeck,"Little Joker")_ArrayAdd($FullDeck,"Big Joker")_ArrayAdd($FullDeck,"Placeholder")EndFuncFunc InitializeCardDeck1();create a deck of cards, the placeholder is so that there is still an element in the array when all the rest of the cards have been chosen.$CardDeck1=_ArrayCreate("Ace of Spades","Ace of Diamonds","Ace of Hearts","Ace of Clubs")For$i=2To13Switch$iCase2To10$CardValue=$iCase11$CardValue="Jack"Case12$CardValue="Queen"Case13$CardValue="King"EndSwitch_ArrayAdd($CardDeck1,$CardValue&" of Spades")_ArrayAdd($CardDeck1,$CardValue&" of Diamonds")_ArrayAdd($CardDeck1,$CardValue&" of Hearts")_ArrayAdd($CardDeck1,$CardValue&" of Clubs")Next_ArrayAdd($CardDeck1,"Little Joker")_ArrayAdd($CardDeck1,"Big Joker")_ArrayAdd($CardDeck1,"Placeholder")EndFuncFunc InitializeCardDeck2();Same as Deck 1$CardDeck2=_ArrayCreate("Ace of Spades","Ace of Diamonds","Ace of Hearts","Ace of Clubs")For$i=2To13Switch$iCase2To10$CardValue=$iCase11$CardValue="Jack"Case12$CardValue="Queen"Case13$CardValue="King"EndSwitch_ArrayAdd($CardDeck2,$CardValue&" of Spades")_ArrayAdd($CardDeck2,$CardValue&" of Diamonds")_ArrayAdd($CardDeck2,$CardValue&" of Hearts")_ArrayAdd($CardDeck2,$CardValue&" of Clubs")Next_ArrayAdd($CardDeck2,"Little Joker")_ArrayAdd($CardDeck2,"Big Joker")_ArrayAdd($CardDeck2,"Placeholder")EndFuncFunc DrawRandomCard()$i=Random(0,53)$CardDrawn=$FullDeck[$i]GUICtrlSetData($OutputWindow,$CardDrawn&@CRLF&GuiCtrlRead($OutputWindow))EndFuncFunc DrawFromDeck1()$NumberOfCardsLeft=UBound($CardDeck1)-1;Subtract 1 for the placeholder$i=Random(0,$NumberOfCardsLeft)$CardDrawn=$CardDeck1[$i]_ArrayDelete($CardDeck1,$i)GUICtrlSetData($OutputWindow,$CardDrawn&@CRLF&GuiCtrlRead($OutputWindow))IfUBound($CardDeck1)=1Then
InitializeCardDeck1()GUICtrlSetData($OutputWindow,"Out of Cards. Deck 1 reshuffled."&@CRLF&GuiCtrlRead($OutputWindow))EndIfEndFuncFunc IssueCards($NumberOfPlayers)Dim$CardsPicked[$NumberOfPlayers];Create an array to hold the cards picked$NumberOfCardsLeft=UBound($CardDeck2)-1;Subtract 1 for the placeholderIf$NumberOfPlayers>54ThenGUICtrlSetData($OutputWindow,$NumberOfPlayers&"?! Thats more players then cards in the deck. Please choose a smaller number."&@CRLF&GuiCtrlRead($OutputWindow))ReturnElseIf$NumberOfPlayers>$NumberOfCardsLeftThen
InitializeCardDeck2()GUICtrlSetData($OutputWindow,"- - - - - -"&@CRLF&GuiCtrlRead($OutputWindow))GUICtrlSetData($OutputWindow,"More players than cards remaining. Deck 2 reshuffled."&@CRLF&GuiCtrlRead($OutputWindow))EndIfGUICtrlSetData($OutputWindow,"-----------"&@CRLF&GuiCtrlRead($OutputWindow))For$i=0To$NumberOfPlayers-1;Load the card array.$j=Random(0,$NumberOfCardsLeft)$CardDrawn=$CardDeck2[$j]_ArrayDelete($CardDeck2,$j)$CardsPicked[$i]=$CardDrawn$NumberOfCardsLeft=UBound($CardDeck2)-1;Reset the number of cards left in the deck. Subtract 1 for the placeholderNextFor$i=$NumberOfPlayers-1To0Step-1GUICtrlSetData($OutputWindow,"Player "&$i+1&": "&$CardsPicked[$i]&@CRLF&GuiCtrlRead($OutputWindow))NextIfUBound($CardDeck2)=1Then
InitializeCardDeck2()GUICtrlSetData($OutputWindow,"Out of Cards. Deck 2 reshuffled."&@CRLF&GuiCtrlRead($OutputWindow))EndIfEndFuncFunc DrawFromDeck2()$NumberOfCardsLeft=UBound($CardDeck2)-1;Subtract 1 for the placeholder$i=Random(0,$NumberOfCardsLeft)$CardDrawn=$CardDeck2[$i]_ArrayDelete($CardDeck2,$i)GUICtrlSetData($OutputWindow,$CardDrawn&@CRLF&GuiCtrlRead($OutputWindow))IfUBound($CardDeck2)=1Then
InitializeCardDeck2()GUICtrlSetData($OutputWindow,"Out of Cards. Deck 2 reshuffled."&@CRLF&GuiCtrlRead($OutputWindow))EndIfEndFuncFunc ProbabilityTable($1,$2,$3); choose how probale a question is and it will thell you Yes++/Yes/No/No-- -> more explaination in the Mythic RPG$results=Random(1,100,1)SelectCase$results<=$1GUICtrlSetData($OutputWindow,"Yes maximum"&@CRLF&GuiCtrlRead($OutputWindow))Case$results<=$2GUICtrlSetData($OutputWindow,"Yes"&@CRLF&GuiCtrlRead($OutputWindow))Case$results<$3GUICtrlSetData($OutputWindow,"No"&@CRLF&GuiCtrlRead($OutputWindow))CaseElseGUICtrlSetData($OutputWindow,"No maximum"&@CRLF&GuiCtrlRead($OutputWindow))EndSelectEndFunc

You will have to add GUICtrlSetResizing(-1, $GUI_DOCKALL) to all the GUI cotrol.

is exactly right but having to do that on an already made script with 100's of controls is a pain.. so the dummy loop method is a quick way around doing the tedious adding of GUICtrlSetResizing(-1, $GUI_DOCKALL) to every control Edited November 13, 2007 by smashly

Share this post

Link to post

Share on other sites

Danny35d 9

Danny35d 9

Edit: Yep doing is exactly right but having to do that on an already made script with 100's of controls is a pain.. so the dummy loop method is a quick way around doing the tedious adding of GUICtrlSetResizing(-1, $GUI_DOCKALL) to every control

Thanks a lot for the tip. I'm always learning new tricks in this forms.
Edited November 13, 2007 by Danny35d