Seite 1 von 7 12345 ... LetzteLetzte
Ergebnis 1 bis 10 von 70

Thema: [Wire-Tutorial] Expressions Gates

  1. #1
    Andrey
    Avatar von Andrey

    Standard [Wire-Tutorial] Expressions Gates

    Expressions Gates

    Zuerst einmal: Was Bringen die Expressions Gates.

    Expressions Gate's sind Sehr Viele Gates in einem, sie helfen einem nicht 400 Equals zu benutzen, sondern ein Paar Zeilen Code.
    Außerdem werden Expressions Gate's in die Kategory "Hochleistungs Wire" geschoben, sie reagieren Schneller als die Alttäglichen Gates.



    Welche Script/Programmier Sprache Benutzt Expressions

    Eine Speziele, von den Wire mod Dev's. Diese ist sehr einfach, und leicht zu verstehen.

    Gut, nachdem das Geklärt wir:

    Schreiben wir Unser Programm:
    In Unserem ersten programm werden wir eine Bremse Aktivieren wenn, die Geschwindigkeit Höher als 60 Ist.
    Expression arbeitet mit dem Simplen Prinzip von An und Aus, wie man es schon vom Normalen Wire kennt.
    Für denn Ersten Teil unseres Codes brauchen wir ein Paar Funktionen.
    Code:
    ==             Equal
    >=             Größer als
    <=             Kleiner als
    !=             Ist Nicht
    Wir Schreiben unser Programm Übrigens Ingame. Nachdem das mit den Einfachsten Funktionen geklärt wär Machen wir mal ein Programm.


    Wir öffnen unser Expressions Gate Tool. Und Gehen auf "New Expressions" von dort an beginnt die verwirrung.

    Wir sollten jetzt folgenden Bildschirm sehen:
    • Filename: Dort Steht der Name der im Browser angezeigt wird!
    • LabeL: Dort Steht das, was Später als Tooltipp Dient
    • Inputs: Dort Stehen die Inputs, das was berechnet wird.
    • Outputs: Dort Steht das Resultat.
    • Line1, u.s.w: Code.

    Zuerst Tragen wir Bei Filename "Bremsen Expressions" ein.
    Bei Label sollte das Gleiche Stehen.
    Bei Inputs muss nur "Speed" Stehen, Achtet auf Groß und Kleinschreibung. ( Es ist wichtig das der Erste buchstabe bei In und Outputs groß geschrieben ist! )
    Bei Outputs muss "Bremse" Stehen, Achtet wieder auf Groß und Kleinschreibung

    Wenn das Getan ist, fängt der Code an. Ihr Fangt so an:
    Code:
    Bremse = 0
    Speed >= 60 -> Bremse = 1;
    Erklärung:
    Code:
    ->                ....dann... ( Wird gesetzt zu... )
    =                 ...ist....
    Die Bremse ist 0. Da der Code Jeden Frame nochmal Durch gegangen wird, ist es egal. Nur wenn Das da nicht stehen würde, hätten wir eine Toggle Funktion! Das Heißt es würde anbleiben. Für Immer.
    Der Rest ist recht Simpel.
    Speed Größer oder Gleich ist als 60 denn ist bremse wahr.
    Das ";" Dient als Operator, der dem Converter sagt ob was verglichen wurde ( Muss also nur nach If Abfragen). Zum Beispiel:
    Code:
    Codeteil1 == Codeteil2 -> Output = 500;
    Man kann natürlich noch viel mehr Sachen Benutzen:

    Code:
    /                Devide ( Teilen/ Durch)
    *               Multiply ( Mutliplizieren / Mal)
    +                Add ( Plus )
    -                Subtract ( Minus )
    $                Delta
    Und noch viele mehr.

    ==================================
    Beispiele:

    km/h Umrechnung:k/mh Umrechnung:
    Ein Programm welches den Input durch ~11 teilt und dann an den Output wieder rausgibt.

    Inputs:
    • Speedo (An Speedometer anschließen)

    Oututs:
    • Kmh (Einen Monitor o.Ä. anschließen)


    Code:
    Code:
    Kmh = Round(Speedo / 10.936133)
    Erklärung:
    (Von links nach rechts:)
    Der Output, also die Geschwindigkeit in km/h wird augerufen und neu gesetzt:
    Speedo, welches das Speedometer am Input ist, durch ~11 geteilt und das ganze dann durch Round( ) gerundet.


    Simpler Speicher/D-Latch:D-Latch:
    Ein Programm Welches etwas Speichert:

    Inputs:
    • Button ( Fürs Speichern)
    • ResetButton ( Fürs Reseten )
    • Timer ( Das zu Speichernde. )

    Outputs:
    • Result ( Resultat. An einen Monitor anschließen o.ä.


    Code:
    Code:
    Button == 1 -> Result = Timer;
    ResetButton == 1 -> result = 0;
    Erklärung:
    (Von links nach rechts:)
    Wenn der Button 1 ( Sprich: Wahr ist. ) wenn wird das Resultat, die momentane "Zeit" Speichern
    Drückt man dann denn Reset Knopf, wird das Resultat wieder 0.


    Delta TurretDelta Turret:
    Ein Programm welches die Bearing in Ausrichtungen Ändert, und somit, ein Perfektes Turret macht.

    Inputs:
    • Bearing ( Vom Beacon Sensor)

    Outputs:
    • Result ( Thruster mit -7 Mutliple force. )
    • YZ ( Nebenschritt )
      XZ ( Nebenschritt )


    Code:
    Code:
    YZ = $Bearing * 10
    XZ = Bearing * 2
    Result = XZ + YZ
    Erklärung:
    (Von links nach rechts:)
    YZ wird zum ge'deltatem' bearing * 10.
    XZ wird zu Bearing mal 10. und das wird am Ende zusammen Gezogen.



    ==================================
    Nochmal als Merkliste:
    • Outputs weißt man zu. So-und-so = So-und-so
    • Inputs sind unveränderlich.
    • nach einem Vergleich muss ein ";" Gesetzt werden.
    • Outputs/Inputs werden am Anfang Groß geschrieben!


    Viel spaß beim Expression coding!
    Geändert von Andrey (30.01.2008 um 23:44 Uhr)

  2. Folgende 19 Benutzer sagen Danke zu Andrey für den nützlichen Beitrag:


  3. #2

    Standard AW: Andre Tutorial - Expressions Gates

    Sehr schön!

    Das wird dann gleich mal angepinnt


    btw.:

    Hast du dein anderes Tutorial schon in die Wiki übertragen?
    Wenn nicht so mache dies doch bitte mit beiden


    €dit:

    Hab mal vor die Titel der Threads: [Wire-Tutorial] gesetzt

  4. Folgender Benutzer sagt Danke zu Pac_187 für den nützlichen Beitrag:


  5. #3
    Avatar von Dragon R
    Registriert seit
    10.07.2007
    Ort
    Osnabrück

    Standard AW: [Wire-Tutorial] Expressions Gates

    Geil Danke Hilft mir echt viel! Wehre echt nett wen du noch ne Liste mit allen Möglichkeiten machst also ich meine allen Codes wie man dem Chip sagt er soll sich das merken er soll das ab Dan resetten wie der Code für den Timerchip ist wie man da Dan Run und Reset setzt usw. Danke im Voraus und ja ich weis es könnte SEHR lange dauern
    Wussten sie schon?

    Alte Fettflecken werden wie Neu wen man sie Täglich mit Butter Einschmiert!

  6. #4
    Andrey
    Avatar von Andrey

    Standard AW: [Wire-Tutorial] Expressions Gates

    Zitat Zitat von Dragon R Beitrag anzeigen
    Geil Danke Hilft mir echt viel! Wehre echt nett wen du noch ne Liste mit allen Möglichkeiten machst also ich meine allen Codes wie man dem Chip sagt er soll sich das merken er soll das ab Dan resetten wie der Code für den Timerchip ist wie man da Dan Run und Reset setzt usw. Danke im Voraus und ja ich weis es könnte SEHR lange dauern
    z.b.
    Code:
    ButtonMemory == 1 -> Memory1 = SachenDieErSpeichernSoll;
    ButtonReset == 1 -> Memory1 = 0;

  7. Folgender Benutzer sagt Danke zu Andrey für den nützlichen Beitrag:


  8. #5
    Avatar von Dragon R
    Registriert seit
    10.07.2007
    Ort
    Osnabrück

    Standard AW: [Wire-Tutorial] Expressions Gates

    mit erklärung were net DANKE!
    Wussten sie schon?

    Alte Fettflecken werden wie Neu wen man sie Täglich mit Butter Einschmiert!

  9. #6
    Andrey
    Avatar von Andrey

    Standard AW: [Wire-Tutorial] Expressions Gates

    Ist Drinne.

  10. Folgender Benutzer sagt Danke zu Andrey für den nützlichen Beitrag:


  11. #7
    Avatar von Dragon R
    Registriert seit
    10.07.2007
    Ort
    Osnabrück

    Standard AW: [Wire-Tutorial] Expressions Gates

    oh ok thx aber momentan hab ich nen Komplizierteres Problem mit nem CD Player Expressionschip habe da 2 Sachen

    1: er sagt er versteht das == in Line 1 nicht wahrscheinlich in den Anderen Rein auch nicht

    2: ich weis nicht wie ich einbaue das der Chip sich erst startet wen bei Go 1 ist und bei 0 wider stoppt

    Hier die Chip Daten:
    Code:
    Filename: CD Player [3]
    Label: CD Player [3]
    
    Inputs: Red Green Blue Go
    Outputs:  Song_R  Song_G Song_B
    
    Line1: Song_R = (Red == 255)  (Green == 0) (Blue == 0) + == 3
    Line2: Song_G = (Red == 0) (Green == 255) (Blue == 0) + == 3
    Line3: Song_B =  (Red == 0) (Green = 0) (Blue == 255) + == 3
    Wussten sie schon?

    Alte Fettflecken werden wie Neu wen man sie Täglich mit Butter Einschmiert!

  12. #8
    Andrey
    Avatar von Andrey

    Standard AW: [Wire-Tutorial] Expressions Gates

    Zitat Zitat von Dragon R Beitrag anzeigen
    oh ok thx aber momentan hab ich nen Komplizierteres Problem mit nem CD Player Expressionschip habe da 2 Sachen

    1: er sagt er versteht das == in Line 1 nicht wahrscheinlich in den Anderen Rein auch nicht

    2: ich weis nicht wie ich einbaue das der Chip sich erst startet wen bei Go 1 ist und bei 0 wider stoppt

    Hier die Chip Daten:
    Code:
    Filename: CD Player [3]
    Label: CD Player [3]
    
    Inputs: Red Green Blue Go
    Outputs:  Song_R  Song_G Song_B
    
    Line1: Song_R = (Red == 255)  (Green == 0) (Blue == 0) + == 3
    Line2: Song_G = (Red == 0) (Green == 255) (Blue == 0) + == 3
    Line3: Song_B =  (Red == 0) (Green = 0) (Blue == 255) + == 3
    Uff...
    Da hast du dir ja was tolles ausgedacht.

    Code:
    Song_R = 0;
    Song_G = 0;
    Song_B = 0;
    Red == 255 & Green == 0 & Blue == 0 & Go == 1 -> Song_R = 1;
    Red == 0 & Green == 255 & Blue == 0 & Go == 1 -> Song_G = 1;
    Red == 0 & Green == 0 & Blue == 255 & Go == 1 -> Song_B = 1;
    Song_R,G und B Werden auf Null Gesetzt. Wenn Jetzt Rot 255 ist während Grün und Blau 0 Bleiben, Startet der Song, insofern man denn Go button Drückt. Genau so ist es mit den anderen.

    Code:
    &               und
    ==               Equal
    ->               ...Dann... ( Wird gesetzt zu.. )
    Geändert von Andrey (31.01.2008 um 12:34 Uhr) Grund: Käkse!

  13. Folgender Benutzer sagt Danke zu Andrey für den nützlichen Beitrag:


  14. #9
    Avatar von Dragon R
    Registriert seit
    10.07.2007
    Ort
    Osnabrück

    Standard AW: [Wire-Tutorial] Expressions Gates

    danke ist meine leichteste Übung schöne Sachen ausdenken nur mit Expression muss ich noch fiel üben und lernen danke für die antwort ich teste es sofort mal aus!

    €didt:

    JA ES GEHT! super danke fielen dank funktioniert super! allerdings war in deinem code 1 Fehler

    Code:
    Song_R = 0;
    Song_G = 0;        bei den = 0; muss immer = 0 ohne das ; das mus mann nur unten bei den Berechnungen!
    Song_B = 0;
    Red == 255 & Green == 0 & Blue == 0 & Go == 1 -> Song_R = 1;
    Red == 0 & Green == 255 & Blue == 0 & Go == 1 -> Song_G = 1;
    Red == 0 & Green == 0 & Blue == 255 & Go == 1 -> Song_B = 1;
    
    Also so:
    
    Song_R = 0
    Song_G = 0
    Song_B = 0
    Red == 255 & Green == 0 & Blue == 0 & Go == 1 -> Song_R = 1;
    Red == 0 & Green == 255 & Blue == 0 & Go == 1 -> Song_G = 1;
    Red == 0 & Green == 0 & Blue == 255 & Go == 1 -> Song_B = 1;
    allerdings wie du nun den Go eingebaut hast kapiere ich irgendwie nicht darüber steht da doch nix geht aber dennoch
    Geändert von Dragon R (31.01.2008 um 13:31 Uhr)
    Wussten sie schon?

    Alte Fettflecken werden wie Neu wen man sie Täglich mit Butter Einschmiert!

  15. #10
    Andrey
    Avatar von Andrey

    Standard AW: [Wire-Tutorial] Expressions Gates

    Zitat Zitat von Dragon R Beitrag anzeigen
    [...]
    allerdings wie du nun den Go eingebaut hast kapiere ich irgendwie nicht darüber steht da doch nix geht aber dennoch
    Wenn Rot 255 ist, Blau 0, Grün 0 und Go 1 ist Startet er denn song.
    ansonsten nicht.
    Auch wenn Rot 255 ist, Blau 0 u.s.w.

  16. Folgender Benutzer sagt Danke zu Andrey für den nützlichen Beitrag:


Berechtigungen

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