Ergebnis 1 bis 13 von 13

Thema: Unterschiedliche Waffentypen sollen unterschiedliche Switches aktivieren

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #6
    Logisch
    Du brauchst in deinem Fall eigentlich nur eine Variable, denn die Abfrage wird nicht "versaut", wenn die Variable danach für eine neue Abfrage (in diesem Fall für die Gewehre) geändert wird.

    Sieht dann so aus
    Variable "WaffeID" == WeaponEquipped;
    Die Abfrage für den Intervall der Bögen-Waffen

    und dann wieder dieselbe Variable.

    Das Programm wird IMMER von oben nach unten ausgeführt, das heißt, wenn Abfragen schon überprüft wurden, dann kann man dieselbe Variable nochmal nutzen. Der Übersicht wegen.

    Übrigens könntest du hier statt Switches tatsächlich Variablem nutzen. Du weist dann, wenn ein Schwert benutzt wird, der Variable (z.B.) "Art der Waffe", eine 1 zu, für Bogen eine 2, für Pistolen eine 3 usw.

    Dann kannst du die anderen Abfragen jeweils in die "Else"-Zweige stecken und dann in den letzten, wenn nichts von alledem erfüllt ist (d.h. keine Waffe ausgerüstet), in diesem Else-Zweig der Variable eine 0 zuweisen für keine Waffe.

    Das spart dir eine Menge Code zugunsten der Übersicht

    Code:
    @> Control Variables: [0018:WaffenID] = [Arthur]'s Weapon ID
    @> Comment: Schwerter
    @> Conditional Branch: Variable [0018:WaffenID] >= 1
      @> Conditional Branch: Variable [0018:WaffenID] < 5
        @> Control Variables: [0019:WaffenArt] = 1 
        @>
       : Else
        @> Jump to Label: 1
        @>
       : Branch End
      @>
     : Else
      @> Label: 1
      @> Comment: Bögen
      @> Conditional Branch: Variable [0018:WaffenID] >= 6
        @> Conditional Branch: Variable [0018:WaffenID] < 10
          @> Control Variables: [0019:WaffenArt] = 2 
          @>
         : Else
          @> Jump to Label: 2
          @>
         : Branch End
        @>
       : Else
        @> Label: 2
        @> Conditional Branch: Variable [0018:WaffenID] >= 11
          @> Conditional Branch: Variable [0018:WaffenID] <= 15
            @> Control Variables: [0019:WaffenArt] = 3 
            @>
           : Else
            @> Jump to Label: 3
            @>
           : Branch End
          @>
         : Else
          @> Label: 3
          @> Control Variables: [0019:WaffenArt] = 0 
          @>
         : Branch End
        @>
       : Branch End
      @>
     : Branch End
    Du musst dir nur merken, für welche Waffenart welcher Wert steht. Schreib's dir auf oder nicht xD

    Du brauchst den zweiten Switch oder eine zweite Variable, die bestimmt, dass gerade ein Bögenschütze oder ein Schwertkämpfer agiert, nicht, wenn jede WaffenArt nur einer Klasse zugewiesen ist.
    Denn das erübrigt sich dann automatisch.

    Eine alternative Möglichkeit wäre auch:
    Code:
    @> Control Variables: [0019:WaffenArt] = 0 
    @> Control Variables: [0018:WaffenID] = [Arthur]'s Weapon ID
    @> Comment: Schwerter
    @> Conditional Branch: Variable [0018:WaffenID] >= 1
      @> Conditional Branch: Variable [0018:WaffenID] < 5
        @> Control Variables: [0019:WaffenArt] = 1 
        @>
       : Else
        @> Jump to Label: 1
        @>
       : Branch End
      @>
     : Else
      @> Label: 1
      @> Comment: Bögen
      @> Conditional Branch: Variable [0018:WaffenID] >= 6
        @> Conditional Branch: Variable [0018:WaffenID] < 10
          @> Control Variables: [0019:WaffenArt] = 2 
          @>
         : Else
          @> Jump to Label: 2
          @>
         : Branch End
        @>
       : Else
        @> Label: 2
        @> Conditional Branch: Variable [0018:WaffenID] >= 11
          @> Conditional Branch: Variable [0018:WaffenID] <= 15
            @> Control Variables: [0019:WaffenArt] = 3 
            @>
         : Branch End
        @>
       : Branch End
      @>
     : Branch End
    Hier wird bei der letzten Bedingung das Else weggelassen, weil es keine weiteren alternativen Bedinungen mehr gibt. Dafür wird dann @> Control Variables: [0019:WaffenArt] = 0 direkt am Anfang ausgeführt. Das würde sich nicht ändern, wenn keine der Bedingung erfüllt ist. Somit würde auch das funktionieren und sogar nochmal ein paar Zeilen einsparen

    Geändert von Drakee (01.09.2015 um 19:19 Uhr)

Stichworte

Berechtigungen

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