Beiträge von bloodman

    http://www.amazon.de/dp/B0091SD7WK/ref=asc_df_B0091SD7WK9643204?smid=A3JWKAKR8XB7XF&tag=geizhalspre03-21&linkCode=asn&creative=22494&creativeASIN=B0091SD7WK das is ja der 2te von deinem Link da..


    Woher weißten das da kein OS drauf is :o. oder wo finde ich ein mit nem Windows drauf?



    Ich nehm mal an die meinen FreeDOS

    @shadowhunter Da die itemdata_XXXX bei jedem Server anders sein können. Wenn man jetzt zum Beispiel die itemdata_xxxx aus der pk2 von einem Server nimmt, kann ein anderer Server ein ganz anderes Item mit der selben ID haben. Und das könnte dazu führen dass man zum Beispiel die Characterdata Packete falsch parsed.


    Will die txt datei klein halten daher mache ich mir eine eigene wo nur die Sachen drin stehen die ich brauche.




    EDIT: wenn zu dein Tool / Bot auf "allen" VSRO server funktionstüchtig haben willst kommst du überhaupt nicht drumrum die Media.pk2 zu parsen, da du Die DIVISIONINFO.txt und die GATEPORT.txt brauchst um überhaupt zu wissen wo du hin connecten sollst.

    Also wie ich mir die pk2 Dateien damals für rSro aufbereitet habe, hat das builden seine Zeit gedauert (gut da waren dann auch noch Mobs und Skills dabei). Ich würde mir aber trotzdem Textdateien erstellen. Man kann die Logik zum bauen der Dateien, ja auch im Programm verankern. Dann dauert nur der erste Start lang, aber danach gehts schneller.


    Das müsste nach jedem Upadate wiederholt werden. Dazu müsste dann auch jedes mal die pk2 geladen werden und die SV.T ausgelesen werden. Ich bezweifle dass es sich wirklich lohnen würde das ganze in eigene Textdateien zu schreiben.
    Denn wenn die Pk2 schon geladen (geparsed) ist, sind die Daten genau so schnell abrufbar wie dateien auf der Festplatte.

    In der Itemdata stehen die Namen der Items aber nicht. Also macht es schon Sinn, sich selbst Dateien zu machen, wie man sie braucht. Außerdem dauert es viel länger die Daten direkt aus der media.pk2 auszulesen. Wenn man auf die Performance beim Programmstart achten will, sollte man auf jedenfall selber Textdateien erstellen.


    Da muss ich dir wiedersprechen. Gerade auf den Privatservern _muss_ man direkt aus der pk2 auslesen, da viele Server eigene Item's hinzugefügt haben oder items verändert haben. (Stack size etc.)
    Und das laden der Daten aus der Pk2 ist beim besten willen kein performance Problem. Das dauert keine 5 Sekunden wenn die Dateien im Cache sind. Bei ersten mal dauerts vllt 5-10 Sekunden aber solange kannste ja nen Splashscreen anzeigen.

    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




    @ bloodman


    Es kann auch sein, dass ich etwas zu schnell bei Dr. House urteile, da ich das eigentlich nie richtig geschaut habe, aber Scrubs finde ich aufjedenfall scheisse ! Worum geht es denn bei Dr. House genau ? Außer um die ganze Arztscheisse...


    Was macht es so gut/besonders ?


    Die Tatsache dass es die Serie schaffte in einem Moment toternst zu sein und im nächsten Moment eine der besten Komödien. Hugh Laurie spielte die Rolle einfach genial.

    Ich versteh zwar nicht wie man House MD und Scrubs NICHT mögen kann.... aber ok.


    1. The Office (die US version. ein absolutes muss)
    2. The IT Crowd
    3. Community
    4. Chuck


    Darf natürlich alles nur im Orginal geschaut werden. Keine dubs....

    Ist es schwer es für jeden Server zu machen ? oder kann ich es iwie mit edx loader hinbekommen ? :whistling:


    Würde dich auch mit einem lvl 90 Char auf styx entschädigen 2xDress devil scrolls etc, gold elix, 90ff glavie usw :)


    Ne, es ist nicht besonders schwer es zumindest auf den vsro basierenden Servern zum laufen zu bringen. Müssen nur 2 Dateien aus der Media.pk2 ausgelesen werden. (Divisioninfo.txt und Gateport.txt)

    Hier, das spart dir ein paar Zeilen code. :)
    [cs]public T Read<T>()
    {
    byte[] tmp;
    int size = Marshal.SizeOf(typeof(T));
    tmp = reader.ReadBytes(size);
    IntPtr ptr = Marshal.AllocHGlobal(size);
    Marshal.Copy(tmp, 0, ptr, size);
    T value = (T)Marshal.PtrToStructure(ptr, typeof(T));
    Marshal.FreeHGlobal(ptr);
    return value;
    }[/cs]