Thema: Der wirklich allgemeine Thread (Teil 3)

  1. #13881

    Standard AW: Der wirklich allgemeine Thread

    Zitat Zitat von Pij Beitrag anzeigen
    Code:
    string="A+B==2"
    if (string)
    Conditions in String Form in ein if-Statement reinzubringen ist so ziemlich sinnlos würde ich mal behaupten. Was würdest du damit erreichen wollen? Nebenbei ist das in dieser Form eh nicht möglich, ein String kann ja nicht True oder False ergeben und was drinsteht ist dem Compiler relativ egal

  2. #13882
    Avatar von Alex22
    Registriert seit
    11.11.2005
    Ort
    Berlin

    Standard AW: Der wirklich allgemeine Thread

    Zitat Zitat von Pij Beitrag anzeigen
    Kann man bei Expression 2 auch irgendwie Text Variablen machen?
    Also z.b.
    Code:
    string="A+B==2"
    if (string)
    {
    C=5
    }
    Gib nach dem Namen der Variable einfach :string ein:
    zB.
    ZumBeispiel:string

    Zitat Zitat von Pij Beitrag anzeigen
    -snip-
    Folgendes soll geschehen :
    Sobald die Variable A einmal 1 ist (ein non-toggle Button), soll das Script starten, die Variable B auf 1 (zurück) setzen und dann permanent (alle 10 Milisekunden) um 1 erhöhen und erst aufhören, wenn B einen bestimmten Wert hat (und bestenfalls dann via A neustartbar sein).
    Allerdings wird sie nur einmal um 1 erhöht, sodass B dannach den Wert 2 hat und dann absolut nichts mehr geschieht, bis man den Chip neuspawnt (dann ist B wieder 0, bis man den Knopf drückt und es zu zwei wird)
    Was mache ich falsch?D:

    ed:
    Okay, mit [spoiler=diesem]
    Code:
    @name Asdf
    @inputs A
    @outputs B
    @persist 
    @trigger all
        interval(10)
        B++
        if (B>1000) 
        {
            stoptimer("interval")
    
            if (A==1)
            {
                B=0
                first()
            }
        }
    läuft es bis zu festgelegten Stelle durch und lässt sich via A neustarten, allerdings startet es auch das erste mal von alleine :hmm:
    Ich weiß nicht recht was das bezweckt aber:
    first() gibt 1 aus, wenn der Chip das ernste mal gestartet wird, weswegen das da wenig sinn ergibt.



  3. #13883

    Standard AW: Der wirklich allgemeine Thread

    Öhm, also bis jetzt funktioniert es gut. Hab es einfach mal so aus dem Kopf dahin geschrieben, es wurd bläulich oder so (d.h. ja,dass diese Funktion existiert) und ich dachte mir der springt dann zurück an die erste Zeile des Scripts :V

    Es ist/soll sein eine Art Timer.
    Es zählt bis 10, setzt dann eine Variable, welche man z.B. an einen Detonator wiren könnte, temporär auf 1, um anzuzeigen "Hallo ich bin jetzt fertig mit zählen" und erhöht gleichzeitig eine andere Variable, die zählt, wie oft schon 10 (1000*10ms) Sekunden abgelaufen sind (könnte nützlich sein für wer weiß was).
    Sobald man nach Ablauf dieser 10 Sekunden noch einmal den Start Knopf drückt, soll die temporär auf 1 gesetzte Variable wieder 0 werden, die andere jedoch ihren um 1 erhöhten Wert behalten, und das ganze von vorne Starten.
    Und jetzt bastel ich halt noch so dran rum, dass man
    1. den Startwert festlegen kann (default Wert = 1) und
    2. auch den, öhm, Vergleichsoperator der Start If-Abfrage (default Operator = "==")
    festlegen kann.
    Spoiler:
    So sieht's bis jetzt im Code aus


    // ed: Oh hey, es klappt ja wirklich ohne first()
    Geändert von Pij (03.05.2009 um 21:22 Uhr)
    orly?
    ­­­­­

  4. #13884

    Standard AW: Der wirklich allgemeine Thread

    Gnah! Seh gerade das die letzten beiden Tage meines nächsten Schulblocks in den Sommerferien liegen! Also ich nach dem Mittwoch noch für einen Donnerstag und Freitag in den Betrieb muss...

    Also... noch 2 weiter Tage Urlaub beantragen >_>
    Website: monky-town.de

    WildStar
    Server: Kazor
    Seite: Verbannte
    Char: Monkii (Arkanschütze)

  5. #13885

    Standard AW: Der wirklich allgemeine Thread

    Mist...
    Das mit der String Variable als if-condition klappt nicht.
    Wird einfach "übergangen" bzw. ist immer automatisch 1, d.h., der Timer startet von alleine usw.

    ed:
    Spoiler:
    kleines "update"
    Geändert von Pij (03.05.2009 um 21:42 Uhr)
    orly?
    ­­­­­

  6. #13886

    Standard AW: Der wirklich allgemeine Thread

    Wie gesagt, was soll an einem String schon True oder False sein?
    Vielleicht meinst du so?

    Spoiler:
    Spoiler anzeigen

  7. #13887

    Standard AW: Der wirklich allgemeine Thread

    Was ist denn das, was man in die ( ) bei if reinschreibt?
    Ich dachte mir, wenn da if(condition) steht und condition = a+b==5 ist, dann wäre das das gleiche wie if(a+b==5), aber dem ist ja wohl nicht so :/
    Und an (etwa) deine Lösung hatte ich auch gedacht, aber dann würde der Code sich ja verfünffachen D: (weil ich nach jeder if Abfrage den Code machen müsste)

    Kann man nicht irgendwie ne Funktion deklarieren und dann nach jeder von den fünf if abfragen einfach diese Funktion mit func(bla) abrufen? =D
    orly?
    ­­­­­

  8. #13888

    Standard AW: Der wirklich allgemeine Thread

    Vielleicht solltest du dich nochmal mit den Grundlagen des Programmierens beschäftigen. Ein String wie "blabla" oder "Go+B>=GoValue" wird normalerweise immer als true und nicht als Programmcode interpretiert.

    Ich weiß nicht genau, was du bezwecken willst, deswegen kann ich dir auch nicht wirklich helfen. Trotzdem hier ein Beispiel, wie man das mit weniger if-Bedingungen lösen könnte:
    Lua Code:
    1. @name Asdf
    2. @inputs Go Reset GoValue GoOperator
    3. @outputs Time A Overall
    4. @persist B ConditionString
    5. @trigger all
    6. if(!GoValue)
    7. {
    8.     GoValue=1
    9. }
    10.  
    11. if( (GoOperator==1 & Go+B>=GoValue) |( GoOperator==2 & Go+B>GoValue) |  (GoOperator==3 & Go+B<=GoValue) |  (GoOperator==4 & Go+B<GoValue) |  ((GoOperator<=0 | GoOperator > 4) & Go+B==GoValue) )
    12. {
    13.     ConditionString=1
    14. }
    15. else
    16. {
    17.     ConditionString=0
    18. }
    19. if (Reset==1) 
    20. {
    21.     Time=0
    22.     A=0
    23.     Overall=0
    24. }
    25. if (ConditionString)
    26. {
    27.     B=GoValue
    28.     interval(10)
    29.     Time++
    30.     if (Time>999) 
    31.     {
    32.         stoptimer("interval")
    33.         A=1
    34.         if (Go==1)
    35.         {
    36.             Overall++
    37.             A=0
    38.             Time=0
    39.             first()
    40.         }
    41.     }
    42. }

  9. #13889

    Standard AW: Der wirklich allgemeine Thread

    Wie bind ich in E2 ne variable in nen Variablennamen ein? Also wenn ich jetzt inputname = X hab, und der input 2 ist, wie mach ich dann nen variablennamen "X2Coord" draus?

    Und ist jemand an ner Waffe aus BF2 vom Panzer intressiert? D:

    awesome thing is made by Araxiel-Sama

  10. #13890
    Avatar von Alex22
    Registriert seit
    11.11.2005
    Ort
    Berlin

    Standard AW: Der wirklich allgemeine Thread

    Gute Nacht.



Ähnliche Themen

  1. あまねく 糸 アニメ
    Von Araxiel im Forum Allgemeine Diskussionen
    Antworten: 709
    Letzter Beitrag: 16.06.2010, 21:54
  2. Der wirklich allgemeine Thread
    Von LoC im Forum Archiv
    Antworten: 6604
    Letzter Beitrag: 21.11.2009, 14:18
  3. Der wirklich allgemeine Thread (Teil 2)
    Von LoC im Forum Archiv
    Antworten: 8478
    Letzter Beitrag: 12.09.2008, 22:01
  4. Der wirklich allgemeine Thread (Teil 1)
    Von Solid Snake im Forum Archiv
    Antworten: 24169
    Letzter Beitrag: 27.04.2008, 20:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •