Jump to content

dreaddy

Member
  • Posts

    22
  • Joined

  • Last visited

Posts posted by dreaddy

  1. On 2/11/2021 at 12:11 AM, Ultrakool said:

    Can you upload multiple replays?

    not yet ;). But should not be a big problem, ill look into it.

     

     

    On 2/11/2021 at 12:32 AM, Speed112 said:

    Also it would be really nice if you could edit the description of the replays you uploaded. Although I guess that would require a lot of additional steps to attach replays to people.

    Great job so far, though!

    Hopefully more people share their replays, especially informative ones like expert PvE clears, fast rPvE clears, and PvP of course ;)

    An auto-uploader tool would be really useful to make adding replays more convenient. Something simple that scans the replay folder for any new replays since last checked, maybe at the end of a game session, or triggered manually. When it finds new replays it automatically submits them and asks you for title/comment. You could select/deselect which replays to upload, or just have it upload every replay by default with no comment.

    This would help a lot with uploading bulk replays, because some people might play a dozen games in a session and uploading them all manually, one by one, gets quite tedious after a while.

    Editing the desciption would require a registration. And then things get more and more complicated for the uploader.
    And do you think the uploader want to upload everything and install an app on the computer?

  2. I think I get almost everything out of the replaydata that I can. Some subevents are missing, ill fix that as soon as I have some time.
    Energy used is something that can be calculated from the units, spells, obrs and wells played.

    But for the other values the biggest problem is, there is no event when things get destroyed.
    If a unit dies, a well is killed or someone has lost the game. So without simulating the whole game (which is ... unrealistic ;) ) there is no way to get that out of the replay.

    And help is always appreciated, but I honestly think that I don't want to expand that kind of deprectated >10 year old Java Code myself ;).
    I'll expand the php library and the page when I have the time. But at the moment I have some other things to do.
    But feel free to download the code and improve it.
     

    MrDanilov likes this
  3. Thanks for your feedback. What's wrong with the orb display?

    About the possibilities:
    I could show the cast order like
    0:03 Firesworn
    0:05 Sunderer
    0:12 Mine

    But the replay does not contain the destruction of things. So I can not say how much mana is used and which buildings/monuments/units are still alive without simulating the whole game. And that's a little out of scope ;).

    The version check is in there. As soon as a replay with a higher version gets uploaded all other replays get a deprecated message and are ignored on searches unless the box is unchecked.
     

     

  4. 14 hours ago, RaiNote said:

    new Information("#", Type.BYTES, -1) any explaination regarding this because somehow it seems important yet irrelevant. The source isn't much of a help to understand what actually happens regarding that specific case.

    No Idea ;). But I just finished my php port and didn't need anything like that. Maybe you can get the Infos from there. Und lets switch to that topic about that parser stuff.

     

  5. Hi,

    just finished my PHP Replay Parser.
    Should be easy to include in own projects.
    It contains almost anything that can be read out of the replays and some calculated Values (decks, apm, winner, teams, monuments used, cards used, every action done by the players etc. ).

    Might be useful for an own replay archive, automatic reports for tourneys or just to spy out what deck the rpve Player used that was 10x faster than you ;) ).

    A quick demo script also with all values extracted:
    http://torsten-lueders.de/replayapi/ 

    Source on Github:
    https://github.com/dreaddy/SkylordsReplayParserLibrary

    The Usage is quite simple. Just call $replaydataobject = new SkylordsReplayParser("pathandnameofmyreplay.map")->loadData();
    The example is in index.php.
    image.thumb.png.dec137c30c10cc824bbd305a986c329e.png

    image.thumb.png.b240a48237e586a93dab1e30cceb2778.png

     

    Damo, Ultralord and Taker like this
  6. 3 hours ago, RaiNote said:

    Do you know whether there are more "Actions", "Replay Keys" than which you listed?

    the actions after the header?
    I think it covers most of them but there might be some new actions from the cards of the lost and amii expansions.
    I slightly remember that I saw "unknown action" in the replayanalyzer actionlist a few times.
    There are also some "UNKNOWN" Commands in the commandlist. SUB_BD_UNKNOWN_689 SUB_BD_UNKNOWN_686 SUB_BD_UNKNOWN_68A etc,

    About type.fix:
    I think it only assigns constants for increased readability.
    result.put(ACTION_SUMMON, new Information[]{
                new Information("typ", Type.FIX, 0, null, "summon unit"),
                new Information("cast", Type.FIX, 0, null, true),
                new Information("card", Type.UNSIGNED, 2),
                new Information("cardx", Type.UNSIGNED, 2),
                new Information("who", Type.UNSIGNED, 4),
                new Information("byte", Type.UNSIGNED, 1),
                new Information("cardc", Type.UNSIGNED, 2),
                new Information("cardcx", Type.UNSIGNED, 2),
                new Information("charges", Type.INTEGER, 1),
                new Information("x", Type.REAL, 4),
                new Information("y", Type.REAL, 4),
                new Information("zero", Type.UNSIGNED, 4),
                new Information("#", Type.BYTES, -1)
            });

  7. you can extract the "real" cardid:
    function sl_extractCardkey($filekey){
        return $filekey % 0x4240;
    }

    I found some Infos we made about the replayformat (->attachment) and I'm about half done with a PHP Library
    I hope I will finish it this weekend and publish it afterwars.

    format.txt

  8. 13 hours ago, Kaldra said:

    Uhh, that's really really cool. I was just thinking about creating a new replay website which automatically parses player names, map, orbs and winner from the file. On bfcards.info you had to manually put those information in.

    How exactly does the parser work? How is the replay encoded?

    Because I wouldn't want to use Java for the website, rather write my own. :)


    About the parser:
    call java -jar parsersender.jar test.pmv >> output.txt and you will get stuff like
    "{
    "cards":{
    "1003":{"affinity":-1,"energy":100,"id":1003,"name":"{card:rv}","orbs":[1,1,0],"rarity":4,"type":2}
    ,"1004":{"affinity":-1,"energy":65,"id":1004,"name":"{card:rw}","orbs":[2,0],"rarity":1,"type":1}
    ,"1021":{"affinity":-1,"energy":70,"id":1021,"name":"{card:ai}","orbs":[4,4],"rarity":4,"type":1}" [...].

    You can also call something like
    $replayinfos = json_decode(exec("java -jar parsersender.jar test.pmv"));  in PHP

    format:
    Can't remember too much because it was 10 years ago.
    But we viewed some replays in the hexeditor and were able to guess most things after a few hours and some coffee.
    On the start there were basic mapinfos(mapname, difficulty...), followed by the players and their deck as cardids/upgradelevel/charges.
    Search for your cardids in your replayfile( should be those https://auctions.backend.skylords.eu/api/cards/all as hex ) and you should be able to find the position of the decks.


    Last things were the playercommands in order. Something like timestamp, playerid, action(attack, monument built, card played), x and y positions.
    You can use them to detect the winner and the orbs played (but that can also be detected from the deck).
    At some point it helps to view special replays like "playing Sunderer, leave game", "playing Sunderer, move it up, leave game".

  9. Hi,

    back in 2009 I made a ReplayAnalyzertool with a friend.
    Just found it (still looking for the sourcecode, i'll share should I find it again).

    It features playerinfos(deck, apm etc. ), a replay browser, a basic replay function outside of skylords and the possibility to rename your replays (on buttonpress or automatically) from autosave to something that will be kept and includes maps/playername.

    have fun:
    http://torsten-lueders.de/replayanalyzer/skylords_replay_analyzer.zip 
    ( You will need a Java runtime for the tool and it still misses the maps and cards of "newest" Edition (Lost Units etc.) that will be displayed as unknown card. )

    The falso also includes a command line tool (/parser) to get jsondata (orbs, played cards, winner, apm etc. ) from replays.
    Used it on my webserver for a replay database and on a battleforge turney page to detect the winner(bfleague.com).
    Works on Linux and Windows but you need a (v)server with commandline for it so you can install java and execute the command line.
    Feel free to use it.

    screen1.JPG

    screen2.JPG

  10. wow, thank you, this is great. I always have my mouse over the rewards when scrolling achievements ;).

    Maybe a "1 of  20 - hover for details" would still be helpfull.
    My friend I play Skylords with had no clue and I've also seen this question in the chat - answered with "write it down". 

  11. Hi,

    am I right that there is no way to see which PvE missions were solved on which difficulty?
    Can you change that? ;)

    A checkbox on the mission tab would be perfect, But it should be at least possible to show a few still unsolved missions for that difficulty in the corresponding achievement.
    You could show "3 of 12 solved (next: Encounters with twilight, Guns of Lyr, ..."  instead of just "3 of 12 solved".

  12. hmm... so many possibilities ;). I think i'll play around a bit with it.

    Do you have a list of all current cardids/names and maybe images of all cards?
    My backup of bf programming stuff from 10 years ago is not as good as I hoped ;).

  13. Great, I really enjoyed multiplayer back then but as someone who is waiting for the reset before playing the game more often I just can't win in PvP it at the moment.

    I'm a little uncertain if it's a good Idea to give fully upgraded ultra-rares like mountaineer in the constructed decks.
    There should be a slight (beatable) advantage for players that build their own decks and if it takes months to get at least one self-made PvP deck thats compareable it might not be the best motivation.

     

    gemeiner Lauch likes this
  14. NAME: Giant Wyrm causes crash
    SEVERITY: 2
    LOCATION: Ingame (4*Random PvE, 1*Moes first Map)
    REPRODUCIBILITY: Spawn a Wyrm and wait/play
    DESCRIPTION: Something is wrong with the giant Wyrm. Almost every time I get t4 and spawn it, the game disconnects after a few Seconds or minutes. I think its when the wyrm is not moving and playing Idle Animations. The game seems to continue when I keep it flying around.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use