Seite 1 von 1

Variable löschen

BeitragVerfasst: Mi 16 Sep, 2020 15:13
von lordhelix
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: Alles auswählen
      <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: Alles auswählen
<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

BeitragVerfasst: Mi 16 Sep, 2020 16:08
von Tommek
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

BeitragVerfasst: Mi 16 Sep, 2020 16:23
von lordhelix
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

BeitragVerfasst: Mi 16 Sep, 2020 18:32
von Lowlander
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

BeitragVerfasst: Mi 16 Sep, 2020 18:48
von Tommek
Das löschen wird ja bewusst gemacht. Wird sicherlich noch nicht häufig im Kontext "scene" eingesetzt.

Re: Variable löschen

BeitragVerfasst: Do 17 Sep, 2020 10:59
von Lowlander
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.