Ads displayed for guests and not donating members only. Get ad-free by donating. If you have already donated, please read here.
Results 1 to 13 of 13

Thread: Battle Result parser ver 0.9.10.1 - for WoT 9.10

  1. #1

    Battle Result parser ver 0.9.10.1 - for WoT 9.10

    Hi, just started testing use of battle result parser - started up with some errors, but it seems to be my bad ^_^

    Will do some more tesing and give you some feedback.
    Last edited by BadButton.eu; 2015-09-04 at 21:48. Reason: Correction

  2. #2
    Works like a charm

    I managed to get it wrong first because I copied both battle-result parser and dossier parser to the same folder. The file "SafeUnpickler.py" is used for both projects, but seems not to have same content. Got an error using the "wrong" version of the "SafeUnpickler.py".

    Regarding the dossier parser: On GIT you have two versions of tanks.json and maps.json, in root and \src folder. I guess the version in the \src - folder is the latest according to version numbers and date.

  3. #3
    No error appears when parsing a battle-dat file, but it seems like only one player is fetched in the "vehicles" section.

    Here an example:

    "vehicles": {
    "9614443": [],
    "9614444": [],
    "9614445": [],
    "9614446": [],
    "9614447": [],
    "9614448": [],
    "9614449": [],
    "9614450": [],
    "9614451": [],
    "9614452": [],
    "9614453": [],
    "9614454": [],
    "9614455": [],
    "9614456": [],
    "9614457": [],
    "9614458": [],
    "9614459": [],
    "9614460": [],
    "9614461": [],
    "9614462": [],
    "9614463": [
    {
    "accountDBID": 525286487,
    "achievementCredits": 0,
    "achievementFreeXP": 0,
    "achievementXP": 0,
    "achievements": [
    526
    ],
    "capturePoints": 0,
    "capturingBase": null,
    "credits": 23665,
    "damageAssistedRadio": 0,
    "damageAssistedTrack": 0,
    "damageBlockedByArmor": 0,
    "damageDealt": 3207,
    "damageReceived": 0,
    "damaged": 6,
    "deathCount": 0,
    "deathReason": -1,
    "directHits": 8,
    "directHitsReceived": 0,
    "directTeamHits": 0,
    "droppedCapturePoints": 0,
    "explosionHits": 4,
    "explosionHitsReceived": 0,
    "flagActions": [
    0,
    0,
    0
    ],
    "fortBuilding": null,
    "fortResource": 0,
    "health": 440,
    "influencePoints": 0,
    "isTeamKiller": false,
    "killerID": 0,
    "kills": 2,
    "lifeTime": 527,
    "mileage": 212,
    "noDamageDirectHitsReceived": 0,
    "piercings": 8,
    "piercingsReceived": 0,
    "potentialDamageReceived": 0,
    "resourceAbsorbed": 0,
    "rolloutsCount": 1,
    "shots": 14,
    "sniperDamageDealt": 3207,
    "spotted": 0,
    "stopRespawn": false,
    "tdamageDealt": 0,
    "tdestroyedModules": 0,
    "team": 2,
    "tkills": 0,
    "typeCompDescr": 14401,
    "winPoints": 0,
    "xp": 747
    }
    ],
    "9614464": [],
    "9614465": [],
    "9614466": [],
    "9614467": [],
    "9614468": [],
    "9614469": [],
    "9614470": [],
    "9614471": [],
    "9614472": []
    }

  4. #4
    I think I found a bug for you:

    In wotbr2j.py line 284 and 285 is it missing an indent (tabulator), makes the for-loop not run for each "vehicles" = team players:

    now:


    282 for vehicleID, vehiclesInfo in vehiclesAsList.iteritems():
    283 __ fullForm['vehicles'][vehicleID] = []
    284 for vehTypeCompDescr, vehicleInfo in vehiclesInfo.iteritems():
    285 __ fullForm['vehicles'][vehicleID].append(battle_results_data.VEH_PUBLIC_RESULTS.unpack(vehicleInfo))


    should be:

    282 for vehicleID, vehiclesInfo in vehiclesAsList.iteritems():
    283 __ fullForm['vehicles'][vehicleID] = []
    284 __ for vehTypeCompDescr, vehicleInfo in vehiclesInfo.iteritems():
    285 __ __ fullForm['vehicles'][vehicleID].append(battle_results_data.VEH_PUBLIC_RESULTS.unpack(vehicleInfo))

  5. #5
    It has worked OK for a lot of battles after I made the changes shown above, but one battle failed:

    D:\Temp>python.exe wotbr2j.py 12442775100991936.dat -f
    ###### WoTBR2J 0.9.10.1
    Processing 12442775100991936.dat
    Processing Version: 6
    Error occured while transforming Battle Result Version: 6 Error: Unpickler Error: invalid load key, 'x'.


    The file is attached.

    Screenshot of the after battle stats:
    https://gyazo.com/71e3d7e6e29c0144dd28c55a4ae6dab2
    Attached Files Attached Files

  6. #6
    Another issue (sorry for all this spam ^_^)

    "autoEquipCost": true,
    "autoLoadCost": [
    0,
    0
    ],


    Seems like the values for cost (JArray) is now gone, replaced with "true" (boolean)

    This was the syntax in previous versions:

    "autoEquipCost": [
    0,
    0
    ],

    "autoLoadCost": [
    2250,
    0
    ],


    In addition to this the parameter: "autoRepairCost" always returns 0.

    Testet a battle and uploaded file to vBAddict, the same bug happes there - no values for "Auto-repair vehicle" and "Auto-resupply ammunition ".
    Last edited by BadButton.eu; 2015-09-05 at 02:59.

  7. #7
    Retired Commander Phalynx.eu's Avatar
    Join Date
    Jan 2013
    Location
    Erlangen, Germany
    Posts
    2,127
    Quote Originally Posted by BadButton.eu View Post
    I think I found a bug for you:

    In wotbr2j.py line 284 and 285 is it missing an indent (tabulator), makes the for-loop not run for each "vehicles" = team players:

    now:


    282 for vehicleID, vehiclesInfo in vehiclesAsList.iteritems():
    283 __ fullForm['vehicles'][vehicleID] = []
    284 for vehTypeCompDescr, vehicleInfo in vehiclesInfo.iteritems():
    285 __ fullForm['vehicles'][vehicleID].append(battle_results_data.VEH_PUBLIC_RESULTS.unpack(vehicleInfo))


    should be:

    282 for vehicleID, vehiclesInfo in vehiclesAsList.iteritems():
    283 __ fullForm['vehicles'][vehicleID] = []
    284 __ for vehTypeCompDescr, vehicleInfo in vehiclesInfo.iteritems():
    285 __ __ fullForm['vehicles'][vehicleID].append(battle_results_data.VEH_PUBLIC_RESULTS.unpack(vehicleInfo))
    Yes, this was already fixed on my side, didn't pushed the update to GitHub

  8. #8
    Retired Commander Phalynx.eu's Avatar
    Join Date
    Jan 2013
    Location
    Erlangen, Germany
    Posts
    2,127
    Quote Originally Posted by BadButton.eu View Post
    Another issue (sorry for all this spam ^_^)

    "autoEquipCost": true,
    "autoLoadCost": [
    0,
    0
    ],


    Seems like the values for cost (JArray) is now gone, replaced with "true" (boolean)

    This was the syntax in previous versions:

    "autoEquipCost": [
    0,
    0
    ],

    "autoLoadCost": [
    2250,
    0
    ],


    In addition to this the parameter: "autoRepairCost" always returns 0.

    Testet a battle and uploaded file to vBAddict, the same bug happes there - no values for "Auto-repair vehicle" and "Auto-resupply ammunition ".
    That's a bug which have been fixed by Wargaming in 0.9.10 final. The CT3 had the bug, the new scripts from release version does not. Updated the battle_results_shared_17.py to reflect this.

  9. #9
    Retired Commander Phalynx.eu's Avatar
    Join Date
    Jan 2013
    Location
    Erlangen, Germany
    Posts
    2,127
    Quote Originally Posted by BadButton.eu View Post
    It has worked OK for a lot of battles after I made the changes shown above, but one battle failed:

    D:\Temp>python.exe wotbr2j.py 12442775100991936.dat -f
    ###### WoTBR2J 0.9.10.1
    Processing 12442775100991936.dat
    Processing Version: 6
    Error occured while transforming Battle Result Version: 6 Error: Unpickler Error: invalid load key, 'x'.


    The file is attached.

    Screenshot of the after battle stats:
    https://gyazo.com/71e3d7e6e29c0144dd28c55a4ae6dab2
    Seems a newer battle results which has the same length as an older battle result version. Fixed this by disabling recognition for older battle results.

  10. #10
    Retired Commander Phalynx.eu's Avatar
    Join Date
    Jan 2013
    Location
    Erlangen, Germany
    Posts
    2,127
    Quote Originally Posted by BadButton.eu View Post
    Works like a charm

    I managed to get it wrong first because I copied both battle-result parser and dossier parser to the same folder. The file "SafeUnpickler.py" is used for both projects, but seems not to have same content. Got an error using the "wrong" version of the "SafeUnpickler.py".

    Regarding the dossier parser: On GIT you have two versions of tanks.json and maps.json, in root and \src folder. I guess the version in the \src - folder is the latest according to version numbers and date.
    SafeUnpickler.py has changed due to new battle results parser which is in place since WoT 0.9.10

  11. #11
    Thanx a lot, I'll download and do some more testing :-)

  12. #12
    .. sry. I downloaded the latest ADU, but the results are still incorrect :-(

    And I find the battle_results_shared_17.py in the WOT Numbers directory: C:\Program Files (x86)\Wot Numbers\Dossier2json\battle_results_shared_17.py
    Last edited by LtHorst.eu; 2015-09-11 at 19:48.

  13. #13
    Hi again, we have fully implemented latest dossier and battle retriever into Wot Numbers and with latest versions all work perfect. Feedback from users also confirms this.

    Great job as usual :-)

Bookmarks

Posting Permissions

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