Jump to content

XmlTools/Full documentation: Difference between revisions

→‎Example: adding the example
(→‎Example: adding the example)
Line 668: Line 668:


===Example===
===Example===
Let's say your want to add one additional ammo and cell to all characters that are from TCTF team.
'''XmlTools patch command:'''
@CUSTOM_CODE Files "BINACJBOCharacter.xml"
<nowiki><code></nowiki>
      var myBuilder = new JSXMLBuilder();
      myBuilder.load($xmlData);
     
      var elements = myBuilder.elements[0];
     
      var charactersNode = elements.childElement("Objects");
     
      var currAmmoElement, currCellsElement;
     
      <span style="color:green">// Loop over all characters</span>
      for (var i=0; i<(charactersNode.childElement(i)); i++){ <span style="color:green">// the condition checks if the ith element exists (!= undefined)</span>
     
              var currChar=charactersNode.childElement(i);
             
              <span style="color:green">// Check if it is TCTF</span>
              if(currChar.childElement("OSD").childElement("Team").text=="TCTF"){
                   
                    <span style="color:green">// Get current amount</span>
                    currAmmoElement=currChar.childElement("OSD").childElement("Inventory").childElement("Ammo").childElement("Use");
                    currCellsElement=currChar.childElement("OSD").childElement("Inventory").childElement("EnergyCell").childElement("Use");
                   
                    <span style="color:green">// Add +1 to the current ammount of ammo and cells to use</span>
                    currAmmoElement.text=parseInt(currAmmoElement.text)+1;
                    currCellsElement.text=parseInt(currCellsElement.text)+1;
              }
      }
      $xmlData=myBuilder.generateXML(); <span style="color:green">// update the global variable with the new XML</span>
<nowiki></code></nowiki>
{| style="margin: 1em auto 1em auto;" <!-- Centers table -->
! style="width: 50%;" | XML Original
! style="width: 50%;" | XML After Command
|-
|
<Oni>
      <Objects>
            ...
            <CHAR Id="3926">
                  ...
                  <OSD>
                        ...
                        <Name>A_L18</Name>
                        <Weapon>w8_mbo</Weapon>
                        <Inventory>
                              <Ammo>
                                    <Use><span style="color:blue">'''0'''</span></Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use><span style="color:blue">'''0'''</span></Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>TCTF</Team>
                  ...
                  </OSD>
            </CHAR>
            <CHAR Id="7684">
                  ...
                  <OSD>
                        ...
                        <Name>D_Sbo93</Name>
                        <Weapon>w1_tap</Weapon>
                        <Inventory>
                              <Ammo>
                                    <Use><span style="color:blue">'''3'''</span></Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use><span style="color:blue">'''1'''</span></Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>TCTF</Team>
                  ...
                  </OSD>
            </CHAR>
            <CHAR Id="7606">
                  ...
                  <OSD>
                        ...
                        <Name>D_N76</Name>
                        <Weapon />
                        <Inventory>
                              <Ammo>
                                    <Use>'''0'''</Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use>'''0'''</Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>Neutral</Team>
                  ...
                  </OSD>
            </CHAR>
            ...
      ...
      </Objects>
</Oni>
|
<Oni>
      <Objects>
            ...
            <CHAR Id="3926">
                  ...
                  <OSD>
                        ...
                        <Name>A_L18</Name>
                        <Weapon>w8_mbo</Weapon>
                        <Inventory>
                              <Ammo>
                                    <Use><span style="color:red">'''1'''</span></Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use><span style="color:red">'''1'''</span></Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>TCTF</Team>
                  ...
                  </OSD>
            </CHAR>
            <CHAR Id="7684">
                  ...
                  <OSD>
                        ...
                        <Name>D_Sbo93</Name>
                        <Weapon>w1_tap</Weapon>
                        <Inventory>
                              <Ammo>
                                    <Use><span style="color:red">'''4'''</span></Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use><span style="color:red">'''2'''</span></Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>TCTF</Team>
                  ...
                  </OSD>
            </CHAR>
            <CHAR Id="7606">
                  ...
                  <OSD>
                        ...
                        <Name>D_N76</Name>
                        <Weapon />
                        <Inventory>
                              <Ammo>
                                    <Use>'''0'''</Use>
                                    ...
                              </Ammo>
                              <EnergyCell>
                                    <Use>'''0'''</Use>
                                    ...
                              </EnergyCell>
                        </Inventory>
                        <Team>Neutral</Team>
                  ...
                  </OSD>
            </CHAR>
            ...
      ...
      </Objects>
</Oni>
|}
489

edits