alle listbox items in eine ini schreiben ?

  • Moin,

    Also ich arbeite an einem Server Configurations Builder für das spiel "Land Of The Dead", ja mein problem is jetzt
    ich habe 2 listbox's in der einen werden alle "game levels" angezeigt, und in der anderen kommen die wo ich adde rein, also... ich adde die und wenn ich dann auf save click sollten normal die maps die ich in die listbox2 geadded hab in die datei "server.ini" section "AdvancedEngine.AdvancedMapList" Key "Maps" schreiben.. aber funtz net so wie ich das will :/

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Description=Blade Config
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GuiConstantsEx.au3>
    #include <GuiListBox.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

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

    $Path_LandOfTheDead = RegRead( "HKEY_LOCAL_MACHINE\SOFTWARE\UNREAL TECHNOLOGY\INSTALLED APPS\LANDOFTHEDEAD", "Folder" )

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

    if FileExists( "Ucc.exe" ) = False Then
    MsgBox( 0, "Error", "Error - Cant Find Ucc.exe, please put 'LOTD Server Configurator.exe' in your Land Of The Dead System Folder!" )
    Exit
    EndIf

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

    if FileExists( "server.ini" ) = False Then
    MsgBox( 0, "Error", "Error - Cant Find Server.ini, please put 'LOTD Server Configurator.exe' in your Land Of The Dead System Folder!" )
    Exit
    EndIf

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

    $Server_TimeLimit = IniRead( "server.ini", "BladeIN_V11.BladeIN", "TimeLimit", "" )
    $Server_Password= IniRead( "server.ini", "Engine.AccessControl", "GamePassword", "" )
    $Server_Name= IniRead( "server.ini", "Engine.GameReplicationInfo", "ServerName", "" )
    $Server_Player= IniRead( "server.ini", "Engine.GameInfo", "MaxPlayers", "" )
    $Server_Port= IniRead( "server.ini", "Url", "Port", "" )
    $Server_GameType= IniRead( "server.ini", "Engine.LevelInfo", "DefaultGameType", "" )
    $Server_Difficult= IniRead( "server.ini", "Engine.GameInfo", "Enemystrength", "" )

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

    $Form1 = GUICreate( "Land Of The Dead - Server Configuration", 400, 380 )
    $Form1_Group1 = GUICtrlCreateGroup( "Server Options", 10, 10, 260, 200 )
    $Form1_CheckBox1 = GUICtrlCreateCheckbox( "Friendly Fire", 15, 185, 80, 18 )
    $Form1_Button1 = GUICtrlCreateButton( "Save", 285, 15, 100, 20 )
    $Form1_Button2 = GUICtrlCreateButton( "Start Server", 285, 35, 100, 20 )
    $Form1_Button3 = GUICtrlCreateButton( "Add", 175, 220, 50, 20 )
    $Form1_Button4 = GUICtrlCreateButton( "Remove", 175, 245, 50, 20 )
    $Form1_Label1 = GUICtrlCreateLabel( "Server Name", 15, 25, 80, 19 )
    $Form1_Label2 = GUICtrlCreateLabel( "Server Password", 15, 65, 80, 19 )
    $Form1_Label3 = GUICtrlCreateLabel( "Server GameType", 140, 65, 90, 19 )
    $Form1_Label4 = GUICtrlCreateLabel( "Time Limit", 15, 105, 90, 19 )
    $Form1_Label5 = GUICtrlCreateLabel( "Difficulty", 140, 105, 90, 19 )
    $Form1_Label6 = GUICtrlCreateLabel( "Max Players", 15, 145, 90, 19 )
    $Form1_Label7 = GUICtrlCreateLabel( "Server Port", 140, 145, 90, 19 )
    $Form1_Input1 = GUICtrlCreateInput( $Server_Name, 15, 40, 250, 18 )
    $Form1_Input2 = GUICtrlCreateInput( $Server_Password, 15, 80, 120, 18 )
    $Form1_Input3 = GUICtrlCreateInput( $Server_TimeLimit, 15, 120, 120, 18 )
    $Form1_Input4 = GUICtrlCreateInput( $Server_Player, 15, 160, 120, 18 )
    $Form1_Input5 = GUICtrlCreateInput( $Server_Port, 140, 160, 120, 18 )

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

    $Form1_ListBox1 = _GUICtrlListBox_Create( $Form1, '', 10, 220, 150, 150 )
    $Form1_ListBox2 = _GUICtrlListBox_Create( $Form1, '', 240, 220, 150, 150 )
    _GUICtrlListBox_Dir( $Form1_ListBox1, $Path_LandOfTheDead & "\Levels\*.dz" )

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

    $Form1_Combo1 = GUICtrlCreateCombo( "", 140, 80, 125, 18 )
    GUICtrlSetData( $Form1_Combo1, "BladeIN v1.2|BladeDM v1.2|BladeCTF v1.2|Invasion|DeathMatch|CaptureTheFlag" )

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

    if $Server_GameType == "Blade_v12.BladeIN" Then
    GUICtrlSetData( $Form1_Combo1, "BladeIN v1.2" )

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

    ElseIf $Server_GameType == "Blade_v12.BladeDM" Then
    GUICtrlSetData( $Form1_Combo1, "BladeDM v1.2" )

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

    ElseIf $Server_GameType == "Blade_v12.BladeCTF" Then
    GUICtrlSetData( $Form1_Combo1, "BladeCTF v1.2" )

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

    ElseIf $Server_GameType == "DOTZGame.DOTZInvasion" Then
    GUICtrlSetData( $Form1_Combo1, "Invasion" )

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

    ElseIf $Server_GameType == "DOTZGame.DOTZDeathMatch" Then
    GUICtrlSetData( $Form1_Combo1, "DeathMatch" )

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

    ElseIf $Server_GameType == "DOTZGame.DOTZCTF" Then
    GUICtrlSetData( $Form1_Combo1, "CaptureTheFlag" )
    EndIf

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

    $Form1_Combo2 = GUICtrlCreateCombo( "", 140, 120, 125, 18 )
    GUICtrlSetData( $Form1_Combo2, "Pathetic|Normal|Hard" )

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

    if $Server_Difficult == "1" Then
    GUICtrlSetData( $Form1_Combo2, "Pathetic" )

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

    ElseIf $Server_Difficult == "2" Then
    GUICtrlSetData( $Form1_Combo2, "Normal" )

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

    ElseIf $Server_Difficult == "3" Then
    GUICtrlSetData( $Form1_Combo2, "Hard" )
    EndIf

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

    GUISetState( @SW_SHOW, $Form1 )

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

    While( 1 )
    $Msg = GUIGetMsg()
    Select
    Case $Msg = $GUI_EVENT_CLOSE
    Exit
    Case $Msg = $Form1_Button1
    IniWrite( "server.ini", "BladeIN_V11.BladeIN", "TimeLimit", GUICtrlRead( $Form1_Input3 ) )
    IniWrite( "server.ini", "Engine.AccessControl", "GamePassword", GUICtrlRead( $Form1_Input2 ) )
    IniWrite( "server.ini", "Engine.GameReplicationInfo", "ServerName", GUICtrlRead( $Form1_Input1 ) )
    IniWrite( "server.ini", "Engine.GameInfo", "MaxPlayers", GUICtrlRead( $Form1_Input4 ) )
    IniWrite( "server.ini", "Url", "Port", GUICtrlRead( $Form1_Input5 ) )
    if GUICtrlRead( $Form1_Combo1 ) == "BladeIN v1.2" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "Blade_v12.BladeIN" )

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

    ElseIf GUICtrlRead( $Form1_Combo1 ) == "BladeDM v1.2" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "Blade_v12.BladeDM" )

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

    ElseIf GUICtrlRead( $Form1_Combo1 ) == "BladeCTF v1.2" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "Blade_v12.BladeCTF" )

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

    ElseIf GUICtrlRead( $Form1_Combo1 ) == "Invasion" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "DOTZGame.DOTZInvasion" )

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

    ElseIf GUICtrlRead( $Form1_Combo1 ) == "DeathMatch" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "DOTZGame.DOTZDeathMatch" )

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

    ElseIf GUICtrlRead( $Form1_Combo1 ) == "CaptureTheFlag" Then
    IniWrite( "server.ini", "Engine.LevelInfo", "DefaultGameType", "DOTZGame.DOTZCTF" )

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

    ElseIf GUICtrlRead( $Form1_Combo2 ) == "Pathetic" Then
    IniWrite( "server.ini", "Engine.GameInfo", "Enemystrength", "1" )

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

    ElseIf GUICtrlRead( $Form1_Combo2 ) == "Normal" Then
    IniWrite( "server.ini", "Engine.GameInfo", "Enemystrength", "2" )

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

    ElseIf GUICtrlRead( $Form1_Combo2 ) == "Hard" Then
    IniWrite( "server.ini", "Engine.GameInfo", "Enemystrength", "3" )
    EndIf

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

    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    For $i = 0 To $Amount
    $Text = _GUICtrlListBox_GetText( $Form1_ListBox2, $Amount )
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", $Text )
    Next
    Case $Msg = $Form1_Button2
    if FileExists( "Server.bat" ) = True Then
    FileDelete( "Server.bat" )
    EndIf
    if GUICtrlRead( $Form1_CheckBox1 ) = $GUI_CHECKED Then
    FileWrite( "Server.bat", ":Loop" & @CRLF & "del Server.Log" & @CRLF & "Copy Server8.Log Server9.Log" & @CRLF & "Copy Server7.Log Server8.Log" & @CRLF & "Copy Server6.Log Server7.Log" & @CRLF & "Copy Server5.Log Server6.Log" & @CRLF & "Copy Server4.Log Server5.Log" & @CRLF & "Copy Server3.Log Server4.Log" & @CRLF & "Copy Server2.Log Server3.Log" & @CRLF & "Copy Server.Log Server2.Log" & @CRLF & "UCC Server ?Game=" & $Server_GameType & "?TimeLimit=" & $Server_TimeLimit & "?EnemyStrength=" & $Server_Difficult & "?FriendlyFire=True" & " INI=Server.ini LOG=Server.log" )
    Else
    FileWrite( "Server.bat", ":Loop" & @CRLF & "del Server.Log" & @CRLF & "Copy Server8.Log Server9.Log" & @CRLF & "Copy Server7.Log Server8.Log" & @CRLF & "Copy Server6.Log Server7.Log" & @CRLF & "Copy Server5.Log Server6.Log" & @CRLF & "Copy Server4.Log Server5.Log" & @CRLF & "Copy Server3.Log Server4.Log" & @CRLF & "Copy Server2.Log Server3.Log" & @CRLF & "Copy Server.Log Server2.Log" & @CRLF & "UCC Server ?Game=" & $Server_GameType & "?TimeLimit=" & $Server_TimeLimit & "?EnemyStrength=" & $Server_Difficult & "?FriendlyFire=False" & " INI=Server.ini LOG=Server.log" )
    EndIf
    RunWait( "Server.bat" )
    Case $Msg = $Form1_Button3
    $List1 = _GUICtrlListBox_GetCurSel( $Form1_ListBox1 )
    $Text1 = _GUICtrlListBox_GetText( $Form1_ListBox1, $List1 )
    _GUICtrlListBox_AddString( $Form1_ListBox2, $Text1 )
    Case $Msg = $Form1_Button4
    $List2 = _GUICtrlListBox_GetCurSel( $Form1_ListBox2 )
    _GUICtrlListBox_DeleteString( $Form1_ListBox2, $List2 )
    EndSelect
    WEnd

    [/autoit]

    -thank's

    4 Mal editiert, zuletzt von punish3r (28. Juni 2008 um 19:19)

  • [autoit]

    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    For $i = 0 To $Amount
    $Text = _GUICtrlListBox_GetText( $Form1_ListBox2, $Amount )
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", $Text )
    Next

    [/autoit]


    hier wird jedesmal im Key "Maps" der Text eingetragen, bzw immer überschrieben, daher hast du nur einen Eintrag -> entweder machst du map1 map^n oder z.B.

    [autoit]

    $sSTRING = "|"
    $sText = ""
    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    For $i = 0 To $Amount
    $sText &= _GUICtrlListBox_GetText( $Form1_ListBox2, $Amount )&$sSTRING
    Next
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", StringTrimRight($sText, 1))

    [/autoit]

    und auslesen via IniRead und StringSplit($sText, "|") <- gibt ein Array zurück mit dem du wieder eine Listbox befüllen kannst

  • danke, aber da ist immer noch ein problem :(

    so sieht die ini map list standard aus :

    [AdvancedEngine.AdvancedMapList]
    Maps=DMDownTown.dz
    Maps=INGarage.dz
    Maps=INHouse.dz

    und wenn ich meine dazu adde siehts so aus :

    [AdvancedEngine.AdvancedMapList]
    MapNum=2
    Maps=DMDownTown.dz
    Maps=INGarage.dz
    Maps=INHouse.dz
    Maps=!0|0|0|0|0|0|0

    so hab ichs eingefügt

    [autoit]

    $sSTRING = "|"
    $sText = "?"
    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    For $i = 0 To $Amount
    $sText &= _GUICtrlListBox_GetText( $Form1_ListBox2, $Amount ) & $sSTRING
    Next
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", StringTrimRight( $sText, 1 ) )

    [/autoit]

    hmm die map namen werden nicht angezeigt :/

  • die Keys dürfen nicht den selben namen haben - sonst wird nur der erste ausgelesen denke ich
    [AdvancedEngine.AdvancedMapList]
    MapNum=2
    Maps=DMDownTown.dzINGarage.dz|INHouse.dz|blabal.dz|blabla1.dz|blablaa.dz

    so müsste das aussehen

  • code zum testen:

    [autoit]

    $ini = @ScriptDir&"\server.ini"
    $sData = IniRead($ini, "AdvancedEngine.AdvancedMapList", "Maps", "--")
    ;--> String splitten
    $sData = StringSplit($sData, "|")
    If IsArray($sData) Then
    $maps = ""
    For $i = 1 To $sData[0]
    $maps &= $sData[$i]&@CRLF
    Next
    Msgbox(0,"", $maps)
    Else
    MsgBox(0,"", "no maps")
    EndIf

    [/autoit]

    ini für den Test:

    Code
    [AdvancedEngine.AdvancedMapList]
    Maps=DMDownTown.dzINGarage.dz|INHouse.dz|blabal.dz|blabla1.dz|blablaa.dz
  • funtzt wunderbar :D aber ich hab noch das problem das mit dem arrays lesen von listboxe's :/

    ich komm nicht klar mir dem _GuiCtrlListBox_GetText(...,...) um nur das was in der listbox ist raus zu holen und ab in die ini zu schreiben :wacko: .. weil immer wenn ich auf save click, macht der die sachen in die ini file aber keine map namen sondern so komische buchstaben O_o aber nur wenn ich _GuiCtrlListBox_GetText benutze um listbox lesen zu können hmm

    [EDIT]-> hab mal das versucht :

    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    $Data = _GUICtrlListBox_GetText( $Form1_ListBox2, $Amount )
    $Data = StringSplit( $Data, "|" )
    if IsArray( $Data ) Then
    $Maps = ""
    For $i = 1 To $Data[0]
    $Maps &= $Data[$i] & @CRLF
    Next
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", StringTrimRight( $maps, 1 ) )
    EndIf

    aber da bleibt der key immer

    Maps=0

    Test einfach mein script, dann wirste sehen was ich meine :/

    komisch :huh:

    2 Mal editiert, zuletzt von punish3r (28. Juni 2008 um 21:10)

  • das brauch ich nicht testen, da der code nicht funktionieren wird

    [autoit]

    $Amount = _GUICtrlListBox_GetCount( $Form1_ListBox2 )
    $sMaps = "" ; muss davor deklariert sein
    For $i = 0 To $Amount
    $sMaps &= _GUICtrlListBox_GetText($Form1_ListBox2, $Amount )&"|" ;setz alle listboxitems hintereinander mit | dazwischen
    Next
    IniWrite( "server.ini", "AdvancedEngine.AdvancedMapList", "Maps", StringTrimRight($sMaps, 1 )) ;schreibt in die Ini und löscht den letzten |
    EndIf

    [/autoit]

    hier das sollte funktionieren

  • Das will einfach nicht omg :(

    alles was der in die ini schreibt is jetzt "Maps=0|0|0|0|0|0|0|0"

  • Ich vermute mal weil in der For next schleife $i nichtmal vorkommt. Es wird immer $Amout dazugezählt, was mit etwas rätselhaft ist, aber ich kann mich auch täuschen, habe mich mit dem Programm nicht wirklich beschäftigt von daher :). Wenns falsch ist, ignoiert diesen Beitrag ;)

  • hab jetzt was gemacht das liest es aus und schreibts auch in die ini file, auch der richtige name von der map :D

    nur das nächste problem is .. ich kann immer nur 1 text in die ini adden wenn ich mehr als ein text in meiner listview hab, holt er nur den ersten string und macht den in die ini die anderen nicht :/

    [autoit]


    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    $Path_LandOfTheDead = RegRead( "HKEY_LOCAL_MACHINE\SOFTWARE\UNREAL TECHNOLOGY\INSTALLED APPS\LANDOFTHEDEAD", "Folder" )

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

    $Form1 = GUICreate( "test" )
    $List = _GUICtrlListView_Create( $Form1, "123", 10, 10, 200, 300 )
    $Add = GUICtrlCreateButton( "add", 250, 10, 50, 20 )
    $Rem = GUICtrlCreateButton( "rem", 250, 30, 50, 20 )
    $Save = GUICtrlCreateButton( "save", 250, 60, 50, 20 )
    $Text = GUICtrlCreateInput( "", 10, 320, 150, 18 )

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

    GUISetState( @SW_SHOW )

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

    While( 1 )
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Add
    _GUICtrlListView_AddItem( $List, GUICtrlRead( $Text ) )
    Case $msg = $Rem
    _GUICtrlListView_DeleteItemsSelected( $List )
    Case $msg = $Save
    $ini = "TEST.ini"
    $sData = _GUICtrlListView_GetItemTextArray( $List )
    $sData = StringSplit($sData, "|")
    If IsArray($sData) Then
    For $i = 0 To $sData[0]
    $maps = _GUICtrlListView_GetItemText( $List, $sData[$i] & @CRLF )
    Next
    IniWrite( "TEST.ini", "AdvancedEngine.AdvancedMapList", "Maps", $maps )
    EndIf
    EndSelect
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von punish3r (29. Juni 2008 um 15:20)

  • Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    $Path_LandOfTheDead = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\UNREAL TECHNOLOGY\INSTALLED APPS\LANDOFTHEDEAD", "Folder")

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

    $Form1 = GUICreate("test")
    $List = _GUICtrlListView_Create($Form1, "123", 10, 10, 200, 300)
    $Add = GUICtrlCreateButton("add", 250, 10, 50, 20)
    $Rem = GUICtrlCreateButton("rem", 250, 30, 50, 20)
    $Save = GUICtrlCreateButton("save", 250, 60, 50, 20)
    $Text = GUICtrlCreateInput("", 10, 320, 150, 18)

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

    GUISetState(@SW_SHOW)

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

    While (1)
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Add
    _GUICtrlListView_AddItem($List, GUICtrlRead($Text))
    Case $msg = $Rem
    _GUICtrlListView_DeleteItemsSelected($List)
    Case $msg = $Save
    $ini = "TEST.ini"
    $sData = _GUICtrlListView_GetItemTextArray($List)
    $sData = StringSplit($sData, "|")
    If IsArray($sData) Then
    $maps = ""
    For $i = 0 To $sData[0]
    If _GUICtrlListView_GetItemText($List, $sData[$i]) <> "" Then
    $maps &= _GUICtrlListView_GetItemText($List, $sData[$i]) & @CRLF
    EndIf
    Next
    MsgBox(0, "", $maps) ; bis hierhin, iniwrite musste selber machen, da hab ich keine ahnung wie du dir das vorstellst ;).
    IniWrite("TEST.ini", "AdvancedEngine.AdvancedMapList", "Maps", $maps)
    EndIf
    EndSelect
    WEnd

    [/autoit]
  • so kann das wieder nicht funktionieren, iwie hast du da ein Verständnisproblem -> so wirst du nur einen Eintrag haben - probier doch mal die Code-Beispiele zu verstehen

  • [EDIT]->

    Der added jetzt nur 2 strings , aber ist sau gut das er die schon mal so in die ini schreibt!

  • probier das mal aus:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>

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

    $Path_LandOfTheDead = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\UNREAL TECHNOLOGY\INSTALLED APPS\LANDOFTHEDEAD", "Folder")

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

    $Form1 = GUICreate("test")
    $List = _GUICtrlListView_Create($Form1, "123", 10, 10, 200, 300)
    $Add = GUICtrlCreateButton("add", 250, 10, 50, 20)
    $Rem = GUICtrlCreateButton("rem", 250, 30, 50, 20)
    $Save = GUICtrlCreateButton("save", 250, 60, 50, 20)
    $Text = GUICtrlCreateInput("", 10, 320, 150, 18)

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

    GUISetState(@SW_SHOW)

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

    While (1)
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Add
    _GUICtrlListView_AddItem($List, GUICtrlRead($Text))
    Case $msg = $Rem
    _GUICtrlListView_DeleteItemsSelected($List)
    Case $msg = $Save
    for $i = 0 to _GUICtrlListView_GetItemCount($List) -1
    IniWrite("TEST.ini", "AdvancedEngine.AdvancedMapList", "Maps"&$i&"= ", _GUICtrlListView_GetItemText($List, $i))
    Next

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

    EndSelect
    WEnd

    [/autoit]

    Du musst dir halt darüber klar sein, dass Du "Maps=" nicht mehrmals verwenden kannst, da er sonst immer überschrieben wird.
    Das zuweisen der Variable kannst Du ja in deinem Script ändern...
    Maps=maps1 (wenn Du diese Map aus der ini ausliest...)
    Maps=maps2 (wenn Du diese Map aus der ini ausliest...)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • aber wenn ich einen server starte "normal" dann wird meine map list so in die server.ini gemacht

    Maps=INundergroundshelter.dz
    Maps=INundergroundshelterbeta2.dz

    keine ahnung wie der das dann ließt O_ö naja danke schnuffel, deins klappt aber wie soll ich die ganzen dinger wieder in die box laden wenn ich das programm starte ?
    [edit.]
    wenn ich jetzt zum bleistift in der server.ini das hab
    Map.0==INDachaForest.dz
    Map.1==INDachaForestExtended.dz
    Map.2==INDancefloorFinished.dz
    Map.3==INDayoftheDead2.dz

    so, ich wills so das wenn ich das programm starte das die wo ich geadded hab , wo in der ini sind das er die ladet und in die textbox2 macht also da wo die rein kommen wo ich geadded hab. wie stell ich das an ?

    3 Mal editiert, zuletzt von punish3r (29. Juni 2008 um 18:30)