Skript Problem (maussteuerung)

  • Hallo @ all.

    folgendes Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <AVIConstants.au3>
    #Include <GuiAVI.au3>
    $G1 = 0
    $G2 = 0
    $G3 = 0

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

    GUICreate("Spiel", @DesktopWidth - 5, @DesktopHeight - 70, 0, 0)
    $figur = GUICtrlCreatelabel("AUTO", 315, 450, 200, 100)
    GUICtrlSetBkColor($figur, 0x000000)
    GUICtrlSetColor($figur, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    While WinExists("Spiel")
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then
    Exit
    EndIf
    If $G1 = 0 Then
    $G1 = 1
    GUISetState(@SW_HIDE)
    $G1_a = GUICtrlCreateLabel("GEGNER 1", 145, 300, 180, 85)
    GUICtrlSetBkColor($G1_a, 0xFFFFF)
    GUISetState(@SW_SHOW)
    ElseIf $G2 = 0 Then
    $G2 = 1
    GUISetState(@SW_HIDE)
    $G2_a = GUICtrlCreateLabel("GEGNER 2", 326, 300, 180, 85)
    GUICtrlSetBkColor($G2_a, 0xFFFFF)
    GUISetState(@SW_SHOW)
    ElseIf $G3 = 0 Then
    $G3 = 1
    GUISetState(@SW_HIDE)
    $G3_a = GUICtrlCreateLabel("GEGNER 3", 507, 300, 180, 85)
    GUICtrlSetBkColor($G3_a, 0xFFFFF)
    GUISetState(@SW_SHOW)
    EndIF
    $klick = GUIGetCursorInfo()
    $pos = MouseGetPos()
    If $klick[2] = 1 Then
    If $pos[1] >= 300 and $pos[0] <= 480 Then
    If $G1 = 1 Then
    If $pos[0] >= 145 and $pos[0] <= 325 Then
    $G1 = 0
    sleep(100)
    GUICtrlDelete($G1_a)
    EndIf
    EndIf
    If $G2 = 1 Then
    If $pos[0] >= 326 and $pos[0] <= 506 Then
    $G2 = 0
    sleep(100)
    GUICtrlDelete($G2_a)
    EndIf
    EndIf
    If $G3 = 1 Then
    If $pos[0] >= 507 and $pos[0] <= 687 Then
    $G3 = 0
    sleep(100)
    GUICtrlDelete($G3_a)
    EndIf
    EndIf
    EndIf
    EndIf
    sleep(500)
    WEnd

    [/autoit]

    Mit Folgendem Problem:
    Das einzige was nicht funktioniert ist, dasAbschiessen von Gegner 3.
    Bei Gegner 2 und 1 klappt es , die werden gelöscht(und später wieder angezeigt).

    P.S.: Das ist nur ein Auszug meines Skriptes (Ich habe es getsestet, diese Stelle funktioniert weder im kompletten Skript noch in diesem Auszug !).

  • Hallo Skriptbär,

    lässt sich bei mir nicht ausführen. Ausgabe von Scite-Console:

    Code
    >"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\skriptbär_2.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>18:03:04 Starting AutoIt3Wrapper v.2.0.1.24    Environment(Language:0407  Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
    >Running AU3Check (1.54.19.0)  from:C:\Programme\AutoIt3
    +>18:03:08 AU3Check ended.rc:0
    >Running:(3.3.6.1):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\skriptbär_2.au3"    
    C:\Programme\AutoIt3\Examples\Tests\skriptbär_2.au3 (39) : ==> Subscript used with non-Array variable.:
    If $klick[2] = 1 Then
    If $klick^ ERROR
    ->18:03:17 AutoIT3.exe ended.rc:1
    >Exit code: 1    Time: 20.260

    mfg (Auto)Bert

  • P.S.: Das ist nur ein Auszug meines Skriptes (Ich habe es getsestet, diese Stelle funktioniert weder im kompletten Skript noch in diesem Auszug !).

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"