Parse CharacterData [vSro]

  • Hallo stagetwo,


    ich werde noch verrückt !



    Bis zur maximalenMP wird alles richtig angegeben, aber danach ist das immer so eine Sache.


    Mit dem edx_loader schaut ja alles so aus wenn man Packet snifft.

    Jemand ein gutes Programm wo die Daten schon geordnet sind ??


    Ich brauche die richtigen bMaxSlot- & bItemCount werte um weiter zuarbeiten mit den kommenden Items.


    Hoffe mir kann jemand helfen :thx:

  • Vergleichs mal:

  • Musste noch GM hinzufügen :)


    Vergleichs mal:

    Klappt, danke.


    Ich lasse den Thread mal bestehen, weil ich jetzt mit den Items anfage und ich da auch bestimmt nachher probleme mit habe.


    //

    Versuch mal beim Packet-Parser 0000 zu Show Only Opcodes hinzuzufügen. Bei mir wurd dann auch das 3013 Packet geordnet aufgelistet(allerdings mit Opcode 0000 ?!).

    Die Langen Packete werden im EDX Loader als Opcode 0 angezeigt. Hängt wohl damit zusammen wie der Client die parsed.

    Danke, nun ist das Packet auch geordnet :P


    //Update: 2.9.12 (22:34Uhr)


    Habe nun folgendes Problem. Beim auslesen der itemPK2Id.
    Ich muss die ID umwandeln damit meine eingelesen txt datei diese items erkennt.



    Item auflistung

    Code
    1. HP Recovery Herb ;ITEM_ETC_HP_POTION_01;4;0;3;3;1;1
  • Ist es nicht einfacher, die ID aus den Textdateien zu einem int zu konvertieren und dann mit der ausgelesenen ID des Packets zu vergleichen?
    Dein Item-Parsing sieht noch nicht ganz vollständig aus ;) Bei dir wird nur die Position ausgelesen und dann ein dword, dass meistens 0 ist(habe bis jetzt nur bei Dimension Holes einen anderen Wert gesehen).
    Der Aufbau fast aller Stackable-Items sieht etwa so aus:

    Code
    1. byte - position
    2. dword - ? (meistens 0)
    3. dword - item id
    4. word - quantity


    Das würde auch erklären, wieso die erste id auf dem Screen 0 ist und die id vom zweiten Item mit 0C(=12 => Anzahl der Scrolls vom ersten Slot) anfängt.

  • Jap, du hast Recht. Das hab ich ihm schon gefixed. Jetzt gibts nurnoch ein Problem bei dem Dictionary, aber das wird mein kleiner Mann schon alleine hinbekommen (hoff ich) :)


    Gesendet über das Internet

  • Habe jetzt geschafft, dass er die HP- & MPherbs ausliest.
    Jetzt muss ich nur noch schauen wie das Packet weiter verläuft.
    Wenn ein Item da ist mit den blues & + value.


    Es gibt sau viele opensource programme aber keiner der die CharData in vSro geparsed hat :/
    rSro,iSro,mhtc aber nicht vSro -.-'


    Werde morgen abend weiter machen und das Packet stück für stück abarbeiten...

  • Ich würde dir empfehlen die quest sachen zu skippen da es groß keinen sinn macht das zu parsen. Außer du willst irgendein autoquest feature bringen.
    Du wartest einfach auf das 0x3020 packet liest dort die objectID uniqueID wie auch immer du es nennst aus und suchst dann nach der und parse von da weiter.
    Code Beispiel.

    Code
    1. long startPointer = p.Pointer;
    2. uint id = p.Read<uint>();
    3. c.UniqueID = objectID;
    4. while (id != objectID)
    5. {
    6. startPointer++;
    7. p.Pointer = startPointer;
    8. id = p.Read<uint>();
    9. }

    p = Packet
    p.Pointer = die position des readers im packet
    objectID = die ID aus 0x3020




    Zitat

    Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...