Page 1 of 2 12 LastLast
Results 1 to 15 of 19

Thread: RoF thread

  1. #1
    Developer
    Join Date
    Sep 2005
    Posts
    155

    RoF thread

    Haven't had too much of a chance to do things, but change OP_ZoneEntry from 3257 to 3b49 and you get skittles. Good news that nothing huge seems changed, hopefully this will mostly be opcode hunting.

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

    Re: RoF thread

    You rock.
    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
    Sep 2005
    Posts
    155

    Re: RoF thread

    Haha, not so much, it's still pretty broken, but it could be worse.

    A couple more OPCodes:
    NpcMoveUpdate = 1b21
    I think OP_DeleteSpawn is 4697

    Movement history, TargetMouse and RemoveSpawn are the other big ones I'd like to find but won't get a chance until tonight. Unfortunately I don't have a good log of npc kills pre-patch, which is going to slow me down.

    I can't figure out why it can't determine the zone, the position in the structure for that does not seem to have changed.

  4. #4
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: RoF thread

    OP_TargetMouse is 1d80

  5. #5
    Registered User
    Join Date
    Dec 2008
    Posts
    6

    Re: RoF thread

    Just guessing, but the reason it can't determine the zone is there was probably changes that need to be made to the zones.h. Otherwise, nice work so far on the OPCodes.

  6. #6
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: RoF thread

    I thought about that, but I'm using zones like the guild hall and guild lobby, whose numbers don't seem to change. For example, the guild hall is 344 (or 158 in hex). "58 01" shows up in the same exact location today as it did last week, indicating to me that the zone number for older zones haven't changed and the location hasn't changed. Maybe that's not a valid test but I haven't been able to find a flaw in my logic. The new zone numbers will have to be found, but I'm not focusing on that yet.

    Keep those ideas coming!

  7. #7
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: RoF thread

    Set OP_NewZone = 4dae will get maps back up...

    Might have time to look at the changes this weekend and update opcodes... if the schedule gods permit me a few quiet minutes

  8. #8
    Registered User
    Join Date
    Dec 2008
    Posts
    6

    Re: RoF thread

    Thanks fransick, That got the old zone maps loading. I am trying to look at the new zones, but I'm a noob at this. Got the map files updated, just not the zones.h.

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

    Re: RoF thread

    Quote Originally Posted by fransick View Post
    if the schedule gods permit me a few quiet minutes
    I hear you fransick...I guess I should be happy that I still have a job but working 50+ (usually 60 hours) a week sucks... Its even worse since Im salary.
    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

  10. #10
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: RoF thread

    Quote Originally Posted by BlueAdept View Post
    I hear you fransick...I guess I should be happy that I still have a job but working 50+ (usually 60 hours) a week sucks... Its even worse since Im salary.
    I totally hear you there. As I work my ass off and watch my neighbor mooching off welfare. I am begining to wonder who the lame ass loser really is.

  11. #11
    Registered User
    Join Date
    Nov 2010
    Posts
    82

    Re: RoF thread

    Quote Originally Posted by Razzle View Post
    I totally hear you there. As I work my ass off and watch my neighbor mooching off welfare. I am begining to wonder who the lame ass loser really is.
    Likewise I work my ass off, but I'm wondering f that really makes me the winner too...

    Good work guys, I'll have a play with maps and zones.h later, I've been into that one before and found my way round it quite easily, so hopefully I'll be able to be of some use
    Your dad.

  12. #12
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: RoF thread

    Most of the critical opcodes are updated... will see about mapping the ones that don't have associated structs (read that as non-critical to SEQ functionality) this weekend if I have time. If I get it in a good state, I'll upload to SVN.

    Playerprofile is out of whack again, spawnshell is throwing tons of warnings and buffs/spells are off again too. Nothing major but beyond my ability to debug at this point.

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE seqopcodes SYSTEM "seqopcodes.dtd">
    <seqopcodes>
    
        <!-- Critical opcodes used directly by ShowEQ -->
        <opcode id="1b21" name="OP_NpcMoveUpdate" updated="11/28/12">
            <comment>Position updates</comment>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="517d" name="OP_MovementHistory" updated="11/28/12">
            <comment>Movement data... rewind info?</comment>
            <payload dir="client" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="50dc" name="OP_DeleteSpawn" updated="11/28/122">
            <comment>DeleteSpawnCode</comment>
            <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="3b49" name="OP_ZoneEntry" updated="11/28/12">
            <comment>ZoneEntryCode</comment>
            <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
        <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="24cb" name="OP_GuildMOTD" updated="11/28/12">
            <comment>GuildMOTD</comment>
            <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="3a18" name="OP_InspectAnswer" updated="11/28/12">
            <comment>InspectDataCode</comment>
            <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="1d80" name="OP_TargetMouse" updated="11/28/12">
            <comment>Targeting a person - old ClientTargetCode</comment>
            <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="3eb2" name="OP_Shroud" updated="10/23/12">
            <comment>Server putting players into shroud form</comment>
            <payload dir="server" typename="spawnShroudSelf" sizechecktype="none"/>
        </opcode>
        <opcode id="718f" name="OP_GroupInvite" updated="11/28/12">
            <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
            <comment>You invite someone while ungrouped or get invited by someone ungrouped </comment>
        </opcode>
        <opcode id="13ec" name="OP_GroupInvite2" updated="11/28/12">
            <payload dir="client" typename="groupInviteStruct" sizechecktype="none"/>
            <comment>You're inviting someone and you are grouped or get invited by a group</comment>
        </opcode>
        <opcode id="3389" name="OP_GroupFollow" updated="11/28/12">
            <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
            <comment>You join a group or player joins group</comment>
        </opcode>
        <opcode id="0000" name="OP_GroupFollow2" updated="11/28/12">
            <payload dir="server" typename="groupFollowStruct" sizechecktype="match"/>
            <comment>Player joins your group</comment>
        </opcode>
        <opcode id="7693" name="OP_GroupDisband" updated="11/28/12">
            <comment>You disband from group</comment>
            <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="12ef" name="OP_GroupDisband2" updated="11/28/12">
            <comment>Other disbands from group</comment>
            <payload dir="server" typename="groupDisbandStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4bf0" name="OP_GroupLeader" updated="11/28/12">
            <comment>Group leader change</comment>
            <payload dir="server" typename="groupLeaderChangeStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="202b" name="OP_GroupCancelInvite" updated="11/28/12">
            <payload dir="both" typename="groupDeclineStruct" sizechecktype="match"/>
            <comment>Declining to join a group</comment>
        </opcode>
        <opcode id="63db" name="OP_DzSwitchInfo" updated="11/28/12">
            <comment>Expedition compass etc</comment>
            <payload dir="server" typename="dzSwitchInfo" sizechecktype="none"/>
        </opcode>
        <opcode id="629b" name="OP_DzInfo" updated="10/23/12">
            <comment>Expedition Information</comment>
            <payload dir="server" typename="dzInfo" sizechecktype="match"/>
        </opcode>
        <opcode id="0aa1" name="OP_FormattedMessage" updated="11/28/12">
            <comment>FormattedMessageCode i.e. pet dismissed etc</comment>
            <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="5557" name="OP_SpawnDoor" updated="11/28/12">
            <comment>DoorSpawnsCode</comment>
            <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
        </opcode>
        <opcode id="6c45" name="OP_AAExpUpdate" updated="11/28/12">
          <comment>Receiving AA experience. Also when percent to AA changes.</comment>
          <payload dir="server" typename="altExpUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="16ef" name="OP_HPUpdate" updated="11/28/12">
            <comment>NpcHpUpdateCode Update HP % of a PC or NPC</comment>
            <payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0954" name="OP_GuildMemberUpdate" updated="11/28/12">
            <comment>Info regarding guild members</comment>
            <payload dir="server" typename="GuildMemberUpdate" sizechecktype="match"/>
        </opcode>
        <opcode id="7daa" name="OP_SpawnRename" updated="11/28/12">
            <comment>Spawns getting renamed after initial NewSpawn</comment>
            <payload dir="server" typename="spawnRenameStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="5128" name="OP_SwapSpell" updated="11/28/12">
            <comment>TradeSpellBookSlotsCode</comment>
            <payload dir="both" typename="tradeSpellBookSlotsStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0e3b" name="OP_SimpleMessage" updated="11/28/12">
            <comment>SimpleMessageCode</comment>
            <payload dir="server" typename="simpleMessageStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="611d" name="OP_SpecialMesg" updated="11/28/12">
            <comment>Communicate textual info to client including hail responses etc</comment>
            <payload dir="server" typename="specialMessageStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="2af0" name="OP_RandomReq" updated="11/28/12">
            <comment>RandomReqCode</comment>
            <payload dir="client" typename="randomReqStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4717" name="OP_RandomReply" updated="11/28/12">
            <comment>RandomCode</comment>
            <payload dir="server" typename="randomStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="2a1f" name="OP_ConsentResponse" updated="11/28/12">
            <comment>Server replying with consent information after /consent</comment>
            <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="760d" name="OP_DenyResponse" updated="11/28/12">
            <comment>Server replying with deny information after /deny</comment>
            <payload dir="server" typename="consentResponseStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="3116" name="OP_BazaarSearch" updated="10/23/12">
            <payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
            <payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
            <comment>Bazaar search tool</comment>
        </opcode>
        <opcode id="20fd" name="OP_SpawnUpdate" updated="11/28/12">
            <comment>SpawnUpdateCode</comment>
            <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="03af" name="OP_Stamina" updated="10/23/12">
            <comment>Server updating on hunger/thirst</comment>
            <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="1469" name="OP_Consider" updated="11/28/12">
            <comment>ConsiderCode</comment>
            <payload dir="both" typename="considerStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4dae" name="OP_NewZone" updated="11/28/12">
            <comment>NewZoneCode</comment>
            <payload dir="server" typename="newZoneStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="769a" name="OP_GroundSpawn" updated="11/28/12">
            <comment>MakeDropCode</comment>
            <payload dir="server" typename="makeDropStruct" sizechecktype="none"/>
            <payload dir="client" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="7cde" name="OP_RemoveSpawn" updated="11/28/12">
            <comment>Remove spawn from zone</comment>
        <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="777f" name="OP_Death" updated="11/28/12">
            <comment>old NewCorpseCode</comment>
            <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="20c9" name="OP_ClickObject" updated="11/28/12">
            <comment>Items dropped on the ground</comment>
            <payload dir="both" typename="remDropStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="7ce4" name="OP_Action" updated="11/28/12">
            <comment>Spells cast etc</comment>
            <payload dir="both" typename="actionStruct" sizechecktype="match"/>
            <payload dir="both" typename="actionAltStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="01d0" name="OP_Action2" updated="11/28/12">
            <comment>Combat actions i.e. bash, kick etc</comment>
            <payload dir="both" typename="action2Struct" sizechecktype="match"/>
        </opcode>
        <opcode id="79ee" name="OP_Illusion" updated="11/28/12">
            <comment>Spawn being illusioned (changing forms)</comment>
            <payload dir="both" typename="spawnIllusionStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0af7" name="OP_BuffFadeMsg" updated="11/28/12">
            <comment>SpellFadeCode</comment>
            <payload dir="both" typename="spellFadedStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="62ee" name="OP_CastSpell" updated="11/28/12">
            <comment>StartCastCode</comment>
            <payload dir="both" typename="startCastStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4e39" name="OP_MemorizeSpell" updated="11/28/12">
            <comment>MemSpellCode</comment>
            <payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="212b" name="OP_Emote" updated="11/28/12">
            <comment>EmoteTextCode</comment>
            <payload dir="both" typename="emoteTextStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="6399" name="OP_ManaChange" updated="11/28/12">
            <comment>Mana change. Bards send this up with no size. Casters receive this for mana updates.</comment>
            <payload dir="server" typename="manaDecrementStruct" sizechecktype="match"/>
            <payload dir="client" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="06f8" name="OP_MoneyOnCorpse" updated="11/28/12">
            <comment>MoneyOnCorpseCode</comment>
            <payload dir="server" typename="moneyOnCorpseStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="1603" name="OP_PlayerProfile" updated="11/28/12">
            <comment>CharProfileCode</comment>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="2db2" name="OP_TimeOfDay" updated="10/23/12">
            <comment>TimeOfDayCode</comment>
            <payload dir="server" typename="timeOfDayStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="44ef" name="OP_ClientUpdate" updated="11/28/12">
            <comment>Position updates</comment>
            <payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
            <payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4cc9" name="OP_BeginCast" updated="11/28/12">
            <comment>BeginCastCode</comment>
            <payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="01cd" name="OP_CommonMessage" updated="11/28/12">
            <comment>ChannelMessageCode i.e. /tell /ooc /shout etc</comment>
            <payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="4f2b" name="OP_SkillUpdate" updated="11/28/12">
            <comment>Skill up code</comment>
            <payload dir="server" typename="skillIncStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="6128" name="OP_SpawnAppearance" updated="11/28/12">
            <comment>SpawnAppearanceCode</comment>
            <payload dir="both" typename="spawnAppearanceStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_ExpUpdate" updated="11/28/12">
            <comment>ExpUpdateCode - opcode looks to be 67d1 as of 11/28/12 but that value causes seg faults for some reason</comment>
            <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="5777" name="OP_LevelUpdate" updated="11/28/12">
            <comment>LevelUpUpdateCode</comment>
            <payload dir="server" typename="levelUpUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="3798" name="OP_LeaderExpUpdate" updated="11/28/12">
            <comment>Leadership AA Exp Update</comment>
            <payload dir="server" typename="leadExpUpdateStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="4daf" name="OP_MobUpdate" updated="11/28/12">
            <comment>MobUpdateCode</comment>
            <payload dir="both" typename="spawnPositionUpdate" sizechecktype="match"/>
        </opcode>
        <opcode id="21de" name="OP_Trader" updated="10/23/12">
            <comment>PC's turning trader on and off</comment>
            <payload dir="server" typename="bazaarTraderRequest" sizechecktype="match"/>
        </opcode>
        <opcode id="071e" name="OP_Consent" updated="11/28/12">
            <comment>/consent someone</comment>
            <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="2860" name="OP_ConsentDeny" updated="11/28/12">
            <comment>/deny someone</comment>
            <payload dir="client" typename="consentRequestStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="1d6d" name="OP_ItemPacket" updated="11/28/12">
            <comment>ItemCode</comment>
            <payload dir="server" typename="itemPacketStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="4562" name="OP_ItemLinkResponse" updated="10/23/12">
            <comment>ItemInfoCode</comment>
            <payload dir="server" typename="itemInfoStruct" sizechecktype="none"/>
            <payload dir="client" typename="itemInfoReqStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="2fb1" name="OP_EnvDamage" updated="10/23/12">
            <comment>Environmental Damage</comment>
            <payload dir="client" typename="environmentDamageStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="402d" name="OP_SetRunMode" updated="11/28/12">
            <comment>old cRunToggleCode</comment>
            <payload dir="client" typename="cRunToggleStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_WearChange" updated="03/23/12">
            <comment>Armor changes or give a pet a weapon (model changes)  This seems to be an artifact from a past patch.  Need to fix</comment>
            <payload dir="both" typename="SpawnUpdateStruct" sizechecktype="match"/>
        </opcode>
    
        <!-- Not necessary for SEQ to run but here to name packets in logs. -->
        <opcode id="238d" name="OP_GroupUpdate" updated="11/28/12">
            <comment>Group member names - Variable length</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="4281" name="OP_UIUpdate" updated="11/28/12">
            <comment>Seems to be sent to handle a variety of UI updates - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="1aae" name="OP_GroupMemberList" updated="08/17/12">
            <comment>List of group members -  Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4ea3" name="OP_GuildMemberList" updated="10/23/12">
            <comment>List of guild members - Variable length</comment>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="1370" name="OP_ManaUpdate" updated="11/28/12">
        <comment>Mana Update opcode - 10 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="1e36" name="OP_EndUpdate" updated="11/28/12">
        <comment>Endurance Update opcode - 10 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="2a62" name="OP_Marketplace" updated="10/23/12">
            <comment>Marketplace data - Guessing variable length 11252 bytes as of 10/23/12</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="3dbd" name="OP_MarketplaceSelect" updated="10/23/12">
            <comment>Sent when highlighting an item in Marketplace - 80 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4676" name="OP_DzMembers" updated="10/23/12">
            <comment>Expedition Members - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="33d7" name="OP_Campfire" updated="10/23/12">
            <comment>Fellowship campfire information - 1076 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4b6a" name="OP_SelectCampfire" updated="10/23/12">
            <comment>Fellowship campfire Choices - Guessing variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="13bd" name="OP_Claims" updated="10/23/12">
            <comment>Contents of claims window. /claim then refresh to capture packet - Guessing variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="7b6c" name="OP_VoiceChat" updated="11/28/12">
            <comment>Voice chat server info - Variable length (Data sent when joining group,raid etc)</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="758a" name="OP_PollQuestions" updated="11/28/12">
            <comment>SOE in-game player poll questions - Variable length</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="5615" name="OP_PollResponses" updated="11/28/12">
            <comment>Poll response choices - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0321" name="OP_ShroudProgression" updated="11/28/12">
            <comment>Unlocked shrouds - 244 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="ba18" name="OP_ShroudTemplates" updated="10/23/12">
            <comment>Shroud templates to choose from on shroud NPC - 18983 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="23ad" name="OP_Fellowship" updated="11/28/12">
            <comment>Fellowship information - 2564 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4234" name="OP_ExpandedGuildInfo" updated="11/28/12">
            <comment>Guild ranks and other misc guild data - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="18e7" name="OP_GuildBank" updated="11/28/12">
            <comment>Guild bank contents - Guessing variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="38e9" name="OP_OpenTradeskillContainer" updated="10/23/12">
            <comment>Opens forge, kiln etc - 92 Bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="7174" name="OP_TradeskillRecipes" updated="10/23/12">
            <comment>Learned recipes - 84 Bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="53b8" name="OP_TradeSkillCombine" updated="10/23/12">
            <comment>Tradeskill combine using new tradeskill window - 40 Bytes</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="4b65" name="OP_TradeSkillResult" updated="10/23/12">
            <comment>Packets sent when tradeskill combine successful equals # of ingredients used in combine?- 12 Bytes</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="0b69" name="OP_TradeSkillCombineOld" updated="10/23/12">
            <comment>Tradeskill combine using old tradeskill window - 24 Bytes</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="0adc" name="OP_ItemPlayerPacket" updated="11/28/12">
            <comment>Inventory/bank items coming over during zone - Variable length</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="19e1" name="OP_TaskDescription" updated="11/28/12">
            <comment>Task descriptions coming down for task window - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6c31" name="OP_TaskActivity" updated="11/28/12">
            <comment>Task activity descriptions coming down for task window - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0525" name="OP_CompletedTasks" updated="11/28/12">
            <comment>Task history for task window - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6f1b" name="OP_CustomTitles" updated="11/28/12">
            <comment>List of available titles - 1520 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0233" name="OP_Animation" updated="10/23/12">
            <comment>Combat animation, emote animations etc - 4 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="2bdd" name="OP_WhoAllRequest" updated="10/23/12">
            <comment>WhoAllReqCode - 156 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6678" name="OP_WhoAllResponse" updated="10/23/12">
            <comment>WhoAllOutputCode - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="3d3c" name="OP_InspectRequest" updated="11/28/12">
            <comment>InspectRequestCode - 8 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="41b9" name="OP_GetGuildMOTD" updated="10/23/12">
            <comment>Request guildMOTD - 648 Bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="41b9" name="OP_GuildMOTDResponse" updated="10/23/12">
            <comment>Response guildMOTD - 648 Bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="3692" name="OP_TradeRequest" updated="10/23/12">
            <comment>You request trade session - 8 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="7689" name="OP_TradeDeny" updated="10/23/12">
            <comment>Target not ready to trade - 12 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="1439" name="OP_TradeRequestAck" updated="10/23/12">
            <comment>Trade request recipient is acknowledging they are able to trade - 8 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="66f3" name="OP_CancelTrade" updated="10/23/12">
            <comment>Cancel a trade window - 8 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0969" name="OP_FinishTrade" updated="10/23/12">
            <comment>Trade is over - 12 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="29fa" name="OP_TradeCoins" updated="10/23/12">
            <comment>You put coins put in a trade window - 20 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="428e" name="OP_TradeCoins2" updated="10/23/12">
            <comment>Someone else puts coins put in your trade window - 12 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4cf9" name="OP_TradeAcceptClick" updated="10/23/12">
            <comment>One side clicks Accept on the trade 8 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6f69" name="OP_ItemLinkClick" updated="10/23/12">
            <comment>Click on itemlinks - 52 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="763b" name="OP_LootRequest" updated="10/23/12">
            <comment>LootCorpseCode - 4 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6fad" name="OP_LootItem" updated="10/23/12">
            <comment>Loot item from corpse - 20 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6635" name="OP_EndLootRequest" updated="10/23/12">
            <comment>DoneLootingCode - 4 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="5372" name="OP_Track" updated="10/23/12">
            <comment>Tracking data - Variable length</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="291e" name="OP_TraderShop" updated="10/23/12">
            <comment>OpenTraderCode right-click on a trader in bazaar - 16 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>        
        </opcode>
        <opcode id="06fb" name="OP_AutoAttack" updated="10/23/12">
            <comment>Attack on/off - 4 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="1e7e" name="OP_AutoAttack2" updated="10/23/12">
            <comment>Attack on/off appears to be same as OP_AutoAttack - 4 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="1b5c" name="OP_ClickDoor" updated="10/23/12">
            <comment>DoorOpenCode click request from client - 16 bytes</comment>
            <payload dir="client" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="7488" name="OP_MoveDoor" updated="10/23/12">
            <comment>DoorClickCode response from server - 2 bytes</comment>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="5143" name="OP_MoveItem" updated="10/23/12">
            <comment>Client moving an item from one slot to another - 28 bytes</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="6c45" name="OP_TraderBuy" updated="10/23/12">
            <comment>buy from a trader in bazaar - 104 bytes</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/> 
        </opcode>
        <opcode id="01d5" name="OP_Jump" updated="10/23/12">
            <comment>JumpCode - 0 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="441d" name="OP_TGB" updated="10/23/12">
            <comment>Client telling server to set targetgroupbuff - 4 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="2cd8" name="OP_Lockouts" updated="10/23/12">
            <comment>Client requesting lockouts - 0 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4ee5" name="OP_RaidInvite" updated="10/23/12">
            <comment>Client side raid invite requests 140 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="5dcf" name="OP_RaidJoin" updated="10/23/12">
            <comment>Server side raid information - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="24c5" name="OP_Feedback" updated="07/18/12">
            <comment>Client sending feedback to server - 1148 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="5f00" name="OP_GuildsList" updated="08/17/12">
            <comment>Listing of all guilds. Can be triggered by /lfg search?</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_LFGGetMatchesRequest" updated="10/23/12">
            <comment>LFG/LFP client request - 16 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4908" name="OP_LFGGetMatchesResponse" updated="10/23/12">
            <comment>LFG/LFP server response - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="6f15" name="OP_MercenaryList" updated="11/28/12">
            <comment>Listing of hired mercenaries - 429 bytes
            <payload dir="server" typename="unknown" sizechecktype="none"/></comment>
        </opcode>
        <opcode id="1b7b" name="OP_ClickInventory" updated="10/23/12">
            <comment>Click items from inventory or armor - 16 bytes 5th byte is Slot ID</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="69ea" name="OP_ClickInventoryAck" updated="10/23/12">
            <comment>Server acknowledges click from inventory or armor - 20 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="60e2" name="OP_BuffWindow" updated="11/28/12">
            <comment>Changes to buff window or song window - 100 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_ClickBuffOff" updated="10/23/12">
            <comment>Client clicks off buff - 8 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0d4b" name="OP_HouseAddress" updated="11/28/12">
            <comment>House and guildhall address information - Variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="7cda" name="OP_HouseContents" updated="11/28/12">
            <comment>Server sending house information and contents - variable length</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="238b" name="OP_FriendsList" updated="10/23/12">
            <comment>Server sending friends list contents - variable length (Sent when choosing "Welcome" form EQ button)</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4752" name="OP_FriendsOnline" updated="10/23/12">
            <comment>Friends currently online - variable length (Sent when choosing "Welcome" form EQ button)</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="2597" name="OP_Rewards" updated="10/23/12">
            <comment>Server sending pending rewards - variable length</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="630b" name="OP_FTPNags" updated="11/28/12">
            <comment>Free to play nags and other data - 1852 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="5d95" name="OP_Find" updated="11/28/12">
            <comment>Find window data - 112 bytes</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="10cb" name="OP_ConsiderCorpse" updated="10/23/12">
            <comment>ConCorpseCode - 20 bytes</comment>
            <payload dir="client" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="628a" name="OP_TributeUpdate" updated="10/23/12">
            <comment>Tribute and trophy skills - Variable length</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
    
            <!-- Below are used to help make sense of the logs when searching for opcodes
                 Using these marks unknown opcodes in logs for easier reading  -->
        <opcode id="496f" name="OP_Unknown1" updated="11/28/12">
            <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="7d71" name="OP_Unknown2" updated="11/28/12">
            <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="4a6e" name="OP_Unknown3" updated="11/28/12">
            <comment>3 byte opcode that spam logs seemingly only when you have someone targeted. Marked here to make reading logs easier</comment>
            <payload dir="server" typename="unknown" sizechecktype="none"/>
        </opcode>
    
            <!-- Below are unverified -->
        <opcode id="0000" name="OP_Buff" updated="11/15/11">
            <comment>old BuffDropCode</comment>
            <payload dir="both" typename="buffStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_ZoneChange" updated="04/18/11">
            <comment>old ZoneChangeCode</comment>
            <payload dir="both" typename="zoneChangeStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_CorpseLocResponse" updated="06/12/09">
            <comment>old CorpseLocCode:</comment>
            <payload dir="server" typename="corpseLocStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_SendZonePoints" updated="10/15/10">
            <comment>Coords in a zone that will port you to another zone</comment>
            <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_RequestZoneChange" updated="10/20/07">
            <comment>Send by server when a click causes zone. Also, origin</comment>
            <payload dir="server" typename="requestZoneChangeStruct" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_Logout" updated="10/21/09">
            <comment></comment>
            <payload dir="server" typename="none" sizechecktype="match"/>
        </opcode>
        <opcode id="0000" name="OP_WelcomeScreenTitle" updated="05/16/11">
        <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_VeteranRewards" update="04/18/11">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_SendAATable" updated="08/12/09">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_SendAAStats" updated="08/12/09">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_AckPacket" updated="03/14/07">
            <comment>Appears to be generic ack at the presentation level</comment>
        </opcode>
        <opcode id="0000" name="OP_Weather" updated="03/14/07">
            <comment>old WeatherCode</comment>
        </opcode>
        <opcode id="0000" name="OP_ReqNewZone" updated="03/14/07">
            <comment>Client requesting NewZone_Struct</comment>
        </opcode>
        <opcode id="0000" name="OP_ReqClientSpawn" updated="03/14/07">
            <comment>Client requesting spawn data</comment>
        </opcode>
        <opcode id="0000" name="OP_SendExpZonein" updated="03/14/07">
            <comment>Both directions. Negotiating sending of exp info.</comment>
        </opcode>
        <opcode id="0000" name="OP_AAAction" updated="03/14/07">
            <comment>Used for changing percent, buying? and activating skills</comment>
        </opcode>
        <opcode id="0000" name="OP_SetServerFilter" updated="03/14/07">
            <comment>Client telling server /filter information</comment>
        </opcode>
        <opcode id="0000" name="OP_ClientReady" updated="03/14/07">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_GuildTributeStatus" updated="03/14/07">
            <comment>Guild tribute stats send on zone</comment>
        </opcode>
        <opcode id="0000" name="OP_GuildTributeInfo" updated="06/13/06">
            <comment>Guild tribute loadout, only if on</comment>
        </opcode>
        <opcode id="0000" name="OP_RespawnWindow" updated="03/14/07">
          <comment>Server telling client enough to populate the respawn window when you die</comment>
        </opcode>
        <opcode id="0000" name="OP_InitialMobHealth" updated="06/27/12">
            <comment>Initial health sent when a player clicks on the mob. Subsequent updated will be OP_MobHealth</comment>
        </opcode>
        <opcode id="0000" name="OP_MobHealth" updated="03/14/07">
            <comment>health sent when a player clicks on the mob</comment>
        </opcode>
        <opcode id="0000" name="OP_DeltaCheck" updated="03/14/07">
            <comment>Client sending server delta information.</comment>
        </opcode>
        <opcode id="0000" name="OP_LoadSpellSet" updated="02/13/07">
            <comment>/mem spellsetname</comment>
        </opcode>
        <opcode id="0000" name="OP_Dye" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_Consume" updated="12/07/05">
            <comment>Client force feeding food/drink</comment>
            <payload dir="client" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_Begging" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_LFGCommand" updated="10/27/05">
            <comment>old LFGReqCode</comment>
        </opcode>
        <opcode id="0000" name="OP_Bug" updated="10/27/05">
            <comment>/bug</comment>
        </opcode>
        <opcode id="0000" name="OP_Save" updated="04/19/06">
            <comment>Client asking server to save user state</comment>
        </opcode>
        <opcode id="0000" name="OP_Camp" updated="02/13/07">
            <comment>old cStartCampingCode</comment>
        </opcode>
        <opcode id="0000" name="OP_ShopPlayerSell" updated="10/27/05">
            <comment>old SellItemCode</comment>
        </opcode>
        <opcode id="0000" name="OP_PetCommands" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_SaveOnZoneReq" updated="03/14/07">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_ShopEnd" updated="10/27/05">
            <comment>old CloseVendorCode</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_SenseTraps" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_SenseHeading" updated="10/27/05">
            <comment>old cSenseHeadingCode</comment>
        </opcode> 
        <opcode id="0000" name="OP_LootComplete" updated="12/07/05">
            <comment>old sDoneLootingCode</comment>
        </opcode>
        <opcode id="0000" name="OP_Split" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_Surname" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_ShopRequest" updated="10/27/05">
            <comment>old OpenVendorCode</comment>
            <payload dir="both" typename="unknown" sizechecktype="none"/>
        </opcode>
        <opcode id="0000" name="OP_FaceChange" updated="10/27/05">
            <comment>/face</comment>
        </opcode>
        <opcode id="0000" name="OP_Sneak" updated="06/29/05">
            <comment>Clicked sneak</comment>
        </opcode>
        <opcode id="0000" name="OP_Hide" updated="06/29/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_DisarmTraps" updated="05/11/05">
            <comment>Clicked disarm traps</comment>
        </opcode>
        <opcode id="0000" name="OP_Forage" updated="10/27/05">
            <comment>old ForageCode</comment>
        </opcode>
        <opcode id="0000" name="OP_BoardBoat" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_LeaveBoat" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_LFPGetMatchesRequest" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_GMKill" updated="10/27/05">
            <comment>GM /kill - Insta kill mob/pc</comment>
        </opcode>
        <opcode id="0000" name="OP_GuildPublicNote" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_YellForHelp" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_ShopPlayerBuy" updated="05/11/05">
            <comment>old BuyItemCode</comment>
        </opcode>
        <opcode id="0000" name="OP_LFPCommand" updated="10/27/05">
            <comment>looking for players</comment>
        </opcode>
        <opcode id="0000" name="OP_ConfirmDelete" updated="10/27/05">
            <comment>Client sends this to server to confirm op_deletespawn</comment>
        </opcode>
        <opcode id="0000" name="OP_Report" updated="06/29/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_TargetCommand" updated="02/13/07">
            <comment>Target user</comment>
        </opcode>
        <opcode id="0000" name="OP_LFPGetMatchesResponse" updated="02/13/07">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_FindPersonRequest" updated="02/13/07">
            <comment>Control-F Find</comment>
        </opcode>
        <opcode id="0000" name="OP_FindResponse" updated="02/13/07">
            <comment>Response to control-F</comment>
        </opcode>
        <opcode id="0000" name="OP_GMLastName" updated="10/27/05">
            <comment>GM /lastname - Change user lastname</comment>
        </opcode>
        <opcode id="0000" name="OP_Mend" updated="10/27/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_MendHPUpdate" updated="05/11/05">
            <comment></comment>
        </opcode>
        <opcode id="0000" name="OP_TributeInfo" updated="02/13/07">
            <comment>Tribute information</comment>
        </opcode>
    
    <!-- OLD OPCODES. These haven't been mapped in a post 1/26/2005 world. If you
         can find any of these in the current stream, please update them and let
         us know!
    
        <opcode id="1900" name="OP_ZoneSpawns" updated="05/29/08">
            <comment>old ZoneSpawnsCode</comment>
            <payload dir="server" typename="spawnStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="0020" name="OP_GMServers" updated="05/26/04">
            <comment>GM /servers - ?</comment>
        </opcode>
        <opcode id="790e" name="OP_GMKick" updated="01/26/05">
            <comment>GM /kick - Boot player</comment>
        </opcode>
        <opcode id="0068" name="OP_Petition" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0074" name="OP_GMBecomeNPC" updated="05/26/04">
            <comment>GM /becomenpc - Become an NPC</comment>
        </opcode>
        <opcode id="0076" name="OP_PetitionCheckout" updated="05/26/04">
            <comment>Petition Checkout</comment>
        </opcode>
        <opcode id="007e" name="OP_PetitionCheckIn" updated="05/26/04">
            <comment>Petition Checkin</comment>
        </opcode>
        <opcode id="688f" name="OP_PetitionResolve" updated="05/11/05">
            <comment>Client Petition Resolve Request</comment>
        </opcode>
        <opcode id="0165" name="OP_DeletePetition" updated="01/26/05">
            <comment>Player /deletepetition</comment>
        </opcode>
        <opcode id="0082" name="OP_PetitionQue" updated="05/26/04">
            <comment>GM looking at petitions</comment>
        </opcode>
        <opcode id="0090" name="OP_PetitionUnCheckout" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0097" name="OP_GMSearchCorpse" updated="05/26/04">
            <comment>GM /searchcorpse - Search all zones for named corpse</comment>
        </opcode>
        <opcode id="009a" name="OP_GuildPeace" updated="05/26/04">
            <comment>/guildpeace</comment>
        </opcode>
        <opcode id="00a4" name="OP_GuildWar" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="00a7" name="OP_GuildLeader" updated="05/26/04">
            <comment>/guildleader</comment>
        </opcode>
        <opcode id="00b6" name="OP_ApplyPoison" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="00da" name="OP_GMInquire" updated="05/26/04">
            <comment>GM /inquire - Search soulmark data</comment>
        </opcode>
        <opcode id="00dc" name="OP_GMSoulmark" updated="05/26/04">
            <comment>GM /praise /warn - Add soulmark comment to user file</comment>
        </opcode>
        <opcode id="00de" name="OP_GMHideMe" updated="05/26/04">
            <comment>GM /hideme - Remove self from spawn lists and make invis</comment>
        </opcode>
        <opcode id="00ef" name="OP_SafePoint" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="010b" name="OP_GMGoto" updated="05/26/04">
            <comment>GM /goto - Transport to another loc</comment>
        </opcode>
        <opcode id="012d" name="OP_BindWound" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0132" name="OP_GuildRemove" updated="05/26/04">
            <comment>/guildremove</comment>
        </opcode>
        <opcode id="013b" name="OP_GMTraining" updated="05/26/04">
            <comment>old OpenGMCode</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="013c" name="OP_GMEndTraining" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0152" name="OP_MoveCash" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0160" name="OP_Taunt" updated="05/26/04">
            <comment>old ConsumeCode</comment>
        </opcode>
        <opcode id="016c" name="OP_Stun" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0175" name="OP_GMTrainSkill" updated="05/26/04">
            <comment>old SkillTrainCode</comment>
        </opcode>
        <opcode id="0178" name="OP_GMEndTrainingResponse" updated="05/26/04">
            <comment>old CloseGMCode</comment>
            <payload dir="both" typename="uint8_t" sizechecktype="none"/>
        </opcode>
        <opcode id="0183" name="OP_GMZoneRequest" updated="05/26/04">
            <comment>/zone</comment>
        </opcode>
        <opcode id="018f" name="OP_BecomePK" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0197" name="OP_SetDataRate" updated="05/26/04">
            <comment>Client sending datarate.txt value</comment>
        </opcode>
        <opcode id="0198" name="OP_GMDelCorpse" updated="05/26/04">
            <comment>/delcorpse</comment>
        </opcode>
        <opcode id="0199" name="OP_Sacrifice" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="01af" name="OP_GMApproval" updated="05/26/04">
            <comment>GM /approval - Name approval duty?</comment>
        </opcode>
        <opcode id="01b2" name="OP_GMToggle" updated="05/26/04">
            <comment>GM /toggle - Toggle ability to receive tells from other PC's</comment>
        </opcode>
        <opcode id="01bc" name="OP_MoneyUpdate" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="01ba" name="OP_ReqZoneObjects" updated="05/26/04">
            <comment>Client requesting zone objects</comment>
        </opcode>
        <opcode id="01c4" name="OP_Translocate" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="01ea" name="OP_RespondAA" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="01ed" name="OP_IncreaseStats" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="01ef" name="OP_ViewPetition" updated="05/26/04">
            <comment>Player /viewpetition</comment>
        </opcode>
        <opcode id="01ff" name="OP_ExpansionSetting" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0205" name="OP_GainMoney" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0225" name="OP_GMZoneRequest2" updated="05/26/04">
            <comment>/zone 2</comment>
        </opcode>
        <opcode id="0245" name="?" implicitlen="6" updated="07/14/04">
            <comment>Unknown, but has implicit length</comment>
        </opcode>
        <opcode id="0261" name="OP_CrashDump" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0263" name="OP_GuildDemote" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="0264" name="OP_ZoneUnavail" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="028b" name="OP_GMSummon" updated="05/26/04">
            <comment>GM /summon - Summon PC to self</comment>
        </opcode>
        <opcode id="0296" name="OP_ItemTextFile" updated="05/26/04">
            <comment>old BookTextCode</comment>
            <payload dir="server" typename="bookTextStruct" sizechecktype="none"/>
        </opcode>
        <opcode id="029e" name="OP_OpenObject" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="028e" name="OP_GMEmoteZone" updated="05/26/04">
            <comment>GM /emotezone - Send zonewide emote</comment>
        </opcode>
        <opcode id="0296" name="OP_ReadBook" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="02b4" name="OP_SummonCorpse" updated="05/26/04">
            <comment>/summoncorpse</comment>
        </opcode>
        <opcode id="02cc" name="OP_ShopItem" updated="05/26/04">
            <comment>Merchant Item data</comment>
        </opcode>
        <opcode id="02d0" name="OP_AdventureRequest" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="02d1" name="OP_AdventureMerchantResponse" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="02d2" name="OP_AdventureMerchantPurchase" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="02e2" name="OP_AdventurePointsUpdate" updated="05/26/04">
            <comment></comment>
        </opcode>
        <opcode id="02ef" name="OP_Adventure" updated="05/26/04">
            <comment>/adventure</comment>
        </opcode>
        <opcode id="1ee8" name="OP_CombatAbility" updated="02/15/05">
            <comment></comment>
        </opcode>
    -->
    </seqopcodes>

  13. #13
    Developer
    Join Date
    Sep 2005
    Posts
    155

    Re: RoF thread

    Nice work! I wish I could figure out those opcodes as fast as you.

    I wish I had some development skills because I bet there is enough agro data being passed to the client to build a nice agro meter in showeq that would show all of the agro on a mob.

  14. #14
    Administrator
    Join Date
    Sep 2005
    Posts
    354

    Re: RoF thread

    Quote Originally Posted by rogues View Post
    Nice work! I wish I could figure out those opcodes as fast as you.

    I wish I had some development skills because I bet there is enough agro data being passed to the client to build a nice agro meter in showeq that would show all of the agro on a mob.
    It gets easier as you look at more logs... I keep reference logs from the same toon, usually one where he zones into the guild hall and one where he is in combat. Comparing the new logs to those that have all the opcodes correct nets a lot of the changes very quickly.

    For the tougher ones, I look at the struct in everquest.h to see what data is in the packet then look for a piece of data to be in the right spot in the packet. For instance, if you see in everquest.h that action2struct reports damage at octet 7 and is 4 octets long, I'll try to capture a packet where I do spell damage and note from EQ how much damage was done. Say the damage is 2416. Convert that to hex (970) then do a search on the log for "70 09" adding a leading 0 before the 9 because data appears in pairs in the log and because packets are "backwards" for some reason. What you should find is a packet that has "70 09" at octet 7. You can then look at other data in the packet to see if it matches what you expect to see from the action2struct. The size is also a good indicator... if it matches everquest.h you probably have the right opcode.

    I've been trying to add notes to zoneopcodes.xml to make finding opcodes easier - either things that generate the packet in EQ if it isn't obvious or the size of the last known correct packet. Makes things a little easier.

    It's a new age jigsaw puzzle, that for me is more fun than playing EQ sometimes. I am weird like that : )

  15. #15
    Registered User
    Join Date
    Mar 2012
    Posts
    21

    Re: RoF thread

    Quote Originally Posted by fransick View Post
    ... spawnshell is throwing tons of warnings ...
    I'm not really playing much these days but I thought I'd drop by to see how it was going with RoF. Doesn't seem like it's needing a major overhaul. Regarding the spawnshell warnings, try changing these values in spawnshell.cpp:

    Change the 2 to a 4:
    Code:
       if(spawn->otherData & 4) {    // aura stuff
    Change the 8 to a 16, and the 16 to a 32:
    Code:
       if(spawn->otherData & 16)
       {
          name = netStream.readText();
          strcpy(spawn->title, name.latin1());
       }
    
    
       if(spawn->otherData & 32)
       {
          name = netStream.readText();
          strcpy(spawn->suffix, name.latin1());
       }

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