Hilfe zu Pic gebraucht

  • Weiß jemand wie ich das hinbekommen kann, dass die Pic's richtig angezeigt wird :?:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 72, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2")
    $Button2 = GUICtrlCreateButton("(Not allowed)", 71, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 (Erzmine benötigt")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 14, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $Label1 = GUICtrlCreateLabel("20", 94, 663, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Label2 = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Bau = "False"
    Global $1
    While 1
    If $Bau = "Haus" Then
    GUICtrlDelete ($1)
    $Pos = MouseGetPos ()
    $1 = GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -200,$Pos[1]-200,100,100)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BauHaus
    $Bau = "Haus"
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+10, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    Case $Pic1
    If $Bau = "False" Then
    Sleep (1)
    Else
    Call ("_Bau")
    EndIf
    EndSwitch
    WEnd
    Func _Bau ()
    $Bau = "False"
    $Pos = MouseGetPos ()
    GUICtrlDelete ($1)
    If $Bau = "Haus" Then
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -200,$Pos[1]-200,100,100)
    EndIf
    _MouseTrap ()
    EndFunc

    [/autoit]


    PS: Nur der HausButton geht ;)

    mfg. Jam00

    Einmal editiert, zuletzt von Jam00 (23. Dezember 2008 um 16:42)

  • Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.2.12.1
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Haus.bmp", 0,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 72, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Sägegrube.bmp", 0,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2")
    $Button2 = GUICtrlCreateButton("(Not allowed)", 71, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzschmelze.bmp", 0,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 (Erzmine benötigt")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 14, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzmine.bmp", 0,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $Label1 = GUICtrlCreateLabel("20", 94, 663, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Label2 = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Bau = "False"
    Global $1
    While 1
    If $Bau = "Haus" Then
    GUICtrlDelete ($1)
    $Pos = MouseGetPos ()
    $1 = GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -200,$Pos[1]-200,100,100)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BauHaus
    $Bau = "Haus"
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+10, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    Case $Pic1
    If $Bau = "False" Then
    Sleep (1)
    Else
    Call ("_Bau")
    EndIf
    Case $Speichern
    _save()
    Case $Laden
    _load()
    EndSwitch
    WEnd
    Func _save()
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.*)", 2, "autosave.sav")
    If @error = 1 then Return
    FileOpen ($file, 2)
    FileWriteLine ($file, $RohstoffeEisen)
    FileWriteLine ($file, $RohstoffeHolz)
    FileWriteLine ($file, $Label1)
    FileWriteLine ($file, $Label2)
    FileClose ($file)
    EndFunc
    Func _load()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.*)", 1 + 2, "autosave.sav")
    If @error = 1 then Return
    FileOpen ($file, 0)
    $RohstoffeEisen = FileReadLine ($file, 1)
    $RohstoffeHolz = FileReadLine ($file, 2)
    $Label1 = FileReadLine ($file, 3)
    $Label2 = FileReadLine ($file, 4)
    FileClose ($file)
    EndFunc
    Func _Bau ()
    $Bau = "False"
    $Pos = MouseGetPos ()
    GUICtrlDelete ($1)
    If $Bau = "Haus" Then
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -200,$Pos[1]-200,100,100)
    EndIf
    _MouseTrap ()
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Sirocool (25. Dezember 2008 um 00:26)

    • Offizieller Beitrag

    Sirocool hier werden kein Botscripts gepostet. Lese mal die Forenregeln.

  • Hast du da eine Idee Sirocool?
    Und hier mal ein Update:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 72, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2")
    $Button2 = GUICtrlCreateButton("(Not allowed)", 71, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 (Erzmine benötigt")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 14, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeug = GUICtrlCreateLabel("20", 94, 663, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Bau = "False"
    Global $1
    $ToolTip = False
    $Sec = False
    While 1
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BauHaus
    $Bau = "Haus"
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    Case $Pic1
    If $Bau = "False" Then
    Sleep (1)
    Else
    Call ("_Bau")
    EndIf
    EndSwitch
    WEnd
    Func _Bau ()
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $Pos = MouseGetPos ()
    GUICtrlDelete ($1)
    If $Bau = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    EndIf
    $Bau = "False"
    _MouseTrap ()
    EndFunc

    [/autoit]

    Aber leider hab ich es immer noch nicht hinbekommen, das wenn man ein Haus bauen will, das man das bild immer bei der Maus sieht bis man klickt! (Ich weiß ich kann nicht erklären :( )
    Und dann hab ich nich das Problem, das man 2 pic auf einander machen kann

    mfg. Jam00

    Einmal editiert, zuletzt von Jam00 (23. Dezember 2008 um 22:07)

    • Offizieller Beitrag

    Tschuldigung Sirocool und Jam00 hab mich vertan.

  • also wenn du dein haus baust das du dann auch löchen oder bearbeiten kannst aber fuktioniert noch nicht richtig und wegen der anderen sach habe ich noch kein plan da ich auch noch nicht lange ihr bin^^

    änderung ist in zeile 90 bis 93 da wo case pic 1 ist


    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,"C:\Dokumente und Einstellungen\Administrator\Desktop\Daten\Haus.bmp", 0,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 72, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2")
    $Button2 = GUICtrlCreateButton("(Not allowed)", 71, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 (Erzmine benötigt")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 14, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeug = GUICtrlCreateLabel("20", 94, 663, 20, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Bau = "False"
    Global $1
    $ToolTip = False
    $Sec = False
    While 1
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BauHaus
    $Bau = "Haus"
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    Case $Pic1
    $mnu = GUICtrlCreateContextMenu($Pic1)
    $mnu_edit = GUICtrlCreateMenuItem('Bearbeiten', $mnu)
    $mnu_del = GUICtrlCreateMenuItem('Löschen', $mnu)
    If $Bau = "False" Then

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

    Sleep (1)
    Else
    Call ("_Bau")
    EndIf

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

    Case $Speichern
    _save()
    Case $Laden
    _load()

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

    EndSwitch
    WEnd
    ;....Speichern & Load
    Func _save()
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.*)", 2, "autosave.sav")
    If @error = 1 then Return
    FileOpen ($file, 2)
    FileWriteLine ($file, $RohstoffeEisen)
    FileWriteLine ($file, $RohstoffeHolz)
    FileWriteLine ($file, $Label1)
    FileWriteLine ($file, $Label2)
    FileClose ($file)
    EndFunc
    Func _load()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.*)", 1 + 2, "autosave.sav")
    If @error = 1 then Return
    FileOpen ($file, 0)
    $RohstoffeEisen = FileReadLine ($file, 1)
    $RohstoffeHolz = FileReadLine ($file, 2)
    $Label1 = FileReadLine ($file, 3)
    $Label2 = FileReadLine ($file, 4)
    FileClose ($file)
    EndFunc
    ;......Bauobtion
    Func _Bau ()
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $Pos = MouseGetPos ()
    GUICtrlDelete ($1)
    If $Bau = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nich genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    EndIf
    $Bau = "False"
    _MouseTrap ()
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Sirocool (25. Dezember 2008 um 00:25)

  • Ich hab mal ein par fehler behoben:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 72, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2")
    $Button2 = GUICtrlCreateButton("(Not allowed)", 71, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 (Erzmine benötigt")
    $Button1 = GUICtrlCreateButton("(Not allowed)", 14, 682, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("20", 94, 663, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeug = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Bau = "False"
    Global $1
    $ToolTip = False
    $Sec = False
    While 1
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BauHaus
    $Bau = "Haus"
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    Case $Pic1
    $mnu = GUICtrlCreateContextMenu($Pic1)
    $mnu_edit = GUICtrlCreateMenuItem('Bearbeiten', $mnu)
    $mnu_del = GUICtrlCreateMenuItem('Löschen', $mnu)
    If $Bau = "False" Then
    Sleep (1)
    Else
    Call ("_Bau")
    EndIf
    Case $Speichern
    _save()
    Case $Laden
    _load()

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

    EndSwitch
    WEnd
    ;....Speichern & Load
    Func _save()
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeNahrungAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.*)", 2, "autosave.sav")
    IniWrite ($file,"Rohstoffe","Holz", $HolzRead)
    IniWrite ($file,"Rohstoffe","Eisen", $EisenRead)
    IniWrite ($file,"Rohstoffe","Nahrung", $NahrungRead)
    IniWrite ($file,"Rohstoffe","Werkzeug", $WerkzeugRead)
    EndFunc
    Func _load()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.*)", 1 + 2, "autosave.sav")
    $LadenHolz = IniRead ($file, "Rohstoffe","Holz","")
    GUICtrlSetData ($RohstoffeHolzAnzahl,$LadenHolz)
    $LadenEisen = IniRead ($file, "Rohstoffe","Eisen","")
    GUICtrlSetData ($RohstoffeEisenAnzahl,$LadenEisen)
    $LadenNahrung = IniRead ($file, "Rohstoffe","Nahrung","")
    GUICtrlSetData ($RohstoffeNahrungAnzahl,$LadenNahrung)
    $LadenWerkzeug = IniRead ($file, "Rohstoffe","Werkzeug","")
    GUICtrlSetData ($RohstoffeWerkzeugAnzahl,$LadenWerkzeug)
    EndFunc
    ;......Bauobtion
    Func _Bau ()
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $Pos = MouseGetPos ()
    GUICtrlDelete ($1)
    If $Bau = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nich genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    EndIf
    $Bau = "False"
    _MouseTrap ()
    EndFunc

    [/autoit]

    So wie du das Speichern gemacht hast funtionierte das nicht! Hab es geändert!
    Also zum löschen, müssen wir das noch ändern, so kann man ja auch den Hintergrund löschen! Und was willst du denn da Bearbeiten?
    Das blöde ist, wenn man so eine Gui macht, kann man ja keinen $ dazumachen, der würd sich ja beim nägsten bauen verändern, und für das Alte pic besteht dann kein $ mehr :( Da müssen wie noch eine lösung finden! Und vorallem auch zu speichern und das man keine 2 pic's auf eie stelle machen kann!

    PS: Mach deine Scripte doch mal in einen Spoiler, sonst muss mal so lange scroolen

    mfg. Jam00

    Einmal editiert, zuletzt von Jam00 (23. Dezember 2008 um 23:42)

  • Hier mal eine Aktualiesierung:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Medieval city\Pic\Fertig\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 69, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2 Bürger 5")
    $BauErzschmelze = GUICtrlCreateButton("(Not allowed)", 123, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 Bürger 10 (Erzmine benötigt")
    $BauErzmine = GUICtrlCreateButton("(Not allowed)", 123, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2 Bürger 10")
    $BauKuhfarm = GUICtrlCreateButton("(Not allowed)", 15, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Kuhfarm.bmp", 0)
    GUICtrlSetTip(-1, "Kuhfam: Holz 4 Eisen 0 Werkzeug 3 Bürger 5")
    $BauMetzkerei = GUICtrlCreateButton("(Not allowed)", 69, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Metzkerei.bmp", 0)
    GUICtrlSetTip(-1, "Metzkerei: Holz 3 Eisen 2 Werkzeug 2 Bürger 5 (Kuhfarm benötigt) ")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("20", 94, 663, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeug = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $BefoelkerungBuergerAnzahl = GUICtrlCreateLabel("0", 93, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungBuerger = GUICtrlCreateLabel("Bürger", 14, 627, 48, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $BefoelkerungPFAnzahl = GUICtrlCreateLabel("0", 93, 646, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungPF = GUICtrlCreateLabel("Plaz für", 14, 646, 54, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $ToolTip = False
    $Sec = False
    $SpeicherPfad = False
    $Min = False
    $Bewohner = 0
    $BewohnerMax = 0
    While 1
    If $Min = False Then
    $Min = @MIN
    ElseIf $Min + 1 < @MIN Then
    $Min = @MIN
    $Bewohner = $Bewohner +1
    GUICtrlSetData ($BefoelkerungBuergerAnzahl,$Bewohner)
    EndIf
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    $SpeichernMSG = MsgBox (3+32,"Speichern","Möchtest du das spiel Speichern?")
    If $SpeichernMSG = 6 Then
    Call ("_speichern")
    EndIf
    If $SpeichernMSG = 3 Then
    Exit
    ElseIf $SpeichernMSG = 7 Then
    Exit
    EndIf
    Case $Speichern
    Call ("_speichern")
    Case $Laden
    Call ("_laden")
    Case $BauHaus
    _Bau("Haus")
    EndSwitch
    WEnd
    Func _speichern()
    If $SpeicherPfad = False Then
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.*)", 2, "autosave.sav")
    $SpeicherPfad = $file
    Else
    $file = $SpeicherPfad
    EndIf
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeNahrungAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    IniWrite ($file,"Rohstoffe","Holz", $HolzRead)
    IniWrite ($file,"Rohstoffe","Eisen", $EisenRead)
    IniWrite ($file,"Rohstoffe","Nahrung", $NahrungRead)
    IniWrite ($file,"Rohstoffe","Werkzeug", $WerkzeugRead)
    $Formel = $HolzRead + $EisenRead + $NahrungRead + $WerkzeugRead *100
    $FormelHex = Hex ($Formel)
    IniWrite ($file,"Daten","Rechnung",$FormelHex)
    ToolTip ("Spiel Gespeichert")
    $ToolTip = True
    EndFunc
    Func _laden()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.*)", 1 + 2, "autosave.sav")
    $SpeicherPfad = $file
    $LadenHolz = IniRead ($file, "Rohstoffe","Holz","")
    $LadenEisen = IniRead ($file, "Rohstoffe","Eisen","")
    $LadenNahrung = IniRead ($file, "Rohstoffe","Nahrung","")
    $LadenWerkzeug = IniRead ($file, "Rohstoffe","Werkzeug","")
    $LadenFormel = IniRead ($file,"Daten","Rechnung","")
    $LadenFormeDec = Dec ($LadenFormel)
    $Formel1 = $LadenHolz + $LadenEisen + $LadenNahrung + $LadenWerkzeug *100
    If $Formel1 = $LadenFormeDec Then
    GUICtrlSetData ($RohstoffeHolzAnzahl,$LadenHolz)
    GUICtrlSetData ($RohstoffeEisenAnzahl,$LadenEisen)
    GUICtrlSetData ($RohstoffeNahrungAnzahl,$LadenNahrung)
    GUICtrlSetData ($RohstoffeWerkzeugAnzahl,$LadenWerkzeug)
    Else
    MsgBox (16,"Error","Spielstand kann nicht geladen werden")
    EndIf
    EndFunc
    Func _Bau ($BauArt)
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    While 1
    $nMsg1 = GUIGetMsg()
    Switch $nMsg1
    Case $Pic1
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $Pos = MouseGetPos ()
    If $BauArt = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    $BewohnerMax = $BewohnerMax +5
    GUICtrlSetData ($BefoelkerungPFAnzahl,$BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    EndIf
    _MouseTrap ()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    Ich habe jetzt noch Bewohner hinzugefügt und das SaveGame verschlüsselt, und auch noch verbessert, nähmlich, dass wenn man das Spiel schon einmal gespeichert hat nicht nochmal SaveDialog aufruft :thumbup: Durch das verschlüsseln eißt, das wenn man eine Anzahl von den Rohstoffen ändert, das er dann den Spielstand nich läd! Wenn man sich das Script anguckt, kann man die verschlüsselung näprlich knacken, aber wenn nicht is das schon ein bischen schwerer :!: Aber wenn jemad eine Sichere Idee hat sofot sagen

    Achtet daruf die Aktuellen Dateien hinzuzufügen!

    mfg. Jam00

  • musst mal schauen wo der fehler ist glaube wir müssen mit 2 schleifen arbeiten ansonsten können wir keine rohstoffe erzeugen ich habe es so gemacht das du 0 rohstoffe hast und in sec die rohstoffe erzeugt werden aber da ist fehler drin wenn man 2 hüser baut mit einmal läüft der nicht mehr weiter


    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.2.12.1
    Author: Jam00 & Sirocool
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <Misc.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Group2", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 69, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägegrube.bmp", 0)
    GUICtrlSetTip(-1, "Sägegrube: Holz 2 Eisen 1 Wekzeug 2 Bürger 5")
    $BauErzschmelze = GUICtrlCreateButton("(Not allowed)", 123, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 Bürger 10 (Erzmine benötigt")
    $BauErzmine = GUICtrlCreateButton("(Not allowed)", 123, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2 Bürger 10")
    $BauKuhfarm = GUICtrlCreateButton("(Not allowed)", 15, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Kuhfarm.bmp", 0)
    GUICtrlSetTip(-1, "Kuhfam: Holz 4 Eisen 0 Werkzeug 3 Bürger 5")
    $BauMetzkerei = GUICtrlCreateButton("(Not allowed)", 69, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Metzkerei.bmp", 0)
    GUICtrlSetTip(-1, "Metzkerei: Holz 3 Eisen 2 Werkzeug 2 Bürger 5 (Kuhfarm benötigt) ")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("", 94, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("", 94, 645, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("", 94, 681, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("20", 94, 663, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeug = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $BefoelkerungBuergerAnzahl = GUICtrlCreateLabel("0", 93, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungBuerger = GUICtrlCreateLabel("Bürger", 14, 627, 48, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $BefoelkerungPFAnzahl = GUICtrlCreateLabel("0", 93, 646, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungPF = GUICtrlCreateLabel("Plaz für", 14, 646, 54, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $Gold = GUICtrlCreateLabel("Gold", 14, 670, 54, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $GoldMax = GUICtrlCreateLabel("0", 93, 670, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $ToolTip = False
    $Sec = False
    $SpeicherPfad = False
    $Min = False
    $Bewohner = 0
    $BewohnerMax = 0
    $sec = False
    $gold = 0
    $goldMax = 0
    $secRoh = False
    $RohstoffeEisen = 0
    $RohstoffeHolz = 0
    $RohstoffeNahrung = 0

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

    While 1
    If $Min = False Then
    $Min = @Min
    ElseIf $Min + 1 < @Min Then
    $min = @Min
    $Bewohner = $Bewohner +1
    GUICtrlSetData ($BefoelkerungBuergerAnzahl,$Bewohner)
    EndIf
    If $sec = False Then
    $sec = @sec
    ElseIf $sec + 1 < @sec Then
    $sec = @sec
    $gold = $gold +1
    GUICtrlSetData ($GoldMax,$Gold)
    EndIf
    If $secRoh = False Then
    $secRoh = @sec
    ElseIf $secRoh + 1 < @sec Then
    $secRoh = @sec
    $RohstoffeHolz = $RohstoffeHolz +1
    $RohstoffeEisen = $RohstoffeEisen +1
    $RohstoffeNahrung = $RohstoffeNahrung + 1
    GUICtrlSetData ($RohstoffeEisenAnzahl,$RohstoffeEisen)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$RohstoffeHolz)
    GUICtrlSetData ($RohstoffeNahrungAnzahl,$RohstoffeNahrung)
    EndIf
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    $SpeichernMSG = MsgBox (3+32,"Speichern","Möchtest du das spiel Speichern?")
    If $SpeichernMSG = 6 Then
    Call ("_speichern")
    EndIf
    If $SpeichernMSG = 3 Then
    Exit
    ElseIf $SpeichernMSG = 7 Then
    Exit
    EndIf
    Case $Speichern
    Call ("_speichern")
    Case $Laden
    Call ("_laden")
    Case $BauHaus
    _Bau("Haus")
    EndSwitch
    WEnd

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

    Func _speichern()
    If $SpeicherPfad = False Then
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.*)", 2, "autosave.sav")
    $SpeicherPfad = $file
    Else
    $file = $SpeicherPfad
    EndIf
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeNahrungAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    IniWrite ($file,"Rohstoffe","Holz", $HolzRead)
    IniWrite ($file,"Rohstoffe","Eisen", $EisenRead)
    IniWrite ($file,"Rohstoffe","Nahrung", $NahrungRead)
    IniWrite ($file,"Rohstoffe","Werkzeug", $WerkzeugRead)
    $Formel = $HolzRead + $EisenRead + $NahrungRead + $WerkzeugRead *100
    $FormelHex = Hex ($Formel)
    IniWrite ($file,"Daten","Rechnung",$FormelHex)
    ToolTip ("Spiel Gespeichert")
    $ToolTip = True
    EndFunc
    Func _laden()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.*)", 1 + 2, "autosave.sav")
    $SpeicherPfad = $file
    $LadenHolz = IniRead ($file, "Rohstoffe","Holz","")
    $LadenEisen = IniRead ($file, "Rohstoffe","Eisen","")
    $LadenNahrung = IniRead ($file, "Rohstoffe","Nahrung","")
    $LadenWerkzeug = IniRead ($file, "Rohstoffe","Werkzeug","")
    $LadenFormel = IniRead ($file,"Daten","Rechnung","")
    $LadenFormeDec = Dec ($LadenFormel)
    $Formel1 = $LadenHolz + $LadenEisen + $LadenNahrung + $LadenWerkzeug *100
    If $Formel1 = $LadenFormeDec Then
    GUICtrlSetData ($RohstoffeHolzAnzahl,$LadenHolz)
    GUICtrlSetData ($RohstoffeEisenAnzahl,$LadenEisen)
    GUICtrlSetData ($RohstoffeNahrungAnzahl,$LadenNahrung)
    GUICtrlSetData ($RohstoffeWerkzeugAnzahl,$LadenWerkzeug)
    Else
    MsgBox (16,"Error","Spielstand kann nicht geladen werden")
    EndIf
    EndFunc
    Func _Bau ($BauArt)
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    While 1
    $nMsg1 = GUIGetMsg()
    Switch $nMsg1
    Case $Pic1
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $Pos = MouseGetPos ()
    If $BauArt = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    $GoldMax = $GoldMax +10
    $BewohnerMax = $BewohnerMax +5
    GUICtrlSetData ($gold,$GoldMax)
    GUICtrlSetData ($BefoelkerungPFAnzahl,$BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.gif",$Pos[0] -227,$Pos[1]-195,75,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    EndIf
    _MouseTrap ()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit]
  • Jetzt hab ich es hinbekommen, dass das Speichern auch die Pic speichert, und sie beim Laden auch wieder geladen werden :thumbup: :thumbup: :!: Alledings hab ich noch ein kleines Problem, ich bekomm es nicht hin, das wenn man schon gebaut hat die Alten Pic's gelöscht werden :!: Da muss ich noch mal ein bischen runprobieren ^^ Aber ich find es schon ganz gut :!: Irgendwie kam mir heute ein Gedankenbliz, wie man das machen könnte :thumbup: Gedacht, Getan ^^

    Spoiler anzeigen
    [autoit]

    FileDelete (@ScriptDir & "\Bau.ini")
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Medieval city\Pic\Fertig\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Spielmenü", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    GUICtrlSetBkColor (-1,0xFFFFFF)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 69, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Sägewerk.bmp", 0)
    GUICtrlSetTip(-1, "Sägewerk: Holz 2 Eisen 1 Wekzeug 2 Bürger 2")
    $BauErzschmelze = GUICtrlCreateButton("(Not allowed)", 123, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 Bürger 10 (Erzmine benötigt")
    $BauErzmine = GUICtrlCreateButton("(Not allowed)", 123, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2 Bürger 10")
    $BauKuhfarm = GUICtrlCreateButton("(Not allowed)", 15, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Kuhfarm.bmp", 0)
    GUICtrlSetTip(-1, "Kuhfam: Holz 4 Eisen 0 Werkzeug 3 Bürger 5")
    $BauMetzkerei = GUICtrlCreateButton("(Not allowed)", 69, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1,@ScriptDir & "\Metzkerei.bmp", 0)
    GUICtrlSetTip(-1, "Metzkerei: Holz 3 Eisen 2 Werkzeug 2 Bürger 5 (Kuhfarm benötigt) ")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("20", 94, 663, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeug = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $BefoelkerungBuergerAnzahl = GUICtrlCreateLabel("0", 93, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungBuerger = GUICtrlCreateLabel("Bürger", 14, 627, 48, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $BefoelkerungPFAnzahl = GUICtrlCreateLabel("0", 93, 646, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungPF = GUICtrlCreateLabel("Plaz für", 14, 646, 54, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Stunde = False
    $ToolTip = False
    $Sec = False
    $SpeicherPfad = False
    $Min = False
    $Bewohner = 0
    $BewohnerMax = 0
    $HolzAbbau = 0
    $Hauser = 0
    $BewohnerZahl = 0
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $BewohnerRead = GUICtrlRead ($BefoelkerungBuergerAnzahl)
    $Speicher = 30
    $BauZahl = 0
    While 1
    If $Stunde = False Then
    $Stunde = @HOUR
    EndIf
    If $BewohnerRead = $BewohnerMax Then
    Sleep (0)
    Else
    If $Min = False Or $Stunde +1 = @HOUR Then
    $Min = @MIN
    $Stunde = @HOUR
    ElseIf $Min + 1 = @MIN Then
    Do
    $BewohnerZahl = $BewohnerZahl + 1
    $Min = @MIN
    $Bewohner = $Bewohner + 1
    GUICtrlSetData ($BefoelkerungBuergerAnzahl,$Bewohner)
    Until $BewohnerZahl = $Hauser
    $HolzZahl = 0
    If $HolzAbbau = 0 Then
    Sleep (0)
    Else
    If $Speicher > $HolzRead Then
    Do
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    If $Speicher > $HolzRead Then
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead + 2)
    EndIf
    $HolzZahl = $HolzZahl +1
    Until $HolzAbbau = $HolzZahl
    EndIf
    EndIf
    EndIf
    $BewohnerZahl = 0
    $HolzZahl = 0
    EndIf
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip ("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    $SpeichernMSG = MsgBox (3+32,"Speichern","Möchtest du das Spiel Speichern?")
    If $SpeichernMSG = 6 Then
    Call ("_speichern")
    Exit
    EndIf
    If $SpeichernMSG = 3 Then
    Exit
    ElseIf $SpeichernMSG = 7 Then
    Exit
    EndIf
    Case $Speichern
    Call ("_speichern")
    Case $Laden
    Call ("_laden")
    Case $BauHaus
    _Bau("Haus")
    Case $BauSaegewerk
    _Bau ("Saegewerk")
    EndSwitch
    ;~ WinClose ("Eigenschaften von Datum und Uhrzeit")
    WEnd
    Func _speichern()
    If $SpeicherPfad = False Then
    $file = FileSaveDialog ("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.sav)", 2+16, "Medieval City.sav")
    $SpeicherPfad = $file
    Else
    $file = $SpeicherPfad
    EndIf
    If @error = 1 Then
    Sleep (0)
    Else
    FileDelete ($file)
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeNahrungAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $BewohnerRead = GUICtrlRead ($BefoelkerungBuergerAnzahl)
    $fileRead = FileRead (@ScriptDir & "\Bau.ini")
    FileWrite ($file,$fileRead)
    IniWrite ($file,"Rohstoffe","Holz", $HolzRead)
    IniWrite ($file,"Rohstoffe","Eisen", $EisenRead)
    IniWrite ($file,"Rohstoffe","Nahrung", $NahrungRead)
    IniWrite ($file,"Rohstoffe","Werkzeug", $WerkzeugRead)
    IniWrite ($file,"Bewohner","Bürger",$BewohnerRead)
    $Formel = $HolzRead + $EisenRead + $NahrungRead + $WerkzeugRead + $BewohnerRead *100
    $FormelHex = Hex ($Formel)
    IniWrite ($file,"Daten","Rechnung",$FormelHex)
    ToolTip ("Spiel Gespeichert")
    $ToolTip = True
    EndIf
    EndFunc
    Func _laden()
    $file = FileOpenDialog ("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.sav)", 1 + 2, "Medieval City.sav")
    If @error = 1 Then
    Sleep (0)
    Else
    $Hauser = 0
    $LadenZahl = 0
    $SpeicherPfad = $file
    $LadenHolz = IniRead ($file, "Rohstoffe","Holz","")
    $LadenEisen = IniRead ($file, "Rohstoffe","Eisen","")
    $LadenNahrung = IniRead ($file, "Rohstoffe","Nahrung","")
    $LadenWerkzeug = IniRead ($file, "Rohstoffe","Werkzeug","")
    $LadenBewohner = IniRead ($file,"Bewohner","Bürger","")
    $LadenFormel = IniRead ($file,"Daten","Rechnung","")
    $LadenFormeDec = Dec ($LadenFormel)
    $Formel1 = $LadenHolz + $LadenEisen + $LadenNahrung + $LadenWerkzeug + $LadenBewohner *100
    If $Formel1 = $LadenFormeDec Then
    GUISetState (@SW_LOCK)
    $LadenZahlMax = IniRead ($file,"Bau","ZahlHaus","0")
    Do
    $Hauser = $Hauser +1
    $BewohnerMax = $BewohnerMax +5
    $LadenZahl = $LadenZahl +1
    $LadenBau = IniRead ($file,"Bau","Haus" & $LadenZahl, "0")
    $LadenZahl = $LadenZahl +1
    $LadenBau2 = IniRead ($file,"Bau","Haus" & $LadenZahl, "0")
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$LadenBau ,$LadenBau2,100,100)
    Until $LadenZahl = $LadenZahlMax
    $LadenZahl = 0
    $LadenZahlMax = IniRead ($file,"Bau","ZahlSägewerk","0")
    Do
    $HolzAbbau = $HolzAbbau + 1
    $LadenZahl = $LadenZahl +1
    $LadenBau = IniRead ($file,"Bau","Sägewerk" & $LadenZahl, "0")
    $LadenZahl = $LadenZahl +1
    $LadenBau2 = IniRead ($file,"Bau","Sägewerk" & $LadenZahl, "0")
    GUICtrlCreatePic (@ScriptDir & "\Sägewerk.jpg",$LadenBau ,$LadenBau2,100,100)
    Until $LadenZahl = $LadenZahlMax
    GUISetState (@SW_UNLOCK)
    GUICtrlSetData ($BefoelkerungPFAnzahl,$BewohnerMax)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$LadenHolz)
    GUICtrlSetData ($RohstoffeEisenAnzahl,$LadenEisen)
    GUICtrlSetData ($RohstoffeNahrungAnzahl,$LadenNahrung)
    GUICtrlSetData ($RohstoffeWerkzeugAnzahl,$LadenWerkzeug)
    GUICtrlSetData ($BefoelkerungBuergerAnzahl,$LadenBewohner)
    Else
    MsgBox (16,"Error","Spielstand kann nicht geladen werden")
    EndIf
    EndIf
    EndFunc
    Func _Bau ($BauArt)
    $WinPos = WinGetPos ("Medieval City")
    _MouseTrap ($WinPos[0]+52, $WinPos[1]+97, $WinPos[0] + $WinPos[2] -78, $WinPos[1] + $WinPos[3]-245)
    While 1
    $nMsg1 = GUIGetMsg()
    Switch $nMsg1
    Case $Pic1
    $HolzRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead ($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead ($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead ($RohstoffeWerkzeugAnzahl)
    $BewohnerRead = GUICtrlRead ($BefoelkerungBuergerAnzahl)
    $Pos = MouseGetPos ()
    $BauZahl = 0
    If $BauArt = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip ("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    $BauZahl = $BauZahl +1
    IniDelete (@ScriptDir & "\Bau.ini","Bau","ZahlHaus")
    IniWrite (@ScriptDir & "\Bau.ini","Bau","ZahlHaus",$BauZahl *2)
    IniWrite (@ScriptDir & "\Bau.ini","Bau","Haus" & $BauZahl,$Pos[0]-227)
    $BauZahl = $BauZahl +1
    IniWrite (@ScriptDir & "\Bau.ini","Bau","Haus" & $BauZahl,$Pos[1]-195)
    $Hauser = $Hauser +1
    $BewohnerMax = $BewohnerMax +5
    GUICtrlSetData ($BefoelkerungPFAnzahl,$BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Haus.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    EndIf
    ElseIf $BauArt = "Saegewerk" Then
    If $HolzRead - 2 < 0 Or $EisenRead -1 < 0 Or $WerkzeugRead -2 < 0 Then
    ToolTip ("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $BewohnerRead -2 < 0 Then
    ToolTip ("In deiner Stadt sind nicht genügend Einwohner")
    $ToolTip = True
    ElseIf $HolzRead -3 > 0 Then
    $BauZahl = 0
    $BauZahl = $BauZahl +1
    IniDelete (@ScriptDir & "\Bau.ini","Bau","ZahlSägewerk")
    IniWrite (@ScriptDir & "\Bau.ini","Bau","ZahlSägewerk",$BauZahl *2)
    IniWrite (@ScriptDir & "\Bau.ini","Bau","Sägewerk" & $BauZahl,$Pos[0]-227)
    $BauZahl = $BauZahl +1
    IniWrite (@ScriptDir & "\Bau.ini","Bau","Sägewerk" & $BauZahl,$Pos[1]-195)
    $Hauser = $Hauser +1
    $HolzAbbau = $HolzAbbau + 1
    GUICtrlSetData ($BefoelkerungPFAnzahl,$BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic (@ScriptDir & "\Sägewerk.jpg",$Pos[0] -227,$Pos[1]-195,100,100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData ($RohstoffeHolzAnzahl,$HolzRead -3)
    GUICtrlSetData ($RohstoffeEisenAnzahl,$EisenRead -1)
    GUICtrlSetData ($RohstoffeWerkzeugAnzahl, $WerkzeugRead -2)
    GUICtrlSetData ($BefoelkerungBuergerAnzahl, $BewohnerRead -2)
    EndIf
    EndIf
    _MouseTrap ()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    mfg. Jam00

    2 Mal editiert, zuletzt von Jam00 (25. Dezember 2008 um 18:34)

  • So, jetzt funktioniert es auch, das das Bild beim Erstellen immer Beim mauszeiger ist (mit hilfe von SiroCool)

    Spoiler anzeigen
    [autoit]

    $cordx = -50
    $cordy = -50
    FileDelete(@ScriptDir & "\Bau.ini")
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\Benutzeroberflächen\MC.kxf
    $MC = GUICreate("Medieval City", 1025, 769, 184, 118)
    $Group1 = GUICtrlCreateGroup("Spiel:", 3, 3, 1018, 580)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Hintergrund.jpg", 9, 18, 1000, 560)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Spielmenü", 3, 585, 1015, 178, -1, $WS_EX_TRANSPARENT)
    $Tab1 = GUICtrlCreateTab(9, 600, 1003, 157)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $TabSheet1 = GUICtrlCreateTabItem("Baummenü")
    $BauHaus = GUICtrlCreateButton("(Not allowed)", 15, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Haus.bmp", 0)
    GUICtrlSetTip(-1, "Haus: Holz 3")
    $BauSaegewerk = GUICtrlCreateButton("(Not allowed)", 69, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Sägewerk.bmp", 0)
    GUICtrlSetTip(-1, "Sägewerk: Holz 2 Eisen 1 Wekzeug 2 Bürger 2")
    $BauErzschmelze = GUICtrlCreateButton("(Not allowed)", 123, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzschmelze.bmp", 0)
    GUICtrlSetTip(-1, "Erzschmelze: Holz 4 Eisen 2 Werkzeug 3 Bürger 10 (Erzmine benötigt")
    $BauErzmine = GUICtrlCreateButton("(Not allowed)", 123, 627, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Erzmine.bmp", 0)
    GUICtrlSetTip(-1, "Erzmine: Holz 4 Eisen 1 Werkzeug 2 Bürger 10")
    $BauKuhfarm = GUICtrlCreateButton("(Not allowed)", 15, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Kuhfarm.bmp", 0)
    GUICtrlSetTip(-1, "Kuhfam: Holz 4 Eisen 0 Werkzeug 3 Bürger 5")
    $BauMetzkerei = GUICtrlCreateButton("(Not allowed)", 69, 681, 54, 54, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\Metzkerei.bmp", 0)
    GUICtrlSetTip(-1, "Metzkerei: Holz 3 Eisen 2 Werkzeug 2 Bürger 5 (Kuhfarm benötigt) ")
    $TabSheet2 = GUICtrlCreateTabItem("Rohstoffe")
    $RohstoffeHolz = GUICtrlCreateLabel("Holz", 15, 627, 33, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Deine Holzlager")
    $RohstoffeHolzAnzahl = GUICtrlCreateLabel("20", 94, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeEisen = GUICtrlCreateLabel("Eisen", 15, 645, 41, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Eisenlager")
    $RohstoffeEisenAnzahl = GUICtrlCreateLabel("20", 94, 645, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrungAnzahl = GUICtrlCreateLabel("20", 94, 681, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeNahrung = GUICtrlCreateLabel("Nahrung", 15, 681, 59, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $RohstoffeWerkzeugAnzahl = GUICtrlCreateLabel("20", 94, 663, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $RohstoffeWerkzeug = GUICtrlCreateLabel("Werkzeuge", 15, 663, 79, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet3 = GUICtrlCreateTabItem("Befölkerung")
    $BefoelkerungBuergerAnzahl = GUICtrlCreateLabel("0", 93, 627, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungBuerger = GUICtrlCreateLabel("Bürger", 14, 627, 48, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $BefoelkerungPFAnzahl = GUICtrlCreateLabel("0", 93, 646, 75, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BefoelkerungPF = GUICtrlCreateLabel("Plaz für", 14, 646, 54, 21)
    GUICtrlSetFont(-1, 11, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetTip(-1, "Dein Nahrungslager")
    $TabSheet4 = GUICtrlCreateTabItem("Spielstand")
    $Speichern = GUICtrlCreateButton("Speichern", 15, 627, 75, 25, 0)
    $Laden = GUICtrlCreateButton("Laden", 90, 627, 75, 25, 0)
    GUICtrlCreateTabItem("")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Stunde = False
    $ToolTip = False
    $Sec = False
    $SpeicherPfad = False
    $Min = False
    $Bewohner = 0
    $BewohnerMax = 0
    $HolzAbbau = 0
    $Hauser = 0
    $BewohnerZahl = 0
    $HolzRead = GUICtrlRead($RohstoffeHolzAnzahl)
    $BewohnerRead = GUICtrlRead($BefoelkerungBuergerAnzahl)
    $Speicher = 30
    $BauZahl = 0
    While 1
    If $Stunde = False Then
    $Stunde = @HOUR
    EndIf
    If $BewohnerRead = $BewohnerMax Then
    Sleep(0)
    Else
    If $Min = False Or $Stunde + 1 = @HOUR Then
    $Min = @MIN
    $Stunde = @HOUR
    ElseIf $Min + 1 = @MIN Or $Stunde +1 = @HOUR Then
    Do
    $BewohnerRead = GUICtrlRead($BefoelkerungBuergerAnzahl)
    If $BewohnerRead + 1 > $BewohnerMax Then ExitLoop
    $BewohnerZahl = $BewohnerZahl + 1
    $Min = @MIN
    $Bewohner = $Bewohner + 1
    GUICtrlSetData($BefoelkerungBuergerAnzahl, $Bewohner)
    Until $BewohnerZahl = $Hauser
    $HolzZahl = 0
    If $HolzAbbau = 0 Then
    Sleep(0)
    Else
    If $Speicher > $HolzRead Then
    Do
    $HolzRead = GUICtrlRead($RohstoffeHolzAnzahl)
    If $Speicher > $HolzRead Then
    GUICtrlSetData($RohstoffeHolzAnzahl, $HolzRead + 2)
    EndIf
    $HolzZahl = $HolzZahl + 1
    Until $HolzAbbau = $HolzZahl
    EndIf
    EndIf
    EndIf
    $BewohnerZahl = 0
    $HolzZahl = 0
    EndIf
    If $ToolTip = True Then
    If $Sec = False Then
    $Sec = @SEC
    Else
    If $Sec + 5 = @SEC Then
    ToolTip("")
    $ToolTip = False
    EndIf
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    $SpeichernMSG = MsgBox(3 + 32, "Speichern", "Möchtest du das Spiel Speichern?")
    If $SpeichernMSG = 6 Then
    Call("_speichern")
    Exit
    EndIf
    If $SpeichernMSG = 3 Then
    Exit
    ElseIf $SpeichernMSG = 7 Then
    Exit
    EndIf
    Case $Speichern
    Call("_speichern")
    Case $Laden
    Call("_laden")
    Case $BauHaus
    _Bau("Haus")
    Case $BauSaegewerk
    _Bau("Sägewerk")
    EndSwitch
    ;~ WinClose ("Eigenschaften von Datum und Uhrzeit")
    WEnd
    Func _speichern()
    If $SpeicherPfad = False Then
    $file = FileSaveDialog("Spielstand speichern:", @ScriptDir & "\saves", "Spielstand (*.sav)", 2 + 16, "Medieval City.sav")
    $SpeicherPfad = $file
    Else
    $file = $SpeicherPfad
    EndIf
    If @error = 1 Then
    Sleep(0)
    Else
    FileDelete($file)
    $HolzRead = GUICtrlRead($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead($RohstoffeNahrungAnzahl)
    $WerkzeugRead = GUICtrlRead($RohstoffeWerkzeugAnzahl)
    $BewohnerRead = GUICtrlRead($BefoelkerungBuergerAnzahl)
    $fileRead = FileRead(@ScriptDir & "\Bau.ini")
    FileWrite($file, $fileRead)
    IniWrite($file, "Rohstoffe", "Holz", $HolzRead)
    IniWrite($file, "Rohstoffe", "Eisen", $EisenRead)
    IniWrite($file, "Rohstoffe", "Nahrung", $NahrungRead)
    IniWrite($file, "Rohstoffe", "Werkzeug", $WerkzeugRead)
    IniWrite($file, "Bewohner", "Bürger", $BewohnerRead)
    $Formel = $HolzRead + $EisenRead + $NahrungRead + $WerkzeugRead + $BewohnerRead * 100
    $FormelHex = Hex($Formel)
    IniWrite($file, "Daten", "Rechnung", $FormelHex)
    ToolTip("Spiel Gespeichert")
    $ToolTip = True
    EndIf
    EndFunc ;==>_speichern
    Func _laden()
    $file = FileOpenDialog("Spielstand laden:", @ScriptDir & "\saves", "Spielstand (*.sav)", 1 + 2, "Medieval City.sav")
    If @error = 1 Then
    Sleep(0)
    Else
    $Hauser = 0
    $LadenZahl = 0
    $SpeicherPfad = $file
    $LadenHolz = IniRead($file, "Rohstoffe", "Holz", "")
    $LadenEisen = IniRead($file, "Rohstoffe", "Eisen", "")
    $LadenNahrung = IniRead($file, "Rohstoffe", "Nahrung", "")
    $LadenWerkzeug = IniRead($file, "Rohstoffe", "Werkzeug", "")
    $LadenBewohner = IniRead($file, "Bewohner", "Bürger", "")
    $LadenFormel = IniRead($file, "Daten", "Rechnung", "")
    $LadenFormeDec = Dec($LadenFormel)
    $Formel1 = $LadenHolz + $LadenEisen + $LadenNahrung + $LadenWerkzeug + $LadenBewohner * 100
    If $Formel1 = $LadenFormeDec Then
    GUISetState(@SW_LOCK)
    $LadenZahlMax = IniRead($file, "Bau", "ZahlHaus", "0")
    Do
    $Hauser = $Hauser + 1
    $BewohnerMax = $BewohnerMax + 5
    $LadenZahl = $LadenZahl + 1
    $LadenBau = IniRead($file, "Bau", "Haus" & $LadenZahl, "0")
    $LadenZahl = $LadenZahl + 1
    $LadenBau2 = IniRead($file, "Bau", "Haus" & $LadenZahl, "0")
    GUICtrlCreatePic(@ScriptDir & "\Haus.jpg", $LadenBau, $LadenBau2, 100, 100)
    Until $LadenZahl = $LadenZahlMax
    $LadenZahl = 0
    $LadenZahlMax = IniRead($file, "Bau", "ZahlSägewerk", "0")
    Do
    $HolzAbbau = $HolzAbbau + 1
    $LadenZahl = $LadenZahl + 1
    $LadenBau = IniRead($file, "Bau", "Sägewerk" & $LadenZahl, "0")
    $LadenZahl = $LadenZahl + 1
    $LadenBau2 = IniRead($file, "Bau", "Sägewerk" & $LadenZahl, "0")
    GUICtrlCreatePic(@ScriptDir & "\Sägewerk.jpg", $LadenBau, $LadenBau2, 100, 100)
    Until $LadenZahl = $LadenZahlMax
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData($BefoelkerungPFAnzahl, $BewohnerMax)
    GUICtrlSetData($RohstoffeHolzAnzahl, $LadenHolz)
    GUICtrlSetData($RohstoffeEisenAnzahl, $LadenEisen)
    GUICtrlSetData($RohstoffeNahrungAnzahl, $LadenNahrung)
    GUICtrlSetData($RohstoffeWerkzeugAnzahl, $LadenWerkzeug)
    GUICtrlSetData($BefoelkerungBuergerAnzahl, $LadenBewohner)
    Else
    MsgBox(16, "Error", "Spielstand kann nicht geladen werden")
    EndIf
    EndIf
    EndFunc ;==>_laden
    Func _Bau($BauArt)
    $A = GUICtrlCreatePic(@ScriptDir & "\" & $BauArt & ".jpg",$cordx,$cordy,100,100)
    GUICtrlSetCursor($A,0)
    $WinPos = WinGetPos("Medieval City")
    While 1
    _MouseTrap($WinPos[0] + 62, $WinPos[1] + 97, $WinPos[0] + $WinPos[2] - 68, $WinPos[1] + $WinPos[3] - 243)
    $Maus = GUIGetCursorInfo()
    $x2 = $Maus[0]
    $x = $cordx + $x2
    $y2 = $Maus[1]
    $y = $cordy + $y2
    GUICtrlSetPos($A,$x,$y,100,100)
    $xm = $Maus[0]
    $ym = $Maus[1]
    $nMsg1 = GUIGetMsg()
    Switch $nMsg1
    Case $Pic1
    GUICtrlDelete ($A)
    $HolzRead = GUICtrlRead($RohstoffeHolzAnzahl)
    $EisenRead = GUICtrlRead($RohstoffeEisenAnzahl)
    $NahrungRead = GUICtrlRead($RohstoffeHolzAnzahl)
    $WerkzeugRead = GUICtrlRead($RohstoffeWerkzeugAnzahl)
    $BewohnerRead = GUICtrlRead($BefoelkerungBuergerAnzahl)
    $Pos = MouseGetPos()
    $BauZahl = 0
    If $BauArt = "Haus" Then
    If $HolzRead - 3 < 0 Then
    ToolTip("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $HolzRead - 3 > 0 Then
    $BauZahl = $BauZahl + 1
    IniDelete(@ScriptDir & "\Bau.ini", "Bau", "ZahlHaus")
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "ZahlHaus", $BauZahl * 2)
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "Haus" & $BauZahl, $Pos[0] - 237)
    $BauZahl = $BauZahl + 1
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "Haus" & $BauZahl, $Pos[1] - 197)
    $Hauser = $Hauser + 1
    $BewohnerMax = $BewohnerMax + 5
    GUICtrlSetData($BefoelkerungPFAnzahl, $BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic(@ScriptDir & "\Haus.jpg", $Pos[0] - 237, $Pos[1] - 197, 100, 100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData($RohstoffeHolzAnzahl, $HolzRead - 3)
    EndIf
    ElseIf $BauArt = "Sägewerk" Then
    If $HolzRead - 2 < 0 Or $EisenRead - 1 < 0 Or $WerkzeugRead - 2 < 0 Then
    ToolTip("Du hast nicht genügend Rohstoffe")
    $ToolTip = True
    ElseIf $BewohnerRead - 2 < 0 Then
    ToolTip("In deiner Stadt sind nicht genügend Einwohner")
    $ToolTip = True
    ElseIf $HolzRead - 3 > 0 Then
    $BauZahl = 0
    $BauZahl = $BauZahl + 1
    IniDelete(@ScriptDir & "\Bau.ini", "Bau", "ZahlSägewerk")
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "ZahlSägewerk", $BauZahl * 2)
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "Sägewerk" & $BauZahl, $Pos[0] - 237)
    $BauZahl = $BauZahl + 1
    IniWrite(@ScriptDir & "\Bau.ini", "Bau", "Sägewerk" & $BauZahl, $Pos[1] - 197)
    $Hauser = $Hauser + 1
    $HolzAbbau = $HolzAbbau + 1
    GUICtrlSetData($BefoelkerungPFAnzahl, $BewohnerMax)
    GUISetState(@SW_LOCK)
    GUICtrlCreatePic(@ScriptDir & "\Sägewerk.jpg", $Pos[0] - 237, $Pos[1] - 197, 100, 100)
    GUISetState(@SW_UNLOCK)
    GUICtrlSetData($RohstoffeHolzAnzahl, $HolzRead - 3)
    GUICtrlSetData($RohstoffeEisenAnzahl, $EisenRead - 1)
    GUICtrlSetData($RohstoffeWerkzeugAnzahl, $WerkzeugRead - 2)
    GUICtrlSetData($BefoelkerungBuergerAnzahl, $BewohnerRead - 2)
    EndIf
    EndIf
    _MouseTrap()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_Bau

    [/autoit]

    mfg. Jam00