Farben definieren


  • xparet0209
  • 3754 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Farben definieren

    hi
    ich hab ein kleines prob mit AutoIT
    ich möchte das er eine bestimmt koordinate des bildschirms auf eine bestimmte farbe prüft
    ich hab es mit autoit window info gemacht und der gibt mir die farbe in eienen hex code aus wie binde ich das jetzt in das prog ein?

    mfg xparet0209
  • ja
    genau genommen möcht ich ein bot programmieren
    dazu brauch ich die farbe der HP leiste
    If PixelGetColor(380, 110) = 0xAEDD0A Then

    aber ich weiß nicht wie ich die farbe definiere

    der Quellcode des bots...

    HotKeySet("{Home}","start")
    Hotkeyset("{END}","stop")
    Hotkeyset("{PAUSE}","Pause")
    Global $Paused
    Global $Wait


    if Not WinExists("Nostale") then
    MsgBox(64, "NosBot", "You must be running Nostale")
    Exit
    EndIf

    MsgBox(64, "NosBot", "To Start the Bot Press the Home Key, and to stop press the End Key, and to pause Press the Pause key")
    Wait()

    Func start()
    WinActivate ( 'Nostale' )
    Sleep(500)
    while 1
    If PixelGetColor(380, 110) = 0xAEDD0A Then
    Rest()
    Else
    Target()
    EndIf
    WEnd
    EndFunc

    Func Target()
    Send("{Space}")
    Sleep(500)
    if PixelGetColor(745, 130) = 0x0857DB Then
    Send("{Space}")
    Fight()
    EndIf
    EndFunc

    Func Fight()
    ToolTip("Nosbot: Fighting Monster ", 2, 0)
    While PixelGetColor(745, 130) = 0x0857DB
    Sleep(500)
    WEnd
    ToolTip("Nosbot: Grabbing Item ", 2, 0)
    Sleep(700)
    Send("3")
    Sleep(700)
    Send("3")
    Sleep(500)
    Send("T")
    Sleep(500)
    Send("T")
    Sleep(3000)
    Send("T")
    EndFunc

    Func Rest()
    Sleep(500)
    Send("t")
    While PixelGetColor(400, 110) = 0x090909
    Sleep(500)
    WEnd
    Sleep(250)
    Send("t")
    Sleep(500)
    EndFunc

    Func Pause()
    $Paused = NOT $Paused
    While $Paused
    ToolTip("NosBot: Paused ", 2, 0)
    Sleep (400)
    WEnd
    EndFunc

    Func Wait()
    $Wait = NOT $Wait
    While $Wait
    ToolTip("NosBot: Press the HOME key to start ", 2, 0)
    Sleep (400)
    WEnd
    EndFunc

    Func stop()
    ToolTip("NosBot: Shutting Down ", 2, 0)
    MsgBox(64, "NosBot", "Thanks for using NosBot, Made By Salter.")
    Exit
    EndFunc
  • ich verstehe zwar immer noch nicht welche Farben du definieren willst, aber:

    If PixelGetColor(380, 110) = 0xAEDD0A Then


    also du vergleichst ein Pixel mit einem Wert welchen du aus dem Info Tool herausgelesen hast.
    1. um einen Vergleich zu machen muss man "==" verwenden
    2. PixelGetColor(380,110): gibt dir einen dezimalen Wert als Antwort und diesen kann man nicht direkt mit einem Hex Wert vergleichen
    3. 0xAEDD0A mit "0x" wird der Wert immer auf Null gesetzt, ka wieso der Wert im Info Tool so angezeigt wird
    4. AEDD0A muss unter Komma stehen

    also müsste es so richtig heißen:
    If hex(PixelGetColor(380, 110)) == "AEDD0A" Then

    oder
    If PixelGetColor(380, 110) == dec("AEDD0A") Then