Switch to full style
XML-Variante AOQML, ihre Möglichkeiten, Ergänzungen und Entwicklung...
Antwort erstellen

Variable löschen

Mi 16 Sep, 2020 15:13

Hey,

ich hänge seit Stunden nur an Problemen und es fängt an zu nerven, ihr kennt das sicherlich. Man möchte am liebsten irgendwas an die Wand klatschen.

Also warum funktioniert das löschen meiner Variable nicht?

Sowohl ein NULL wie auch ein direktes /> helfen nicht ...

Code:
      <switch name="magie">
        <null>
           <switch name="LEP_verblieben1">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
              <set name="LEP_verblieben1" inc="$[5W6]"/>
           </case>
         
           <else>
              <switch name="LEP_verblieben2">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
             <set name="LEP_verblieben2" inc="$[5W6]"/>
           </case>
         
           <else>
             <switch name="LEP_verblieben3">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
             <set name="LEP_verblieben3" inc="$[5W6]"/>
           </case>
         
           <else>
             Ich werde nicht ausgeführt weil alle über 200 LEP haben
           </else>
         </switch>
           </else>
         </switch>
           </else>
         </switch>
           <store name="magie" scope="scene" >1</store>
        </null>
     
        <case val="1">
           Ich bin fall 1
           <store name="magie" scope="scene" >2</store>
        </case>
     
        <case val="2">
           Ich bin der zweite Fall
           <store name="magie"/> <!-- IST IMMER FALL ZWEI, OBWOHL ES WIEDER BEI NULL LOSGEHEN SOLLTE -->

        </case>
     
        <else>
        </else>
      </switch>



Ganzer Code
Spoiler:
Code:
<scene>

<set attribute="LEP" inc="200" />
<set attribute="wounds" dec="200" />

<retain name="kampf" id="kampf">
  <fight max-rounds="5">
    <rivals>
      <npc npcid="253" name="Klaue" brawl="true" LEP="${LEP_verblieben1}" wounds="${anzahl_wunden1}" npctype="daemon" AUP="100" RS="10" />
      <npc npcid="253" name="Kopf" brawl="true" LEP="${LEP_verblieben2}" wounds="${anzahl_wunden2}" npctype="daemon" AUP="100" RS="10" />
      <npc npcid="253" name="Schwanz" brawl="true" LEP="${LEP_verblieben3}" wounds="${anzahl_wunden3}" npctype="daemon" AUP="100" RS="10" />
    </rivals>
    <draw>
      <store name="LEP_verblieben1"><fetch name="rivals:#1:lep" /></store>
      <store name="LEP_verblieben2"><fetch name="rivals:#2:lep" /></store>
      <store name="LEP_verblieben3"><fetch name="rivals:#3:lep" /></store>
      <switch name="magie">
        <null>
           <switch name="LEP_verblieben1">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
              <set name="LEP_verblieben1" inc="$[5W6]"/>
           </case>
         
           <else>
              <switch name="LEP_verblieben2">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
             <set name="LEP_verblieben2" inc="$[5W6]"/>
           </case>
         
           <else>
             <switch name="LEP_verblieben3">       
           <case val="0">
           </case>
         
           <case min="1" max="200">
             <set name="LEP_verblieben3" inc="$[5W6]"/>
           </case>
         
           <else>
             Ich werde nicht ausgeführt weil alle über 200 LEP haben
           </else>
         </switch>
           </else>
         </switch>
           </else>
         </switch>
           <store name="magie" scope="scene" >1</store>
        </null>
     
        <case val="1">
           Ich bin fall 1
           <store name="magie" scope="scene" >2</store>
        </case>
     
        <case val="2">
           Ich bin der zweite Fall
           <store name="magie"/>
        </case>
     
        <else>
        </else>
      </switch>
      <replay name="kampf"/>
    </draw>
    <victory>
      <p>Sieg</p>
    </victory>
    <escape>
      <p>Abgehauen!</p>
    </escape>
    <defeat>
      <p>Verloren!</p>
    </defeat>
  </fight>
</retain>

<fight max-rounds="5">
  <rivals>
    <npc npcid="253" name="Klaue" brawl="true" LEP="225" npctype="daemon" AUP="100" RS="10" />
    <npc npcid="253" name="Kopf" brawl="true" LEP="225" npctype="daemon" AUP="100" RS="10" />
    <npc npcid="253" name="Schwanz" brawl="true" LEP="225" npctype="daemon" AUP="100" RS="10" />
  </rivals>
  <draw>
    <store name="LEP_verblieben1"><fetch name="rivals:#1:lep" /></store>
    <store name="LEP_verblieben2"><fetch name="rivals:#2:lep" /></store>
    <store name="LEP_verblieben3"><fetch name="rivals:#3:lep" /></store>
    <replay name="kampf"/>
  </draw>
  <victory>
    <p>Sieg</p>
  </victory>
  <escape>
    <p>Abgehauen!</p>
  </escape>
  <defeat>
    <p>Verloren!</p>
  </defeat>
</fight>

</scene>

Re: Variable löschen

Mi 16 Sep, 2020 16:08

Schwierig zu testen. Wenn ich den scope auf "hero" setze und somit die Variable in der DB speichere, klappt es bei mir mit deinem Snippet.

Was versuchst du zu erreichen?

Re: Variable löschen

Mi 16 Sep, 2020 16:23

Ich möchte das in jeder Kampfunterbrechen eine von 4 Dingen ausgeführt wird in bestimmter Reihenfolge.

1. Unterbrechung - Heilen
2. Unterbrechung - GE senken
3. Unterbrechung - RS erhöhen
4. Unterbrechung - INI senken

das mache ich indem ich per switch jedesmal der Variable +1 gebe und beim nächsten aufruf wird dann entsprechden der nächste case ausgeführt.
Am Ende muss die Variable gelöscht werden um wieder bei NULL anzufangen

In meiner Quest sind es 7 Dinge und auch andere, aber als Beispiel ist dieses hier identisch vom Prozess

Mit dem scope="quest" funktioniert es auch, liegt also am scene. Danke, du hast mir den geholfen

Re: Variable löschen

Mi 16 Sep, 2020 18:32

lordhelix hat geschrieben:Mit dem scope="quest" funktioniert es auch, liegt also am scene. Danke, du hast mir den geholfen


Sieht für mich nach Bug aus, das sollte sich nicht so unterschiedlich verhalten. Ich bin mir nur nicht sicher, ob wir uns Inkompatibilitäten einfangen, wenn wir das korrigieren.

Re: Variable löschen

Mi 16 Sep, 2020 18:48

Das löschen wird ja bewusst gemacht. Wird sicherlich noch nicht häufig im Kontext "scene" eingesetzt.

Re: Variable löschen

Do 17 Sep, 2020 10:59

Tommek hat geschrieben:Das löschen wird ja bewusst gemacht. Wird sicherlich noch nicht häufig im Kontext "scene" eingesetzt.


Packe ich dann auf meine TODO-Liste.
Antwort erstellen