Zahl erhöhen

  • Hallo liebe Community. Ich möchte folgendes machen:

    [autoit]

    HotKeySet("{k}","_bla")

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

    While 1
    Sleep (100)
    WEnd

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

    Func _bla()
    $zahl = $zahl + 1 ;Wobei die $Zahl 2 stellig sein soll. Betrifft vorallem 00, 01, 02 und so weiter...
    Send("E" & $zahl)
    EndFunc

    [/autoit]

    So in etwa sieht mein Code aus. Natürlich so im Kopf und ohne "Global/Local".

    Kann mir jemand dabei helfen ?(

    2 Mal editiert, zuletzt von bbm1995 (26. Mai 2012 um 23:17)

  • Dann sollte er aber nicht Local Static vergessen und Initialisierung mit -1. ;)
    Und bei HotKeySet die Klammern entfernen.

  • name22 Ich brauche das für Minecraft. Ich bin ein Admin und muss Regionen definieren und (sry) für mich ist das einfach nur doof, von 00 bis 48 von Hand zu schreiben ^^.

    Naja. Mal schauen, ob ich das gebacken kriege (seit knapp 6 Monaten nicht mehr programmiert ^^ )

  • Yay danke! Es funktioniert perfekt ^^

    Hier mein Script:

    [autoit]

    HotKeySet("k","_1")

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

    Local Static $zahl = 0
    StringFormat("%02d", $zahl)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _1()
    ConsoleWrite($zahl)
    $zahl = $zahl + 1
    EndFunc

    [/autoit]
  • Was hat das Local Static außerhalb der Funktion verloren :pinch: ... Alle Variablen die außerhalb von Funktionen deklariert werden sind ausschließlich Global..
    So funktioniert das zwar auch, aber da hattest du mehr oder weniger einfach nur Glück...
    Aber das mit StringFormat ist ja wohl völliger Blödsinn ^^. StringFormat gibt den entsprechend formatierten Wert zurück. Das heißt es muss so aussehen:

    [autoit]

    HotKeySet("k","_1")

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

    While 1
    Sleep(100)
    WEnd

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

    Func _1()
    Local Static $zahl = 0
    ConsoleWrite(StringFormat("%02d", $zahl))
    $zahl = $zahl + 1
    EndFunc

    [/autoit]


    (So meinte m-obi das mit Static)

  • Naja, ist ja fast das selbe und beides klappt ^^. Nur deiner ist halt kürzer ;)

  • Sicher? Probier mal beide aus ;P

    name22
    [autoit]

    ;~ HotKeySet("k","_1")
    HotKeySet("n","_go")

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

    While 1
    Sleep(100)
    WEnd

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

    Func _go()
    Local Static $zahl = 25
    MouseClick("left",683,380,1,0)
    Sleep(50)
    MouseClick("right",683,380,1,0)
    Sleep(50)
    Send("W" & $zahl)
    Sleep(50)
    MouseClick("left",683,460,1,0)
    $zahl = $zahl + 1
    EndFunc

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

    Func _1()
    Local Static $zahl = 0
    ConsoleWrite(StringFormat("%02d", $zahl))
    $zahl = $zahl + 1
    EndFunc

    [/autoit]
    mein vorheriger
    [autoit]

    ;~ HotKeySet("k","_1")
    HotKeySet("n","_go")

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

    Local Static $zahl = -1

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

    StringFormat("%02d", $zahl)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _go()
    Local Static $zahl = 25
    MouseClick("left",683,380,1,0)
    Sleep(50)
    MouseClick("right",683,380,1,0)
    Sleep(50)
    Send("W" & $zahl)
    Sleep(50)
    MouseClick("left",683,460,1,0)
    $zahl = $zahl + 1
    EndFunc

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

    Func _1()
    ConsoleWrite($zahl)
    $zahl = $zahl + 1
    EndFunc

    [/autoit]

    Ich:
    [Blockierte Grafik: http://fuuu.us/202.png]

    m-obi:
    [Blockierte Grafik: http://fuuu.us/217.png]

  • @bbm1995
    Dein Skript funktioniert zwar aber es ist sicher nicht so gemeint wie du es geschrieben hast.

    Beantworte dir doch einfach mal selbst ein paar Fragen:

    • Was bedeutet "Local"?
    • Was bedeutet "Static"?
    • Wenn du beides dann verstanden hast: Macht es Sinn so wie du die beiden verwendest?
    • Was passiert wenn du in irgendeiner anderen Funktion eine Variable namens $zahl verwendest (und diese nicht mit "Local" deklarierst) und einen anderen Wert zuweist?
    • Was passiert wenn du die Funktion _1() aufrufst bevor du deine Variable $zahl deklarierst (also z.B. mal nach dem Hotkeyset ein Sleep(5000) einfügen oder anderen Code der einige Zeit dauert)?
  • Ich glaube du willst uns echt verarschen. Ich bin von deinem Script vom Post7 ausgegangen. Dort ist StringFormat außerhalb der Funktion, somit wirkungslos. Desweiteren sehe ich die Funktion _go zum ersten Mal. Und name22 hat die Funktion nicht in seinem Vorschlag mit drin. Mich wunderts das sich name22 bei dir noch nicht beschwert hat. Und da du in _go die Variable mit 25 initialisiert, ist.mir schon unklar wozu du eigentlich diesen Thread brauchst.

  • Jetzt lassen wir das so =) Ja, stimmt schon, dass ich seit ner Weile nicht mehr programmiert habe. Das einzig wichtige für mich ist, dass mein Problem gelöst wurde. Also man könnte jetzt #voteforclose / #markasdone.

  • Ach ja, ich habe mit 25 angefangen, weil die Schilder 01-24 schon beschriftet worden sind.