Page 3 of 49 First 1234513 ... Last

Thread: 4E Item Parser

  1. #21
    I tried the Parser and seem to run into a couple of errors. I'm guessing they're the same as the status window indicates the same error. If it matters, I'm running Windows 8 Pro.

    The parser seems to bomb on the Items scrape. It looks like all the entries may have been scraped (there is a text file), but the file is not parsed in any way.
    I get the following error:
    3679 Total Entries for Download & Parse
    3679 Item Entries

    Download Start Time = 1/5/2013 12:52:10 PM
    Download End Time = 1/5/2013 12:58:29 PM
    Download Total Time = 00:06:19
    Vecna's Boon of Diabolical Choice: Not Parsed: <SPAN id=headerlevel class=milevel style="TOP: -24px">Level 0 Uncommon</SPAN></H1>

    Code:
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
       at ItemParsers.MagicItemParser.PopulateItem(MagicItem magicItem, ItemLevelInfo itemLevelInfo)
       at ItemParsers.MagicItemParser.ParseItem(CompendiumEntry itemCompendiumEntry)
       at ItemParsers.ItemParser.Parse(CompendiumEntry itemCompendiumEntry)
       at _4eParser.AllEntriesParser.Parse(CompendiumEntry entry)
       at _4eParser.AllEntriesParser.Parse(List`1 entries)
       at MainViewModel.MainViewCompendiumModel.ProcessEntries(String moduleName, String moduleCategory)
       at MainViewModel.MainViewCompendiumModel.ProcessCompendiumEntries(String email, String password, Int32 numBrowsers, String moduleName, String moduleCategory)
       at _4eParser.MainViewController.ProcessEntries()
       at _4eParser.MainViewController.ProcessDownloadAndParseEntries()
       at _4eParser.MainViewController.DownloadButtonClicked(Object sender, EventArgs e)
       at _4eParser.LogForm.DownloadButtonClicked(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.18010 built by: FX45RTMGDR
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    4eParser
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Downloaded%20Files/Programs/Fantasy%20Grounds/Valeros4eParser/4eParser.exe
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.18016 built by: FX45RTMGDR
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Core
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    Microsoft.mshtml
        Assembly Version: 7.0.3300.0
        Win32 Version: 7.0.3300.0
        CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
    ----------------------------------------
    Microsoft.CSharp
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.17929
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
    ----------------------------------------
    System.Dynamic
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.17929
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
    ----------------------------------------
    Anonymously Hosted DynamicMethods Assembly
        Assembly Version: 0.0.0.0
        Win32 Version: 4.0.30319.18010 built by: FX45RTMGDR
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
    ----------------------------------------
    System.Dynamic.DynamicAssembly
        Assembly Version: 0.0.0.0
        Win32 Version: 4.0.30319.17929
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
    ----------------------------------------
    
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    
    For example:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    When attempting to parse a specific file, I get an error:
    Working, please wait
    Vecna's Boon of Diabolical Choice: Not Parsed: <SPAN id=headerlevel class=milevel style="TOP: -24px">Level 0 Uncommon</SPAN></H1>
    Working, please wait
    Vecna's Boon of Diabolical Choice: Not Parsed: <SPAN id=headerlevel class=milevel style="TOP: -24px">Level 0 Uncommon</SPAN></H1>
    Code:
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
       at ItemParsers.MagicItemParser.PopulateItem(MagicItem magicItem, ItemLevelInfo itemLevelInfo)
       at ItemParsers.MagicItemParser.ParseItem(CompendiumEntry itemCompendiumEntry)
       at ItemParsers.ItemParser.Parse(CompendiumEntry itemCompendiumEntry)
       at _4eParser.AllEntriesParser.Parse(CompendiumEntry entry)
       at _4eParser.AllEntriesParser.Parse(List`1 entries)
       at MainViewModel.MainViewCompendiumModel.ProcessEntries(String moduleName, String moduleCategory)
       at MainViewModel.MainViewCompendiumModel.ProcessCompendiumFiles(List`1 fileNames, String moduleName, String moduleCategory)
       at _4eParser.MainViewController.ParseFile()
       at _4eParser.MainViewController.ProcessParseFile()
       at _4eParser.MainViewController.DownloadButtonClicked(Object sender, EventArgs e)
       at _4eParser.LogForm.DownloadButtonClicked(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  2. #22
    Backgrounds also produces an error and crashes. No error message, just a force stop.

  3. #23
    I see the issue. For this case, the parser was very picky and expects:
    <SPAN style="TOP: -24px" id=headerlevel class=milevel>
    not
    <SPAN id=headerlevel class=milevel style="TOP: -24px">
    Last edited by gamerhawaii; January 5th, 2013 at 22:36.

  4. #24
    Try this one for fixing the item part (not the backgrounds). It may work or at least should crash at a different point. Thanks
    Last edited by valeros; April 1st, 2013 at 07:05.

  5. #25
    Quote Originally Posted by gamerhawaii
    I see the issue. For this case, the parser was very picky and expects:
    <SPAN style="TOP: -24px" id=headerlevel class=milevel>
    not
    <SPAN id=headerlevel class=milevel style="TOP: -24px">
    I was messing around with parsing data from the Compendium some time ago and found there are a lot of things like that.

    I have some ideas that could be helpful when dealing with those types of issues. PM me if you're interested. However, it is in VBScript so some translation to the language being used would be needed.

  6. #26
    That seems to work. Looks like there is another one as well.
    Code:
    <SPAN class=miright style="TOP: -18px"><B>Time: </B>30 minutes</SPAN>
    Thanks!

    Todd

  7. #27
    Please let me know if this one works. I also looked for any other occurences of the same type of parsing dependency for "SPAN" tags and did not see one.
    Attached Files Attached Files

  8. #28
    Hey Valeros, Great work! It has worked flawlessly for me. However I am wondering if you are going to make it possible to parse Creature data. I know that Tenian's parser handles them, I just really prefer the way your parser sorts the data, and would prefer each compendium section as a single mod file. Thanks for your work either way.

  9. #29
    Actually, the version of the parser that I have for myself parses the "new style" monsters. But I did not make that available because it does not parse the "old style" monsters. (I think it is 2135 new to 3035 old as of today.)

    I call "new style" the new formatting (with sections for Traits, Standard, etc.) but also that the monster usually has the "new" stats. That is the adjustment made to monsters around July 2010 (and Monster Manual 3) that bumps up damage, adjusts defenses, etc.

    I am not very excited to try to parse the old monsters. I think it would be a lot of work for not much return, especially since the monsters would then have to be manually updated to the "new" stats. (Although if I knew a good way to upgrade them to the new stats atuomatically when parsing it might be a nice feature.)

    Also, the item parser has only been downloaded around 50 times, so there does not seem to be that much demand for it.

  10. #30
    Zeus's Avatar
    Join Date
    Mar 2009
    Location
    Olympus
    Posts
    2,656
    Blog Entries
    2
    Quote Originally Posted by valeros
    Actually, the version of the parser that I have for myself parses the "new style" monsters. But I did not make that available because it does not parse the "old style" monsters. (I think it is 2135 new to 3035 old as of today.)

    I call "new style" the new formatting (with sections for Traits, Standard, etc.) but also that the monster usually has the "new" stats. That is the adjustment made to monsters around July 2010 (and Monster Manual 3) that bumps up damage, adjusts defenses, etc.

    I am not very excited to try to parse the old monsters. I think it would be a lot of work for not much return, especially since the monsters would then have to be manually updated to the "new" stats. (Although if I knew a good way to upgrade them to the new stats atuomatically when parsing it might be a nice feature.)

    Also, the item parser has only been downloaded around 50 times, so there does not seem to be that much demand for it.
    If your playing 4E I built in a tag (mm3mode) for NPC powers which instructs the ruleset how to parse the Powers of a NPC's stat block.

    If a power has the mm3mode tag and its set to 1; the ruleset will parse as per MM3 monster formats( i.e. Traits, Hit:/Attack:/Effect: lines etc. etc.), if no tag is present the ruleset will treat the power stat block as per MM1/MM2 format.
    FG Project Development
    Next Project(s)*: Starfinder v1.2 Starship Combat

    Current Project:
    Starfinder v1.1 - Character Starships
    Completed Projects: Starfinder Ruleset v1.0, Starfinder Core Rulebook, Alien Archive, Paizo Pathfinder Official Theme, D&D 5E data updates
    * All fluid by nature and therefore subject to change.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in