Listen Inhalt erhöhen. (Erneuern.)

  • Hallo AutoIt.de,

    nach langer Zeit habe auch ich mal wieder ein Problem.
    Wenn ich die Sachen in die jeweiligen Listen eintrage, möchte ich nicht immer das neue 'level' raussuchen sondern das Item einfach auswählen und auf Up+ drücken.
    Sogesehen dass ausgelesen wird was ausgewählt ist und das dann ,,Uppen".


    Update: 14:26Uhr , keiner ne Idee ??
    Hier mal das Script:
    Im Anhang ist die skill_constans

    Spoiler anzeigen
    [autoit]

    #include 'skill_constants.au3'
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <GDIPlus.au3>
    #include <GUIListBox.au3>
    Global $attackSkills[20], $buffSkills[20], $buffSkillListItem[20]
    Opt('GUIOnEventMode', 1)
    $hGui = GUICreate('Awesome', 572, 501, Default, Default)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)
    #region Skills
    $AwesomeConfigTab = GUICtrlCreateTabItem('Awesome Config')
    $charName = GUICtrlCreateLabel('Test', 15, 15)
    GUICtrlCreateGroup('Skill List', 10, 31, 230, 338)
    GUICtrlSetFont(-1, 8, 400, 0, 'Arial')
    $skillTopic = GUICtrlCreateCombo('Blade/Sword', 16, 51, 210, 25)
    GUICtrlSetData(-1, 'Glavie/Spear|Bow|Cold|Lightning|Fire|Force')

    [/autoit] [autoit][/autoit] [autoit]

    $skillListControl = GUICtrlCreateList('', 15, 71, 212, 300)
    FillSkillListControl()

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetFont(-1, 8, 400, 0, 'Arial')
    GUICtrlCreateGroup('Attack Skills + Imbue', 248, 31, 310, 194)
    GUICtrlSetFont(-1, 8, 400, 0, 'Arial')
    $attackSkillListControl = GUICtrlCreateList('', 372, 51, 180, 118)
    $addAttackSkillButton = GUICtrlCreateButton('Add', 271, 71, 85, 20)
    $upAttackSkillButton = GUICtrlCreateButton('Up +', 271, 96, 45, 20)
    $removeAttackSkillButton = GUICtrlCreateButton('Del', 271, 121, 85, 20)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup('Buff Skills', 248, 225, 310, 136)
    GUICtrlSetFont(-1, 8, 400, 0, 'Arial')
    $buffSkillListControl = GUICtrlCreateList('', 372, 242, 180, 118)
    $addBuffSkillButton = GUICtrlCreateButton('Add', 271, 271, 85, 20)
    $upBuffSkillButton = GUICtrlCreateButton('Up +', 271, 296, 45, 20)
    $removeBuffSkillButton = GUICtrlCreateButton('Del', 271, 321, 85, 20)

    [/autoit] [autoit][/autoit] [autoit]

    #endregion Skills

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateTabItem('')
    GUICtrlSetState($AwesomeConfigTab, 16)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent(-3, 'CloseAwesome')
    GUICtrlSetOnEvent($skillTopic, 'FillSkillListControl')
    GUICtrlSetOnEvent($addAttackSkillButton, 'AddAttackSkill')
    GUICtrlSetOnEvent($addBuffSkillButton, 'AddBuffSkill')
    GUICtrlSetOnEvent($removeAttackSkillButton, 'RemoveAttackSkill')
    GUICtrlSetOnEvent($removeBuffSkillButton, 'RemoveBuffSkill')
    GUICtrlSetOnEvent($upAttackSkillButton, 'UpAttackSkill')
    GUICtrlSetOnEvent($upBuffSkillButton, 'UpBuffSkill')

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(25)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func CloseAwesome()
    Exit
    EndFunc ;==>CloseAwesome

    [/autoit] [autoit][/autoit] [autoit]

    ; #########
    ; SKILLS
    ; #########

    [/autoit] [autoit][/autoit] [autoit]

    Func UpAttackSkill()
    ;Auslesen was anvisiert ist und das nächste level nehmen.
    EndFunc ;==>UpAttackSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func UpBuffSkill()
    ;Auslesen was anvisiert ist und das nächste level nehmen.
    EndFunc ;==>UpBuffSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func FillSkillListControl()
    Local $type
    GUICtrlSetData($skillListControl, '')
    Switch GUICtrlRead($skillTopic)
    Case 'Blade/Sword'
    $type = 1
    Case 'Glavie/Spear'
    $type = 2
    Case 'Bow'
    $type = 3
    Case 'Cold'
    $type = 4
    Case 'Lightning'
    $type = 5
    Case 'Fire'
    $type = 6
    Case 'Force'
    $type = 7
    EndSwitch
    For $i = 1 To UBound($skill) - 1
    If $skill[$i][1] = $type Then GUICtrlSetData($skillListControl, $skill[$i][0] & ' <' & $i & '>')
    Next
    EndFunc ;==>FillSkillListControl
    Func SaveSkillSettings()
    Local $i
    For $i = 0 To 19
    IniWrite(GUICtrlRead($charName) & '_Awesome.ini', 'Skills', 'AttackSkill' & $i, $attackSkills[$i])
    IniWrite(GUICtrlRead($charName) & '_Awesome.ini', 'Skills', 'BuffSkill' & $i, $buffSkills[$i])
    Next
    EndFunc ;==>SaveSkillSettings

    [/autoit] [autoit][/autoit] [autoit]

    Func LoadSkillSettings()
    Local $i
    For $i = 0 To 19
    $attackSkills[$i] = IniRead(GUICtrlRead($charName) & '_Awesome.ini', 'Skills', 'AttackSkill' & $i, 0)
    If $attackSkills[$i] <> 0 Then GUICtrlSetData($attackSkillListControl, $skill[$attackSkills[$i]][0] & ' <' & $attackSkills[$i] & '>')
    $buffSkills[$i] = IniRead(GUICtrlRead($charName) & '_Awesome.ini', 'Skills', 'BuffSkill' & $i, 0)
    If $buffSkills[$i] <> 0 Then GUICtrlSetData($buffSkillListControl, $skill[$buffSkills[$i]][0] & ' <' & $buffSkills[$i] & '>')
    Next
    EndFunc ;==>LoadSkillSettings

    [/autoit] [autoit][/autoit] [autoit]

    Func AddAttackSkill()
    Local $i, $selected = GUICtrlRead($skillListControl)
    For $i = 0 To 19
    If $attackSkills[$i] = 0 Then
    $attackSkills[$i] = GetIdBySkill($selected)
    GUICtrlSetData($attackSkillListControl, $selected)
    SaveSkillSettings()
    ExitLoop
    EndIf
    Next
    EndFunc ;==>AddAttackSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func AddBuffSkill()
    Local $i, $selected = GUICtrlRead($skillListControl)
    For $i = 0 To 19
    If $buffSkills[$i] = 0 Then
    $buffSkills[$i] = GetIdBySkill($selected)
    GUICtrlSetData($buffSkillListControl, $selected)
    SaveSkillSettings()
    ExitLoop
    EndIf
    Next
    EndFunc ;==>AddBuffSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func RemoveAttackSkill()
    Local $i, $selected = GetIdBySkill(GUICtrlRead($attackSkillListControl))
    If $selected = 0 Then
    MsgBox(0, 'Info', 'Select a Skill, before using this!')
    Else
    GUICtrlSetData($attackSkillListControl, '')
    For $i = 0 To 19
    If $attackSkills[$i] = $selected Then
    $attackSkills[$i] = 0
    ElseIf $attackSkills[$i] <> 0 Then
    GUICtrlSetData($attackSkillListControl, $skill[$attackSkills[$i]][0] & ' <' & $attackSkills[$i] & '>')
    EndIf
    Next
    EndIf
    SaveSkillSettings()
    EndFunc ;==>RemoveAttackSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func RemoveBuffSkill()
    Local $i, $selected = GetIdBySkill(GUICtrlRead($buffSkillListControl))
    If $selected = 0 Then
    MsgBox(0, 'Info', 'Select a Skill, before using this!')
    Else
    GUICtrlSetData($buffSkillListControl, '')
    For $i = 0 To 19
    If $buffSkills[$i] = $selected Then
    $buffSkills[$i] = 0
    ElseIf $buffSkills[$i] <> 0 Then
    GUICtrlSetData($buffSkillListControl, $skill[$buffSkills[$i]][0] & ' <' & $buffSkills[$i] & '>')
    EndIf
    Next
    EndIf
    SaveSkillSettings()
    EndFunc ;==>RemoveBuffSkill

    [/autoit] [autoit][/autoit] [autoit]

    Func GetIdBySkill($skill)
    Local $regexp = StringRegExp($skill, '<(.*?)>', 1)
    If Not IsArray($regexp) Then Return 0
    Return Int($regexp[0])
    EndFunc ;==>GetIdBySkill

    [/autoit]