Ich bin eigentlich davon ausgegangen, dass du noch nichts weißt. Insofern habe ich schon richtig getippt. Du solltest dich aber auf jeden Fall besser und verständlicher ausdrücken. Aus dem ersten Beitrag von dir geht nicht hervor, dass du die Einstellungen des Bots speichern möchtest.
Ich erstelle bei solchen Dingen selten Scripts anhand der Vorgaben und Wünschen. Deshalb ist der genaue Inhalt der .ini für mich auch eher irrelevant.
Je nachdem vorauf du Wert legst kann das Speichern und Laden kurz oder lang ausfallen. Gestaltest du es dynamisch fällt dein Code kürzer aus, büßt dafür beim coding allerdings an der Verständlichkeit.
Zum Speichern brauchst du im Prinzip nur zwei Funktionen: IniWrite() und GUICtrlRead().
Schau dir dafür am besten die Hilfe an, die ist bei AutoIt sehr umfangreich und hilfreich.
Zum Laden brauchst du schon drei Funktionen: IniRead(), GUICtrlSetData() und GUICtrlSetState().
Letzteres wird benötigt um den Status der Checkbox zu setzen. Mit GUICtrlSetData() setzt du die entsprechenden Werte wieder in die Eingabefelder. Es ist sehr simpel, mit der Hilfe solltest du da alleine zurecht kommen.
Mein Beispiel könnte dich evtl. etwas verwirren:
Code:
$IniFile = @ScriptDir & "\Settings.ini"
$IniSectionAttack = "Attack"
$IniSectionAttackCast = "AttackCast"
$IniSectionAttackCooldown = "AttackCooldown"
Dim $ckb_Attack[10], $Size = UBound($ckb_Attack)
Dim $inp_AttackCastT[$Size]
Dim $inp_AttackCoolDT[$Size]
GUICreate("", 280, $Size * 25 + 5)
For $i = 0 To $Size - 1
$Height = $i * 25 + 5
$ckb_Attack[$i] = GUICtrlCreateCheckbox("Attack " & $i + 1, 5, $Height, 65)
GUICtrlCreateLabel("Cast Time", 80, $Height + 4, 50)
$inp_AttackCastT[$i] = GUICtrlCreateInput("", 135, $i * 25 + 5, 35)
GUICtrlCreateLabel("Cooldown", 185, $Height + 4, 50)
$inp_AttackCoolDT[$i] = GUICtrlCreateInput("", 240, $i * 25 + 5, 35)
GUICtrlSetState($ckb_Attack[$i], IniRead($IniFile, $IniSectionAttack, $i + 1, 4))
GUICtrlSetData($inp_AttackCastT[$i], IniRead($IniFile, $IniSectionAttackCast, $i + 1, ""))
GUICtrlSetData($inp_AttackCoolDT[$i], IniRead($IniFile, $IniSectionAttackCooldown, $i + 1, ""))
$CheckState = GUICtrlRead($ckb_Attack[$i])
For $Control = $ckb_Attack[$i] + 1 To $inp_AttackCoolDT[$i]
_SetState($Control, $CheckState)
Next
Next
GUISetState()
Do
$Msg = GUIGetMsg()
For $i = 0 To $Size - 1
If $Msg == $ckb_Attack[$i] Then
$CheckState = GUICtrlRead($ckb_Attack[$i])
For $Control = $ckb_Attack[$i] + 1 To $inp_AttackCoolDT[$i]
_SetState($Control, $CheckState)
Next
EndIf
Next
Sleep(10)
Until $Msg == -3 ;$GUI_EVENT_CLOSE
_SaveSettings()
Func _SetState($Control, $CheckState)
If $CheckState == 1 Then ;$GUI_CHECKED
GUICtrlSetState($Control, 64) ;$GUI_ENABLE
Else;If $CheckState == 4 Then ;$GUI_UNCHECKED
GUICtrlSetState($Control, 128) ;$GUI_DISABLE
EndIf
EndFunc
Func _SaveSettings()
For $i = 0 To $Size - 1
$Key = $i + 1
IniWrite($IniFile, $IniSectionAttack, $Key, GUICtrlRead($ckb_Attack[$i]))
IniWrite($IniFile, $IniSectionAttackCast, $Key, GUICtrlRead($inp_AttackCastT[$i]))
IniWrite($IniFile, $IniSectionAttackCooldown, $Key, GUICtrlRead($inp_AttackCoolDT[$i]))
Next
EndFunc
Die Anleitung vergisst du am besten ganz schnell wieder. Die wird veraltet sein. Guck dir allgemeine Tutorials an und wende das Wissen dann auf das Spiel an. Das Betriebssystemversionen von Windows haben damit nichts zu tun, es liegt am Programm selbst, sprich das Spiel.