Matt Posted March 4, 2009 Share Posted March 4, 2009 Morning all I am a complete noob when it comes to AutoIT, so be gentle with me I am looking to be able to make a GUI and script with a decreasing number based on option chosen within the GUI. Basically, the user would have 20 points available, and based on thier chosen option, I would like this number to decrease as options are chosen. I have looked through the forums, but cant seem to find anything related to what I would like to acheive. Would anyone be able to point me in the right direction please? I am not looking for someone to do this for me, just someone to give me a few pointers as to what code I would need to use to accomplish this. I want to learn myself Cheers in advance Matt Link to comment Share on other sites More sharing options...
Aceguy Posted March 4, 2009 Share Posted March 4, 2009 welcome to Autoit. have you tried consctruciton of your script yet.... if you attempt just to make the GUI... then we can help with the other parts. The Helpfile, is very... ermm helpfull. [u]My Projects.[/u]Launcher - not just for games & Apps (Mp3's & Network Files)Mp3 File RenamerMy File Backup UtilityFFXI - Realtime to Vana time Clock Link to comment Share on other sites More sharing options...
Matt Posted March 4, 2009 Author Share Posted March 4, 2009 Hi again. Thx for the reply. I am trying to write a client/server program for entertainers in a particular MMO. The code is: expandcollapse popup#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 0) buffgui() Func buffGUI() Local $exit_button, $msg #Region ### START Koda GUI section ### Form=c:\documents and settings\matt\desktop\form_test1.kxf $Form1 = GUICreate("Buffage V1.0", 814, 450, 463, 184) GUISetIcon("C:\Program Files\StarWarsGalaxies\favicon.ico") GUISetFont(10, 400, 0, "Arial") $exit_button = GUICtrlCreateButton("Exit", 704, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, 800, 0, "Arial") GUICtrlSetTip(-1, "Click to exit") $send_button = GUICtrlCreateButton("Send", 600, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, 800, 0, "Arial") GUICtrlSetTip(-1, "Click to request your buff") $txt1_label = GUICtrlCreateLabel("Choose the buff you wish to recieve by using the drop down menu's and check boxes. ", 8, 40, 551, 20) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $txt2_label = GUICtrlCreateLabel("When you have chosen your buff, click the send button to request your entertainer buff.", 8, 56, 556, 20) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $title_label = GUICtrlCreateLabel("Buffage V1.0", 8, 8, 121, 26) GUICtrlSetFont(-1, 14, 800, 0, "Arial") $attributes_group = GUICtrlCreateGroup("Attributes - 1 Point", 8, 80, 177, 225) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $agility_comb = GUICtrlCreateCombo("Agility", 32, 104, 129, 25) GUICtrlSetData(-1, "Agility x 1|Agility x 2|Agility x 3|Agility x 4|Agility x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $cons_combo = GUICtrlCreateCombo("Constitution", 32, 136, 129, 25) GUICtrlSetData(-1, "Constitution x 1|Constitution x 2|Constitution x 3|Constitution x 4|Constitution x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $luck_comb = GUICtrlCreateCombo("Luck", 32, 168, 129, 25) GUICtrlSetData(-1, "Luck x 1|Luck x 2|Luck x 3|Luck x 4|Luck x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $Strength_combo = GUICtrlCreateCombo("Strength", 32, 200, 129, 25) GUICtrlSetData(-1, "Strength x 1|Strength x 2|Strength x 3|Strength x 4|Strength x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $stam_combo = GUICtrlCreateCombo("Stamina", 32, 232, 129, 25) GUICtrlSetData(-1, "Stamina x 1|Stamina x 2|Stamina x 3|Stamina x 4|Stamina x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $pre_combo = GUICtrlCreateCombo("Precision", 32, 264, 129, 25) GUICtrlSetData(-1, "Precision x 1|Precision x 2|Precision x 3|Precision x 4|Precision x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlCreateGroup("", -99, -99, 1, 1) $armour_group = GUICtrlCreateGroup("Armour - 1 Point", 8, 320, 177, 97) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $kinetic_comb = GUICtrlCreateCombo("Kinetic Armour", 32, 344, 145, 25) GUICtrlSetData(-1, "Kinetic Armour x 1|Kinetic Armour x 2|Kinetic Armour x 3|Kinetic Armour x 4|Kinetic Armour x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $energy_comb = GUICtrlCreateCombo("Energy Armour", 32, 376, 145, 25) GUICtrlSetData(-1, "Energy Armour x 1|Energy Armour x 2|Energy Armour x 3|Energy Armour x 4|Energy Armour x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlCreateGroup("", -99, -99, 1, 1) $combat_group = GUICtrlCreateGroup("Combat - 5 Points", 208, 80, 209, 97) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $gb_label = GUICtrlCreateLabel("Glancing Blow", 232, 104, 87, 20) GUICtrlSetFont(-1, 10, 400, 0, "Arial") $acr_label = GUICtrlCreateLabel("Action Cost Reduction", 232, 128, 134, 20) GUICtrlSetFont(-1, 10, 400, 0, "Arial") $crit_label = GUICtrlCreateLabel("Critical Chance", 232, 152, 92, 20) GUICtrlSetFont(-1, 10, 400, 0, "Arial") $gb_check = GUICtrlCreateCheckbox("", 376, 104, 17, 17) $acr_check = GUICtrlCreateCheckbox("", 376, 128, 17, 17) $crit_check = GUICtrlCreateCheckbox("", 376, 152, 17, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $misc_group = GUICtrlCreateGroup("Misc - 2 Points", 208, 192, 209, 225) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $healer_combo = GUICtrlCreateCombo("Healer", 232, 280, 169, 25) GUICtrlSetData(-1, "Healer x 1|Healer x 2|Healer x 3|Healer x 4|Healer x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $flush_comb = GUICtrlCreateCombo("Flush With Success", 232, 216, 169, 25) GUICtrlSetData(-1, "Flush With Success x 1|Flush With Success x 2|Flush With Success x 3|Flush With Success x 4|Flush With Success x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $harvest_comb = GUICtrlCreateCombo("Harvest Fair", 232, 248, 169, 25) GUICtrlSetData(-1, "Harvest Fair x 1|Harvest Fair x 2|Harvest Fair x 3|Harvest Fair x 4|Harvest Fair x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $res_combo = GUICtrlCreateCombo("Resilience", 232, 312, 169, 25) GUICtrlSetData(-1, "Resilience x 1|Resilience x 2|Resilience x 3|Resilience x 4|Resilience x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $go_with_combo = GUICtrlCreateCombo("Go With The Flow", 232, 344, 169, 25) GUICtrlSetData(-1, "Go With The Flow x 1|Go With The Flow x 2|Go With The Flow x 3|Go With The Flow x 4|Go With The Flow x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $second_combo = GUICtrlCreateCombo("Second Chance", 232, 376, 169, 25) GUICtrlSetData(-1, "Second Chance x 1|Second Chance x 2|Second Chance x 3|Second Chance x 4|Second Chance x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlCreateGroup("", -99, -99, 1, 1) $trader_group = GUICtrlCreateGroup("Trader - 2 Points", 440, 80, 345, 225) GUICtrlSetFont(-1, 10, 800, 0, "Arial") $archi_combo = GUICtrlCreateCombo("Architecture", 464, 104, 145, 25) GUICtrlSetData(-1, "Architecture x 1|Architecture x 2|Architecture x 3|Architecture x 4|Architecture x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $fashion_combo = GUICtrlCreateCombo("Fashion", 624, 104, 145, 25) GUICtrlSetData(-1, "Fashion x 1|Fashion x 2|Fashion x 3|Fashion x 4|Fashion x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $booster_combo = GUICtrlCreateCombo("Booster Assy", 464, 136, 145, 25) GUICtrlSetData(-1, "Booster Assy x 1|Booster Assy x 2|Booster Assy x 3|Booster Assy x 4|Booster Assy x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $munitions_combo = GUICtrlCreateCombo("Munitions", 624, 136, 145, 25) GUICtrlSetData(-1, "Munitions x 1|Munitions x 2|Munitions x 3|Munitions x 4|Munitions x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $chassis_combo = GUICtrlCreateCombo("Chassis Assy", 464, 168, 145, 25) GUICtrlSetData(-1, "Chassis Assy x 1|Chassis Assy x 2|Chassis Assy x 3|Chassis Assy x 4|Chassis Assy x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $security_combo = GUICtrlCreateCombo("Security", 624, 168, 145, 25) GUICtrlSetData(-1, "Security x 1|Security x 2|Security x 3|Security x 4|Security x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $culinary_combo = GUICtrlCreateCombo("Culinary", 464, 200, 145, 25) GUICtrlSetData(-1, "Culinary x 1|Culinary x 2|Culinary x 3|Culinary x 4|Culinary x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $shield_combo = GUICtrlCreateCombo("Shield Assy", 624, 200, 145, 25) GUICtrlSetData(-1, "Shield Assy x 1|Shield Assy x 2|Shield Assy x 3|Shield Assy x 4|Shield Assy x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $Droid_combo = GUICtrlCreateCombo("Droid Tech", 464, 232, 145, 25) GUICtrlSetData(-1, "Droid Tech x 1|Droid Tech x 2|Droid Tech x 3|Droid Tech x 4|Droid Tech x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $power_combo = GUICtrlCreateCombo("Power Systems", 624, 232, 145, 25) GUICtrlSetData(-1, "Power Systems x 1|Power Systems x 2|Power Systems x 3|Power Systems x 4|Power Systems x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $engine_assy = GUICtrlCreateCombo("Engine Assy", 464, 264, 145, 25) GUICtrlSetData(-1, "Engine Assy x 1|Engine Assy x 2|Engine Assy x 3|Engine Assy x 4|Engine Assy x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $weapon_combo = GUICtrlCreateCombo("Weapon Systems", 624, 264, 145, 25) GUICtrlSetData(-1, "Weapon Systems x 1|Weapon Systems x 2|Weapon Systems x 3|Weapon Systems x 4|Weapon Systems x 5") GUICtrlSetFont(-1, 10, 400, 0, "Arial") GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $exit_button Exit EndSelect WEnd EndFunc Also, is there a way that I can start the GUI without the blue boxes over each of the combo boxes? Cheers Matt Link to comment Share on other sites More sharing options...
FireFox Posted March 4, 2009 Share Posted March 4, 2009 @MattI dont understand what you mean...Maybe :$agility_comb = GUICtrlCreateCombo("Agility", 32, 104, 129, 25, $CBS_DROPDOWNLIST)Cheers, FireFox. Link to comment Share on other sites More sharing options...
Matt Posted March 4, 2009 Author Share Posted March 4, 2009 Maybe : $agility_comb = GUICtrlCreateCombo("Agility", 32, 104, 129, 25, $CBS_DROPDOWNLIST) You star thats exactly what I wanted Now, anyone able to help with the request in the OP? Cheers Matt Link to comment Share on other sites More sharing options...
weaponx Posted March 4, 2009 Share Posted March 4, 2009 This ended up being a lot more complex than I thought it would. Good luck. expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.0.0 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIComboBox.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 0) Const $default_font = "Arial" Const $bold = 600, $normal = 400 Global $aGroup1[6][2] = [["Agility",""],["Constitution",""],["Luck",""],["Strength",""],["Stamina",""],["Precision",""]] Global $aGroup2[2][2] = [["Kinetic Armour",""],["Energy Armour",""]] Global $aGroup3[6][2] = [["Healer",""],["Flush With Success",""],["Harvest Fair",""],["Resilience",""],["Go With The Flow",""],["Second Chance",""]] Global $aGroup4a[6][2] = [["Architecture",""],["Booster Assy",""],["Chassis Assy",""],["Culinary",""],["Droid Tech",""],["Engine Assy",""]] Global $aGroup4b[6][2] = [["Fashion",""],["Munitions",""],["Security",""],["Shield Assy",""],["Power Systems",""],["Weapon Systems",""]] Global $Attribute_Total,$Armour_Total,$Combat_Total,$Misc_Total,$Trader_Total Global $gb_check,$acr_check,$crit_check buffgui() Func buffGUI() Local $exit_button, $msg #Region ### START Koda GUI section ### Form=c:\documents and settings\matt\desktop\form_test1.kxf $Form1 = GUICreate("Buffage V1.0", 814, 470) GUISetIcon("C:\Program Files\StarWarsGalaxies\favicon.ico") GUISetFont(10, $normal, 0, $default_font) $update_button = GUICtrlCreateButton("Update Totals", 600, 380, 200, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) $send_button = GUICtrlCreateButton("Send", 600, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) GUICtrlSetTip(-1, "Click to request your buff") $exit_button = GUICtrlCreateButton("Exit", 704, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) GUICtrlSetTip(-1, "Click to exit") $txt1_label = GUICtrlCreateLabel("Choose the buff you wish to recieve by using the drop down menu's and check boxes. ", 8, 40, 551, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $txt2_label = GUICtrlCreateLabel("When you have chosen your buff, click the send button to request your entertainer buff.", 8, 56, 556, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $title_label = GUICtrlCreateLabel("Buffage V1.0", 8, 8, 121, 26) GUICtrlSetFont(-1, 14, $bold, 0, $default_font) ;GROUP - Attributes GUICtrlCreateGroup("Attributes - 1 Point", 8, 80, 177, 235) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup1)-1 GUICtrlCreateLabel($aGroup1[$X][0], 30, 104+($X*32), 90, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup1[$X][1] = GUICtrlCreateCombo(0, 120, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",30,295,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Attribute_Total = GUICtrlCreateLabel("0",80,295,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - ARMOUR GUICtrlCreateGroup("Armour - 1 Point", 8, 330, 177, 107) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup2)-1 GUICtrlCreateLabel($aGroup2[$X][0], 30, 350+($X*32), 90, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup2[$X][1] = GUICtrlCreateCombo(0, 130, 350+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",30,415,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Armour_Total = GUICtrlCreateLabel("0",80,415,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - COMBAT GUICtrlCreateGroup("Combat - 5 Points", 208, 80, 209, 115) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) $gb_label = GUICtrlCreateLabel("Glancing Blow", 232, 104, 87, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $acr_label = GUICtrlCreateLabel("Action Cost Reduction", 232, 128, 134, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $crit_label = GUICtrlCreateLabel("Critical Chance", 232, 152, 92, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $gb_check = GUICtrlCreateCheckbox("", 376, 104, 17, 17) $acr_check = GUICtrlCreateCheckbox("", 376, 128, 17, 17) $crit_check = GUICtrlCreateCheckbox("", 376, 152, 17, 17) GUICtrlCreateLabel("TOTAL:",230,175,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Combat_Total = GUICtrlCreateLabel("0",280,175,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - MISC GUICtrlCreateGroup("Misc - 2 Points", 208, 210, 209, 227) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup3)-1 GUICtrlCreateLabel($aGroup3[$X][0], 230, 230+($X*32), 120, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup3[$X][1] = GUICtrlCreateCombo(0, 360, 230+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",230,415,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Misc_Total = GUICtrlCreateLabel("0",280,415,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - TRADER GUICtrlCreateGroup("Trader - 2 Points", 440, 80, 345, 235) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup4a)-1 GUICtrlCreateLabel($aGroup4a[$X][0], 460, 104+($X*32), 100, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup4a[$X][1] = GUICtrlCreateCombo(0, 560, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next For $X = 0 to Ubound($aGroup4b)-1 GUICtrlCreateLabel($aGroup4b[$X][0], 620, 104+($X*32), 120, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup4b[$X][1] = GUICtrlCreateCombo(0, 740, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",460,295,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Trader_Total = GUICtrlCreateLabel("0",510,295,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $update_button CalculateTotals() Case $exit_button Exit EndSwitch WEnd EndFunc Func PopulateDropdown($hControl) For $Y = 1 to 5 _GUICtrlComboBox_AddString($hControl, $Y) Next EndFunc Func CalculateTotals() $Total = 0 For $X = 0 to Ubound($aGroup1)-1 $Total += GUICtrlRead($aGroup1[$X][1]) Next GUICtrlSetData($Attribute_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup2)-1 $Total += GUICtrlRead($aGroup2[$X][1]) Next GUICtrlSetData($Armour_Total,$Total) $Total = 0 If IsChecked($gb_check) Then $Total += 1 If IsChecked($acr_check) Then $Total += 1 If IsChecked($crit_check) Then $Total += 1 GUICtrlSetData($Combat_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup3)-1 $Total += GUICtrlRead($aGroup3[$X][1]) Next GUICtrlSetData($Misc_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup4a)-1 $Total += GUICtrlRead($aGroup4a[$X][1]) Next For $X = 0 to Ubound($aGroup4b)-1 $Total += GUICtrlRead($aGroup4b[$X][1]) Next GUICtrlSetData($Trader_Total,$Total) EndFunc Func IsChecked($hControl) Return BitAND(GUICtrlRead($hControl), $GUI_CHECKED) = $GUI_CHECKED EndFunc Link to comment Share on other sites More sharing options...
Matt Posted March 5, 2009 Author Share Posted March 5, 2009 That seems just what I was looking for matey, but could I be a pain in the arse, and ask how its done please? I am really eager to learn this stuff myself Cheers Matt This ended up being a lot more complex than I thought it would. Good luck. expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.0.0 Author: myName Script Function: Template AutoIt script. #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIComboBox.au3> #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 0) Const $default_font = "Arial" Const $bold = 600, $normal = 400 Global $aGroup1[6][2] = [["Agility",""],["Constitution",""],["Luck",""],["Strength",""],["Stamina",""],["Precision",""]] Global $aGroup2[2][2] = [["Kinetic Armour",""],["Energy Armour",""]] Global $aGroup3[6][2] = [["Healer",""],["Flush With Success",""],["Harvest Fair",""],["Resilience",""],["Go With The Flow",""],["Second Chance",""]] Global $aGroup4a[6][2] = [["Architecture",""],["Booster Assy",""],["Chassis Assy",""],["Culinary",""],["Droid Tech",""],["Engine Assy",""]] Global $aGroup4b[6][2] = [["Fashion",""],["Munitions",""],["Security",""],["Shield Assy",""],["Power Systems",""],["Weapon Systems",""]] Global $Attribute_Total,$Armour_Total,$Combat_Total,$Misc_Total,$Trader_Total Global $gb_check,$acr_check,$crit_check buffgui() Func buffGUI() Local $exit_button, $msg #Region ### START Koda GUI section ### Form=c:\documents and settings\matt\desktop\form_test1.kxf $Form1 = GUICreate("Buffage V1.0", 814, 470) GUISetIcon("C:\Program Files\StarWarsGalaxies\favicon.ico") GUISetFont(10, $normal, 0, $default_font) $update_button = GUICtrlCreateButton("Update Totals", 600, 380, 200, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) $send_button = GUICtrlCreateButton("Send", 600, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) GUICtrlSetTip(-1, "Click to request your buff") $exit_button = GUICtrlCreateButton("Exit", 704, 416, 97, 25, 0) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) GUICtrlSetTip(-1, "Click to exit") $txt1_label = GUICtrlCreateLabel("Choose the buff you wish to recieve by using the drop down menu's and check boxes. ", 8, 40, 551, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $txt2_label = GUICtrlCreateLabel("When you have chosen your buff, click the send button to request your entertainer buff.", 8, 56, 556, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $title_label = GUICtrlCreateLabel("Buffage V1.0", 8, 8, 121, 26) GUICtrlSetFont(-1, 14, $bold, 0, $default_font) ;GROUP - Attributes GUICtrlCreateGroup("Attributes - 1 Point", 8, 80, 177, 235) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup1)-1 GUICtrlCreateLabel($aGroup1[$X][0], 30, 104+($X*32), 90, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup1[$X][1] = GUICtrlCreateCombo(0, 120, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",30,295,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Attribute_Total = GUICtrlCreateLabel("0",80,295,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - ARMOUR GUICtrlCreateGroup("Armour - 1 Point", 8, 330, 177, 107) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup2)-1 GUICtrlCreateLabel($aGroup2[$X][0], 30, 350+($X*32), 90, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup2[$X][1] = GUICtrlCreateCombo(0, 130, 350+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",30,415,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Armour_Total = GUICtrlCreateLabel("0",80,415,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - COMBAT GUICtrlCreateGroup("Combat - 5 Points", 208, 80, 209, 115) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) $gb_label = GUICtrlCreateLabel("Glancing Blow", 232, 104, 87, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $acr_label = GUICtrlCreateLabel("Action Cost Reduction", 232, 128, 134, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $crit_label = GUICtrlCreateLabel("Critical Chance", 232, 152, 92, 20) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) $gb_check = GUICtrlCreateCheckbox("", 376, 104, 17, 17) $acr_check = GUICtrlCreateCheckbox("", 376, 128, 17, 17) $crit_check = GUICtrlCreateCheckbox("", 376, 152, 17, 17) GUICtrlCreateLabel("TOTAL:",230,175,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Combat_Total = GUICtrlCreateLabel("0",280,175,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - MISC GUICtrlCreateGroup("Misc - 2 Points", 208, 210, 209, 227) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup3)-1 GUICtrlCreateLabel($aGroup3[$X][0], 230, 230+($X*32), 120, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup3[$X][1] = GUICtrlCreateCombo(0, 360, 230+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",230,415,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Misc_Total = GUICtrlCreateLabel("0",280,415,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) ;GROUP - TRADER GUICtrlCreateGroup("Trader - 2 Points", 440, 80, 345, 235) GUICtrlSetFont(-1, 10, $bold, 0, $default_font) For $X = 0 to Ubound($aGroup4a)-1 GUICtrlCreateLabel($aGroup4a[$X][0], 460, 104+($X*32), 100, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup4a[$X][1] = GUICtrlCreateCombo(0, 560, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next For $X = 0 to Ubound($aGroup4b)-1 GUICtrlCreateLabel($aGroup4b[$X][0], 620, 104+($X*32), 120, 25) ;GUICtrlSetBkColor(-1,0x445566) $aGroup4b[$X][1] = GUICtrlCreateCombo(0, 740, 104+($X*32), 40, 25) PopulateDropdown(-1) GUICtrlSetFont(-1, 10, $normal, 0, $default_font) Next GUICtrlCreateLabel("TOTAL:",460,295,45,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) ;GUICtrlSetBkColor(-1,0x445566) $Trader_Total = GUICtrlCreateLabel("0",510,295,40,15) GUICtrlSetFont(-1, 8, $bold, 0, $default_font) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $update_button CalculateTotals() Case $exit_button Exit EndSwitch WEnd EndFunc Func PopulateDropdown($hControl) For $Y = 1 to 5 _GUICtrlComboBox_AddString($hControl, $Y) Next EndFunc Func CalculateTotals() $Total = 0 For $X = 0 to Ubound($aGroup1)-1 $Total += GUICtrlRead($aGroup1[$X][1]) Next GUICtrlSetData($Attribute_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup2)-1 $Total += GUICtrlRead($aGroup2[$X][1]) Next GUICtrlSetData($Armour_Total,$Total) $Total = 0 If IsChecked($gb_check) Then $Total += 1 If IsChecked($acr_check) Then $Total += 1 If IsChecked($crit_check) Then $Total += 1 GUICtrlSetData($Combat_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup3)-1 $Total += GUICtrlRead($aGroup3[$X][1]) Next GUICtrlSetData($Misc_Total,$Total) $Total = 0 For $X = 0 to Ubound($aGroup4a)-1 $Total += GUICtrlRead($aGroup4a[$X][1]) Next For $X = 0 to Ubound($aGroup4b)-1 $Total += GUICtrlRead($aGroup4b[$X][1]) Next GUICtrlSetData($Trader_Total,$Total) EndFunc Func IsChecked($hControl) Return BitAND(GUICtrlRead($hControl), $GUI_CHECKED) = $GUI_CHECKED EndFunc Link to comment Share on other sites More sharing options...
weaponx Posted March 5, 2009 Share Posted March 5, 2009 Well the method I have shown is meant to emulate a web form. In html when you create a form with combo boxes there is both a key and value for each option. One is for display and one is the actual value. Here is what you had: Agility Agility x1 Agility x2 Agility x3 Agility x4 Agility x5 Now later on you would have had to do something tricky to determine the multiplier, a big ugly case statement. What I did was separate the labels from the values and have them generated into an array. This way when they values need to be checked later on we can just loop through the array which contains all of the handles to the combo boxes. NOTE: Looking through the help file I see that with GuiComboBoxEx you can apply both a display value and actual value to a combo box element. That may make things simpler by allowing you to use your original design. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now