Ultimate XML

Page 1 of 3 123 LastLast
Results 1 to 15 of 38
  1. #1
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Ultimate XML

    Ultimate XML
    Hello all, @Zychronix aka deathstar and I, are back to help you guys out with your Wz editing needs.

    We decided to actually release a 3-in-1 bundle thing so to speak. This includes our WzClear and our XML Source Parser that was released before, but it has been recoded and works more efficiently. The third thing we are adding is a Character Node Finder. The name is self explanatory. It finds nodes inside the Character.wz.

    The correct order for importing CHARACTER files are as followed;
    Source Parser > Node Finder > Wz Clear
    Do NOT change the order or it will mess up.

    The idea is to run the CMDs which is quicker then doing it through NetBeans. However do note that doing all three steps will take about a day or so, depending on your hard drive.

    Each XML you wish to edit, has to be in the CLASSIC format.
    Export as Classic > Run program > Reimport into the WZ.

    Lets get into what is being released right here;


    XML Source Parser


    This is what most of you guys will be downloading this file for. This makes those pesky blinking items not blink no more. This it goes to the source and copies the canvas data. In case you do not know, the WzUOL property is inside every Maplestory version and acts just the same as the Source property.

    PHP Code:
    java -cp dist/XML.jar UltimateXMLSourceParser W:\\Parse Character.wz
    pause 
    You can type it in without a WZ folder and it will do the entire wz directory.

    You need one main folder, it will run if you are missing folders (meaning when you export the folders of the kinds of items that are there) but if it tries to get a source value from a different wz file or a different file that doesn't exist it'll give you errors.

    Here is our older XML Parser.


    Character Node Finder


    This needs to be ran before you do any of the other two projects. They find the nodes that is coded inside the Character.wz

    How does this help? You ask, well it finds the nodes in all the items so that way if it is a node that Nexon just added, it will be in the list and that way you can use the WzClear to get rid of the pesky little node that is not coded inside the version of Maplestory you are working on. That simple!

    Be sure to change your file location.

    PHP Code:
    static String BASE_FOLDER "F:\\MapleStory"

    WzClear

    WzClear is a nice little thing. It gets rid of those pesky little nodes that isn't coded into your Maplestory version. Now for you to know exactly what is and isnt coded. All you really need to do is get a clean Character.wz file and run the Node finder and see what nodes are inside your version. Then run the Node Finder again on the newest GMS/KMS or whatever files to know whats there and boom, use WzClear to remove all the nodes that you don't need and now you got working items.

    One main thing you must do before running WzClear is changing the file location. Open up the file in NetBeans or whatever it is you use, and change the location.

    PHP Code:
    static String BASE_FOLDER "F:\\MapleStory\\v90\\Character.wz"
    This is what you need to change.

    If you keep scrolling you will see this line of code;

    PHP Code:
    static String[] knownNodes = { 
    This is what WzClear will NOT remove. If there is anything on this list that you want to keep, put it on the list otherwise WzClear will automatically remove it. If you want things to removed, then just delete it from the list.

    Here is a link to our old WzClear release, the way to run it is mostly the same.



    I'm not exactly sure what else to write, I'm just gonna end it here. If you need reference the older versions of these items are posted in this thread. I will adding a virus scan to the .rar file as well. If you need any help with anything just post below.

    Here is the download.

    This is a virus scan.
    Last edited by religion; 07-01-17 at 06:43 PM.


  2. #2
    Account Upgraded | Title Enabled! Angxl is offline
    True MemberRank
    Sep 2016 Join Date
    United StatesLocation
    210Posts

    Re: Ultimate XML

    Does this also work for ilinks and outlinks? I noticed you mentioned the Source property, but I don't see any servers using that property anymore. From what I've seen, KMS, CMS, JMS and GMS have all switched to inlinking and outlinking.

    Here's a screenshot just in case you need it
    Spoiler:




    They work exactly the same as Source property do, the only difference is that inlinking is used when it's used inside the same XML, and outlinking is when it links to another XML.
    Last edited by Angxl; 10-11-17 at 11:28 AM.

  3. #3
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    Quote Originally Posted by Age View Post
    Does this also work for ilinks and outlinks? I noticed you mentioned the Source property, but I don't see any servers using that property anymore. From what I've seen, KMS, CMS, JMS and GMS have all switched to inlinking and outlinking.

    Here's a screenshot just in case you need it


    They work exactly the same as Source property do, the only difference is that inlinking is used when it's used inside the same XML, and outlinking is when it links to another XML.
    It doesn't because this was created based off of the source property (the Source Parser) I actually don't know anything about inlink and outlink because I've been out of the WZ Dev for awhile. But also servers can't even use the source property because it's not coded into the servers you feel me. I just wish they would stick to WzUOL instead of making more and more bullshit. sIGH.

  4. #4
    unknowndog Mallissy is offline
    True MemberRank
    May 2011 Join Date
    unknowndogLocation
    493Posts

    Re: Ultimate XML

    Okay so, it runs and I get this.

    Is this working correctly, because I changed my server XMLs and the items are still invisible/blinking.
    Is there something else I'm supposed to do?

  5. #5
    Hardcore Member Umbreon is offline
    MemberRank
    Apr 2012 Join Date
    100Posts

    Re: Ultimate XML

    Quote Originally Posted by Mallissy View Post
    Okay so, it runs and I get this.

    Is this working correctly, because I changed my server XMLs and the items are still invisible/blinking.
    Is there something else I'm supposed to do?
    You need to modify your actual .wz files, not the server xmls. Or if I'm misunderstanding you, see Age's post above. You can try using XMLs from before GMS177, I believe that is when the inlink/outlink was implemented.

  6. #6
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    Quote Originally Posted by Mallissy View Post
    Okay so, it runs and I get this.
    Spoiler:



    Is this working correctly, because I changed my server XMLs and the items are still invisible/blinking.
    Is there something else I'm supposed to do?
    Is this v60 xmls or v160. It won't remove nothing if it has nothing to remove. The xmls need to be of newer versions.

    Also are you working with Classic xmls or PS. It has be to ran off of classic xmls. I forgot to mention that in the thread. Will edit it in.

  7. #7
    Registered Zychronix is offline
    MemberRank
    Apr 2014 Join Date
    15Posts

    Re: Ultimate XML

    Quote Originally Posted by Age View Post
    Does this also work for ilinks and outlinks?
    I decided to look into these new properties.

    _outlink works exactly the same as the source property.
    _inlink works nearly the same as a WzUOL property. _inlink doesn't have the dots indicating to go back a folder, it starts off with the file as the base location. The program doesn't currently support _inlinks but with a few minor code changes you can add it in.

    I put in bold what I added/changed.

    UltimateXMLSourceParser.java
    Code:
    ...
    
    static ArrayList<String> source = null;
    static ArrayList<String> sourceValue = null;
    static ArrayList<String> sourceType = null;
    
    ...
    
    if (check) {
        for (int i = 0; i < nodeMap.getLength(); i++) {
            Node node = nodeMap.item(i);
            if (i == 1) {
                sourceValue.add(node.getNodeValue());
            } else {
                sourceType.add(node.getNodeValue());
            }
        }
    
    ...
    
    for (int x = 0; x < sourceValueArray.length; x++) {
        if (!start && !sourceType.get(i).equals("_inlink")) {
            if (sourceValueArray[x].endsWith(".img")) {
                valueFile = sourceValueArray[x];
                sourceValueFolderPath += "/" + sourceValueArray[x];
                start = true;
            } else {
                sourceValueFolderPath += "/" + sourceValueArray[x];
            }
        } else if (x == sourceValueArray.length - 1) {
            expression += "/canvas[@name='" + sourceValueArray[x] + "']";
        } else {
            expression += "/imgdir[@name='" + sourceValueArray[x] + "']";
        }
    }
    
    if (sourceType.get(i).equals("_inlink")) {
        valueFile = file.getName().substring(0, file.getName().length() - 4);
    }
    
    ...
    Now it'll work with source, _outlink, and _inlinks. I'll get @religion to update the download link with the updated source in the thread later.
    Spoiler:






    Also the simplified full tutorial is for example...
    Server WZ: v83
    Importing WZ: v179


    • Make sure the folder paths for the CMD/Java files are correct.
    • Export Classic v179 WZ XMLs
    • Run "Run Ultimate XML Source Parser.cmd" or "UltimateXMLSourceParser.java" (I recommend the CMD as it will take a while. Just make sure to put an updated JAR in there if you've changed the source code).
    • Run "Run Node Finder.cmd" or "CharacterInfoNode.java" on your v83 Server XMLs. The program will give you a list of nodes you need to put in the "knownNodes" array of UltimateWzClear. You only need to do this step each time you change server version (i.e v83->v90).
    • After you've saved "UltimateWzClear.java" and compiled the JAR run, "Run Ultimate WZ Clear.cmd" or "UltimateWzClear.java". You should run these on your Classic v179 WZ XMLs after the Source Parser is finished.
    • Once WZ Clear is finished you are ready to re-import the completed v179 XMLs in your v83 WZ files.
    • After all that importing your items should no longer blink. Export the updated v83 WZ files to your v83 Server XML folder and go in game to test.


    The three programs should look something similar to this when completed.
    Spoiler:

  8. #8
    Account Upgraded | Title Enabled! Halcyon is offline
    True MemberRank
    Mar 2011 Join Date
    1,071Posts

    Re: Ultimate XML

    Can this be used with v146 from higher versions? Since it had only the "Source" node and not _outlink _inlink nodes.

  9. #9
    Hardcore Member Umbreon is offline
    MemberRank
    Apr 2012 Join Date
    100Posts

    Re: Ultimate XML

    Quote Originally Posted by Lowsir View Post
    Can this be used with v146 from higher versions? Since it had only the "Source" node and not _outlink _inlink nodes.
    You can modify Zychronix's post to only affect inlink/outlinks pretty easily.

  10. #10
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    Quote Originally Posted by Umbreon View Post
    You can modify Zychronix's post to only affect inlink/outlinks pretty easily.
    The download link has been updated with the new verison, that has the edited in/out links. Follow Zcho's post on how to exactly change it to use in/out links.

    Heres the link to the new download as well

  11. #11
    Account Upgraded | Title Enabled! Halcyon is offline
    True MemberRank
    Mar 2011 Join Date
    1,071Posts

    Re: Ultimate XML

    Quote Originally Posted by religion View Post
    The download link has been updated with the new verison, that has the edited in/out links. Follow Zcho's post on how to exactly change it to use in/out links.

    Heres the link to the new download as well
    Thanks. I'm assuming to make it only affect _in and _out links would be to change:

    Code:
    if (node.getNodeValue().equals("source") || node.getNodeValue().equals("_inlink") || node.getNodeValue().equals("_outlink")) {
    to this?

    Code:
    if (node.getNodeValue().equals("_inlink") || node.getNodeValue().equals("_outlink")) {
    because the wz file size would skyrocket I guess if it didn't do that lol

    Another thing I'm wondering is that..I'm importing about 4 different versions of MapleStory into one type of file. If I just put all of the xmls into one file, dump them, and then use the parser, would that change all of the custom xmls into ones that v146 could use? It would save me hours of time..

  12. #12
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    Quote Originally Posted by Lowsir View Post
    Another thing I'm wondering is that..I'm importing about 4 different versions of MapleStory into one type of file. If I just put all of the xmls into one file, dump them, and then use the parser, would that change all of the custom xmls into ones that v146 could use? It would save me hours of time..
    When Zchro and I did that, we did each version separately because each version has about the same ID ranges but different items in the IDs. We did it and changed the conflicting IDs. I mean you can do it all at once but it depends because some XMLs might get overridden by one from a different Maple.

    But the only other thing you would need to look out for is things that are inside the items like how KMS has rebirth flames, and stuff for the stats, if you wanted to clear that up, you would need to add that into the WzClear and such.

  13. #13
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    @Age I saw in another post that you couldn't get WzClear working. Can you explain what is happened and what-not?

  14. #14
    Account Upgraded | Title Enabled! Angxl is offline
    True MemberRank
    Sep 2016 Join Date
    United StatesLocation
    210Posts

    Re: Ultimate XML

    Okay so let's say I want to add a new eye from GMS right?

    So I take out all the necessary XML's to make the eye work, run Ultimate XML Parser and get this:
    Spoiler:



    Then, I want to know what nodes to remove, so I run NodeFinder and get this:
    Spoiler:



    Lastly, I actually want to remove the unnecessary nodes, so I run WzClear and get:
    Spoiler:



    As you can see in the second image, it doesn't list all nodes that exist in a Face xml, and in the last image it doesn't remove any extra nodes. Any hints on what I'm doing wrong? I changed the paths in the bats, and in netbeans

  15. #15
    finn balor religion is offline
    True MemberRank
    Oct 2013 Join Date
    507Posts

    Re: Ultimate XML

    If I can recall you only need to run the source parser on the Face/Eyes bcause there is only the source property inside it. Nothing else was added (unless they added new properties) into those files. So of course the other two won't do nothing because there is nothing for it to find/remove.

    However can you post a screen shot of the eye inside HaRepacker with some nodes expanded?
    Does the eye work at all as well?

    (Sorry for the late reply.)



Page 1 of 3 123 LastLast

Advertisement