Jump to content


Photo

SMN Xml Help!!!

need some assistance!

    17 replies to this topic

    #1 Kai101

    Kai101

      Newbie

    • Members
    • Pip
    • 7 posts

      Posted 03 December 2013 - 04:53 AM

      I cant seem to get the set  "Perpetuation" to stay in Once the Avatar is present.... anyone have an idea what i did wrong??

      http://pastebin.com/Cb31f9hq



      #2 Shadowmeld

      Shadowmeld

        Member

      • Members
      • PipPip
      • 12 posts

        Posted 03 December 2013 - 08:36 PM

        Can I make some recommendations for you to see if it something works.

        First try removing these lines on line 159-160

         

        <equip when="Idle|aftercast" set="Standard" />
        <equip when="Resting" set="Resting" />
        

         

        And these lines starting on line 269

         

                                         <if advanced='"$Avatar"="false"'>
                                                                       
                                                <if Advanced='"$Idle" = "PDT"'>
                                                                                       
                                                    <equip when="idle" set="Standard" />
                                               </if>
                                                                                       
                                               
                                         </if>
         
                                         <else>
                                                           <equip when="idle" set="Perpetuation" />
                                         </else>
        

         

         

         

         

        You don't really have to use the Avatar variable at all, but you can if you want.  This is what I recommend you put at the end of your spellcast.  It won't break the other rules you have for setting perp variables.  These lines MUST be at the end of your spellcast because of the </return> tags in the rules.

         

        <!-- Equips perpetuation set after summoning anything.  Omits summons Odin and Alexander. -->
        <!-- I am not a summoner, so I am not sure if you have to omit Blood Pacts, but I do it anyway, it should work. -->
        <if skill="SummoningMagic" nottype="BloodPact*" notspell="Odin|Alexander">
          <equip when="aftercast" set="Perpetuation" />
        
          </return>
        </if>
        
        <!-- Equips Standard set if you are using the Release skill to dismiss your summon -->
        <if spell="Release">
          <equip when="aftercast" set="Standard" />
        
          </return>
        </if>
        
        <!-- Equips perpetuation if you have a pet out. -->
        <if petisvalid="true">
          <equip when="idle|aftercast" set="Perpetuation" />
        
          </return>
        </if>
        
        <!-- All other conditions will equip the standard set when done. -->
        <if advanced='"$Idle" == "PDT"'>
          <equip when="idle|aftercast" set="PDT" />
        </if>
        <else>
          <equip when="idle|aftercast" set="Standard" />
        </else>
        
        

         

         

        **** Looking more thoroughly at your xml, I don't think you have done anything wrong per se, but you probably can fix your problem by changing line 280 to

        <equip when="idle|aftercast" set="Perpetuation" />
        

        That one change would probably fix your problem.  You have other problems however.  You never actually change the Avatar variable back to false for instance, which would mean that once you dismiss your summon, you would still use your Perp set.



        #3 Quixacotl

        Quixacotl

          Member

        • Members
        • PipPip
        • 14 posts

          Posted 08 December 2013 - 05:45 AM

          Try this instead...

           

          <!-- autoset rules -->
          <if spell="Autoset">
          	<equip when="idle|engaged" set="Standard"/>
          	<equip when="resting" set="Resting"/>
          </if>
          
          <!-- Aftercast rules -->
          <if PetIsValid="true" NotSpell="Release">
          	<equip when="aftercast" set="Perpetuation" />
          </if>
          <else>
              <equip when="aftercast" set="Standard" />
          </else>


          #4 Kai101

          Kai101

            Newbie

          • Members
          • Pip
          • 7 posts

            Posted 28 December 2013 - 11:55 AM

            Thx you very much guys .. got it all working... !!  :)



            #5 krilton

            krilton

              Advanced Member

            • Members
            • PipPipPip
            • 71 posts

              Posted 09 January 2014 - 04:13 AM

              on the topic, is there some way to make it so if an avatar is out and you have your -perp gear on that if you cure or are even engaged that when you go back to an idle|aftercast state that it goes to the -perp gear instead? If so, how would one set that up?

               

              thx



              #6 Arcon

              Arcon

                Advanced Member

              • Windower Staff
              • 1189 posts
              • LocationMunich, Germany

              Posted 09 January 2014 - 07:25 AM

              You need to use variables for that. Have a variable $Pet or something that is empty if no pet is out and the name of a set if you have something summoned. Then in the aftercast rule, equip "NormalAftercastSetName|$Pet".



              #7 krilton

              krilton

                Advanced Member

              • Members
              • PipPipPip
              • 71 posts

                Posted 09 January 2014 - 03:37 PM

                This must be so simple i'm totally not seeing it... but the only thing i think i do have is what you see.

                 

                <action type="equip" when="aftercast" set="Idle|$Pet " />

                 

                what else am i missing..

                 

                and the following is a zip file.

                 

                I tried a couple of things from another persons xml file.

                 

                there is a Var on line 529 and an advanced line on 958.

                 

                Am i on the right track or not... if not, what am i missing?

                 

                any assistance is helpful.

                Attached Files



                #8 Shadowmeld

                Shadowmeld

                  Member

                • Members
                • PipPip
                • 12 posts

                  Posted 10 January 2014 - 07:00 PM

                  The <action /> syntax has been deprecated for quite a few years. The xml you are referencing is probably really old.

                  your code would work though, but you should probably update it to the current standard which is

                   

                  <equip when="idle|engaged|aftercast" set="Idle|$Pet" />
                  

                  You also need to make sure you have this in your variables section

                   

                  <var name="Pet">EmptySet</var>
                  

                   

                  And this in your sets section

                   

                  <set name="EmptySet" />
                  

                  in your rules, you need to have something to edit the Pet variable, like this

                   

                  <if petisvalid="true">
                   <var cmd='set Pet NameOfPerpSet' />
                  </if>
                  <else>
                   <var cmd='set Pet EmptySet' />
                  </else>
                  

                  That would toggle your pet variable between emptyset (No equipment) and your perpetuation set based on whether you have a pet out or not.



                  #9 krilton

                  krilton

                    Advanced Member

                  • Members
                  • PipPipPip
                  • 71 posts

                    Posted 11 January 2014 - 12:18 AM

                    Here is a brief view of the test i did with the prior suggestions:

                     

                    <set name="avatar">gearthingys</set> which is perpset then i created <set name="emptyset"/>, then made <var name="pet">emptyset</var> after that i altered my cure line to:

                     

                    <if status="idle" spell="Cur*">

                    <equip when="precast" set="cure"/>
                    <equip when="aftercast" set="Idle|$Pet"/>
                    </if>
                     
                    then put:
                     
                    <if petisvalid="True">
                    <var cmd='set Pet Avatar'/>
                    </if>
                    <else>
                    <var cmd='set Pet EmptySet'/>
                    </else>
                     

                    it goes directly to my idle set with a pet out. so what exactly is going on then? as i said prior to... must be so simple i'm overlooking.  ugh..........



                    #10 krilton

                    krilton

                      Advanced Member

                    • Members
                    • PipPipPip
                    • 71 posts

                      Posted 11 January 2014 - 09:19 AM

                      just retried post #9 it works but it doesn't take the first time, i have to do 2 repeat actions before it'll take. Curing with pet out will equip idle set but curing a 2nd time will equip avatar (perpset) which is what i want. Now with no pet out, it does the opposite yet: curing with no pet will equip perpset however curing a 2nd time will equip my idle set. what is going on..............



                      #11 krilton

                      krilton

                        Advanced Member

                      • Members
                      • PipPipPip
                      • 71 posts

                        Posted 11 January 2014 - 09:32 AM

                        oh good grief, i just solved my problem... who would have thought that location would effect it. I had the petisvalid down at the bottom of my "smn" rules. I moved it up to the top and everything works like it should. 



                        #12 Shadowmeld

                        Shadowmeld

                          Member

                        • Members
                        • PipPip
                        • 12 posts

                          Posted 11 January 2014 - 10:51 PM

                          Glad you got it worked out krilton, yeah, spellcast reads everything in order so where you put your code matters almost as much as having the correct code.



                          #13 krilton

                          krilton

                            Advanced Member

                          • Members
                          • PipPipPip
                          • 71 posts

                            Posted 14 January 2014 - 11:52 PM

                            i am wondering about one thing, could i apply this to say a DD mage? I've got a working set for whm, just have to keep auspice active. If anyone knows for sure if that is possible, which anything is, i'd be greatful.



                            #14 Shadowmeld

                            Shadowmeld

                              Member

                            • Members
                            • PipPip
                            • 12 posts

                              Posted 15 January 2014 - 04:16 PM

                              Sure could, just make a set for Engaged, and change the set from "Idle|$Pet" to "%Status|$Pet".  It would equip your Idle gear when idle, and it would do engaged when you are engaged.



                              #15 krilton

                              krilton

                                Advanced Member

                              • Members
                              • PipPipPip
                              • 71 posts

                                Posted 18 January 2014 - 03:24 AM

                                is it possible for spellcast to react to something in accordance of what is in your main hand? Might sound silly but just wondering...



                                #16 Arcon

                                Arcon

                                  Advanced Member

                                • Windower Staff
                                • 1189 posts
                                • LocationMunich, Germany

                                Posted 18 January 2014 - 03:42 AM

                                <if equipmain="Soulscourge">
                                    <!-- Code here -->
                                </if>


                                #17 krilton

                                krilton

                                  Advanced Member

                                • Members
                                • PipPipPip
                                • 71 posts

                                  Posted 18 January 2014 - 11:13 AM

                                  thanks, now got another thing i'm wondering about. Does the <main slot="lock"></main> work anymore? 



                                  #18 Arcon

                                  Arcon

                                    Advanced Member

                                  • Windower Staff
                                  • 1189 posts
                                  • LocationMunich, Germany

                                  Posted 18 January 2014 - 03:36 PM

                                  It does, but that doesn't do what most people think it does. It does not stop gear from equipping in that slot, it only stops it from being overwritten during that same execution of the rules. I.e.:

                                  <spellcast>
                                      <sets>
                                          <set name="Set 1">
                                              <main>Rounsey Wand</main>
                                          </set>
                                          <set name="Set 2">
                                              <main>Owleyes</main>
                                          </set>
                                      </sets>
                                      <rules>
                                          <equip set="Set 1|Set 2" />
                                      </rules>
                                  </spellcast>
                                  

                                  This will equip Owleyes into the main slot.

                                  <spellcast>
                                      <sets>
                                          <set name="Set 1">
                                              <main lock="true">Rounsey Wand</main>
                                          </set>
                                          <set name="Set 2">
                                              <main>Owleyes</main>
                                          </set>
                                      </sets>
                                      <rules>
                                          <equip set="Set 1|Set 2" />
                                      </rules>
                                  </spellcast>
                                  

                                  This, on the other hand, will not. Because the second main slot cannot overwrite the first, because of that lock, so you end up with the Rounsey Wand. However, it can still be overwritten for the next spell, or even during different cast times. Hence this:

                                  <spellcast>
                                      <sets>
                                          <set name="Set 1">
                                              <main lock="true">Rounsey Wand</main>
                                          </set>
                                          <set name="Set 2">
                                              <main>Owleyes</main>
                                          </set>
                                      </sets>
                                      <rules>
                                          <equip when="precast" set="Set 1|Set 2" />
                                          <equip when="midcast" set="Set 2" />
                                      </rules>
                                  </spellcast>
                                  

                                  This will equip Rounsey Wand for precast and then Owleyes during midcast and leave that there, because there is no aftercast rule.

                                   

                                  If you want to disable a piece of gear from changing, you need to use this:

                                          <command>sc disable main</command>





                                  1 user(s) are reading this topic

                                  0 members, 1 guests, 0 anonymous users