Results 1 to 5 of 5

Thread: MySEQ Developer seeks help from SEQ developer

  1. #1
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    MySEQ Developer seeks help from SEQ developer

    I have tried taking another shot at resuming Ground Spawn lookup in the MySEQ tool. For anyone who knows, this knowledge was lost long ago and left abandoned.

    The subject was touched on a few times over the last year, and I spent two days on it and gave up. Too much other stuff to do.

    I have spent a good bit more time on it once again, but still am at a loss.

    The problem stems from the fact that ground spawns do not contain information... from what I can tell, about the item that is created once you pick it up. So I cannot search for "Misty Acorn", because until you find and click it, that text does not exist. Sort of a catch-22.

    So I need to understand what I can look for. In a prior post, I was told info on the packet that is passed on the network, however I was not told any actual data values.

    I have tried using X,Y,Z coordinates to locate ground spawns, and I have found many hits. However, I cannot make any discernable logic from the data detected. I am not sure if the data I am viewing is from the network part of the code, or some temporary copy place. If logic follows, there should be a linked list somewhere listing these items. I have found several linked lists in memory, but none of them seem to lead me to ground spawns.

    Without something unique to key off of, it is very difficult for me. What I was hoping was for someone to visit, say North Kaladim mushroom field, or Misty Thicket Druid rings and tell me the values sent in the packets for the ground items.

    I am hoping there is something in the packet, either a string or magic number that I can use to help me lock onto where these things live in memory, and more importantly, if they are a linked list or just an array somewhere... or some combination.
    Thanks for all the donuts.

  2. #2
    Did you SEQ today? BlueAdept's Avatar
    Join Date
    Dec 2001
    Posts
    2,008

    Re: MySEQ Developer seeks help from SEQ developer

    I belive there is an item number assocated with it. SEQ used to be able to tell what the item was in the early days.

    Maybe this will help, with SEQ, The brew barrel, forge, kiln, loom, oven, etc are all considered drops. If you can figure out those packets, the real drops are probably pretty similar.

    The problem is you would need an item database since they wouldn't show the name until you pick it up. SEQ used to have an item database in it (it still might, but I havent used the database in a long time) that would store what the item was. When the identifier was seen again, it would label it with the correct name.

    If you did it for drops and only drops, it should be fairly small and shouldn't impact performance much.

    I have never really delved into the packets so I could be way off base, but at least I'm trying to throw something out there for you.
    Filters for ShowEQ can now be found here. filters-5xx-06-20-05.tar.gz

    ShowEQ file section is here. https://sourceforge.net/project/show...roup_id=10131#

    Famous Quotes:

    Ratt: WTF you talkin' about BA? (Ok.. that sounds like a bad combo of Diffrent Strokes and A-Team)

    Razzle: I showeq my wife

  3. #3
    Developer
    Join Date
    Jul 2004
    Posts
    920

    Re: MySEQ Developer seeks help from SEQ developer

    The item id of the dropped item isn't in the drop struct. It only comes across when you pick it up. There is an actor ID for the icon though. But I don't know if that is visible in memory. These look like IT#####_ACTORDEF I think for drops, where ##### is a base 10 number. There are also IDs for the drops, which is what is passed between client and server when you pick something up.

    The ##### corresponds to the graphic used for the item. These are the numbers uRit maps in seq and can be found in the weapon*.h files. For example, I think 0x2a34 is the forge in the guild hall (i.e. IT10803_ACTORDEF is the actor id).

    The packet for the server telling your client to spawn the forge in the guild hall:
    Code:
    Dec 05 2006 18:07:32:053 [Decoded] [Server->Client] [Size: 104]
    [OPCode: 0x76f0]
    [Name: OP_GroundSpawn][Updated: 06/13/06][Type: makeDropStruct (104) ==]
    000 | 08 2a 63 07 b8 27 63 07 50 29 63 07 04 00 00 00  | .*c..'c.P)c.....
    016 | 59 01 XX XX 00 00 00 00 9a fe ff 7f 00 00 00 00  | Y...............
    032 | 00 00 00 00 00 00 00 00 00 00 80 3f 00 00 00 00  | ...........?....
    048 | 00 00 ac 42 00 00 84 c2 49 54 31 30 38 30 33 5f  | ...B....IT10803_
    064 | 41 43 54 4f 52 44 45 46 00 00 00 00 00 00 00 00  | ACTORDEF........
    080 | 00 00 00 00 00 00 00 00 f0 24 00 00 ff 00 00 00  | .........$......
    096 | ff ff ff ff 00 00 00 00                          | ........
    The wire struct (could be very wrong, seq just actively uses x/y/z and idFile):
    Code:
    struct makeDropStruct
    {
    /*0000*/ uint32_t prevObject;             // Previous object in the linked list
    /*0004*/ uint32_t nextObject;             // Next object in the linked list
    /*0008*/ uint32_t unknown0008;            // ***Placeholder
    /*0012*/ uint32_t dropId;                 // DropID
    /*0016*/ uint16_t zoneId;                 // ZoneID
    /*0018*/ uint16_t zoneInstance;           // Zone instance id
    /*0020*/ uint8_t  unknown0020[8];         // ***Placeholder
    /*0028*/ uint8_t  unknown0028[12];        // ***Placeholder (9/23/2006)
    /*0040*/ float    heading;                // Heading
    /*0044*/ float    z;                      // Z Position
    /*0048*/ float    x;                      // X Position
    /*0052*/ float    y;                      // Y Position
    /*0056*/ char     idFile[16];             // ACTOR ID
    /*0072*/ uint32_t unknown0072[5];         // ***Placeholder
    /*0092*/ uint32_t dropType;               // drop type
    /*0096*/ uint32_t unknown0096;            // ***Placeholder
    /*0100*/ uint32_t userSpawnID;            // spawn id of the person using
    /*0104*/
    };

  4. #4
    Registered User
    Join Date
    Jul 2006
    Posts
    27

    Re: MySEQ Developer seeks help from SEQ developer

    i dont know if it helps but this is the grounditems.ini file for the other people

    [GroundItem]
    IT1_ACTORDEF=Long Sword
    IT5_ACTORDEF=Throwing knife
    IT8_ACTORDEF=Basic Staff
    IT10_ACTORDEF=Arrow
    IT14_ACTORDEF=Basic Hammer
    IT16_ACTORDEF=Basic Spear
    IT27_ACTORDEF=Book
    IT35_ACTORDEF=Mod Rod
    IT62_ACTORDEF=Flaming Sword
    IT63_ACTORDEF=Small Bag
    IT64_ACTORDEF=Large Bag
    IT65_ACTORDEF=Scroll
    IT66_ACTORDEF=Forge
    IT67_ACTORDEF=Voodoo Doll
    IT68_ACTORDEF=Glowing Black Stone
    IT69_ACTORDEF=Oven
    IT70_ACTORDEF=Brew Barrel
    IT73_ACTORDEF=Kiln
    IT74_ACTORDEF=Pottery Wheel
    IT78_ACTORDEF=Campfire (Oven)
    IT128_ACTORDEF=Loom
    IT177_ACTORDEF=Shattering Hammer
    IT203_ACTORDEF=Round Shield
    IT210_ACTORDEF=Shimmering Orb
    IT400_ACTORDEF=Globe of Slush Water
    IT401_ACTORDEF=Red Mushroom
    IT402_ACTORDEF=Blue Mushroom
    IT403_ACTORDEF=Yew Leaf
    IT10511_ACTORDEF=A Soulstone Shard
    IT10512_ACTORDEF=Orb of Exploration
    IT10630_ACTORDEF=Fish Sword
    IT10661_ACTORDEF=Blade of Walnan
    IT10695_ACTORDEF=Club
    IT10714_ACTORDEF=Augmentation Sealer
    IT10725_ACTORDEF=Shuriken

    maybe it will help you now where to find the info at.

  5. #5
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: MySEQ Developer seeks help from SEQ developer

    Thanks guys. I think that may help a lot. I have backburnered this for now (again) so I can finish the client overhaul, but I will return to it. Your info should help a lot.
    Thanks for all the donuts.

Thread Information

Users Browsing this Thread

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

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On