-
Notifications
You must be signed in to change notification settings - Fork 65
How to find opcodes
srkizer edited this page Jan 5, 2022
·
6 revisions
- Open XivAlexander control window.
- If you closed it before and can't find it, try looking for a cog(gear) icon on your taskbar's right/bottom side.
- Turn off
Network > Latency and Timing Helper > Enable
. - Turn on
Network > Use IPC Type Finder
. - Turn off
Network > Log All IPC Message
. - Turn off
Network > Use Effect Application Delay Logger
. - Turn on
File > Show Logging Window
. - Open opcode editor using
Configure > Edit Opcode Configuration
.
Change all values to ""
, except Server_IpRange
and Server_PortRange
.
Find the values.
- Clear the log using
File > Clear
in Log window before using an action. - Use a few number of actions before you start working on it, as it's easier to identify the right opcodes when sequence number is not too low. Every time you use an action, sequence number will go up by one.
- Use any action.
- Check out the lines with
C2S_ActionRequest/GroundTargeted
. - Find the one with actionId that isn't 0 or 1, which stays the same if you use the same action, and not if you use a different action.
- 08ce is Death Blossom, and is the correct one in this case.
- Find the one with sequence number that increases if you use actions subsequently.
- 0007 is the correct one in this case.
- Since you used only one action, only one attack request message would have been generated.
-
C2S_ActionRequest/GroundTargeted(0x02a2)
is the correct opcode to refer to. - Whether it's
C2S_ActionRequest
orC2S_ActionRequestGroundTargeted
depends on which action you've used.- Ground targeted actions like Sacred Soil, Shukuchi, and Hissatsu: Soten will generate
C2S_ActionRequestGroundTargeted
. - Otherwise, it will generate
C2S_ActionRequest
.
- Ground targeted actions like Sacred Soil, Shukuchi, and Hissatsu: Soten will generate
2021-06-04 23:57:59.985 IpcTypeFinder 0000000000000E88: C2S_ActionRequest/GroundTargeted(0x0337): actionId=0000 sequence=0000
2021-06-04 23:57:59.985 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:57:59 Type=0014 SubType=0337 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:57:59.985 IpcTypeFinder 0000000000000E88: C2S_ActionRequest/GroundTargeted(0x0337): actionId=0000 sequence=0001
2021-06-04 23:57:59.985 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:57:59 Type=0014 SubType=0337 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:58:01.402 IpcTypeFinder 0000000000000E88: C2S_ActionRequest/GroundTargeted(0x0337): actionId=0001 sequence=0001
2021-06-04 23:58:01.402 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:01 Type=0014 SubType=0337 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:58:03.221 IpcTypeFinder 0000000000000E88: C2S_ActionRequest/GroundTargeted(0x02a2): actionId=08ce sequence=0007
2021-06-04 23:58:03.221 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:03 Type=0014 SubType=02a2 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
- Use any action with cooldown, and possibly make it to rollback.
- Spamming NIN Ten(4975) is the best way to cause the game to rollback the action.
- Check out the lines with
S2C_ActorControlSelf
. - Find the one with actionId that you've just used.
- 08ce and 4975 are correct.
- If it's
Cooldown
, see if the duration matches the cooldown of the action you've just used.- 246 is correct. (2.46 seconds)
- If it's
Rollback
, see if sourceSequence matches the sequence fromC2S_ActionRequest/GroundTargeted
. -
S2C_ActorControlSelf(0x035a)
is the correct opcode to refer to.
2021-06-04 23:58:03.421 IpcTypeFinder 0000000000000E88: S2C_ActorControlSelf(0x035a): Cooldown: actionId=08ce duration=246
2021-06-04 23:58:03.421 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:03 Type=0014 SubType=035a Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-05 00:16:55.848 IpcTypeFinder 0000000000000E88: S2C_ActorControlSelf(0x035a): Rollback: actionId=4975 sourceSequence=0015
2021-06-05 00:16:55.848 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-05 00:16:56 Type=0014 SubType=035a Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
- Use any action that is a cast.
- Check out the lines with
S2C_ActorCast
. - Find the one with corresponding
time
.- 1.459 is correct.
- Find the one with actionId that you've just used.
- 0078 (Cure) is correct.
-
S2C_ActorCast(0x00a9)
is the correct opcode to refer to.
2021-06-05 00:21:02.529 IpcTypeFinder 0000000000000E88: S2C_ActorCast(0x00a9): actionId=0078 time=1.459 target=********
2021-06-05 00:21:02.529 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-05 00:21:02 Type=0014 SubType=00a9 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:58:03.421 IpcTypeFinder 0000000000000E88: S2C_ActorCast(0x035a): actionId=0011 time=0.000 target=000000f6
2021-06-04 23:58:03.421 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:03 Type=0014 SubType=035a Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:58:04.488 IpcTypeFinder 0000000000000E88: S2C_ActorCast(0x035a): actionId=0018 time=0.000 target=00000000
2021-06-04 23:58:04.488 IpcTypeFinder [IpcTypeFinder] Length=64 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:04 Type=0014 SubType=035a Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
- Use any action.
- Anything that prints longer binary dump is probably a
S2C_ActionEffect
material. - If you hit 1 target, then the response is about
S2C_ActionEffect01
with length9c
. - If you either miss or hit 2 to 8 targets, then the response is about
S2C_ActionEffect08
with length29c
. - If you hit 9 to 16 targets, then the response is about
S2C_ActionEffect16
with length4dc
. - If you hit 17 to 24 targets, then the response is about
S2C_ActionEffect24
with length71c
. - If you hit 25 to 32 targets, then the response is about
S2C_ActionEffect32
with length95c
. - If you hit more than that, the game will process only 32 targets, and leave other adds alone.
- Unsynced Sastasha is the best place to mass pull.
-
S2C_AttackResponse01(0x0283)
andS2C_ActionEffect08(0x025b)
are the correct opcodes to refer to.
2021-06-05 00:24:03.895 IpcTypeFinder 0000000000000E88: S2C_AttackResponse01(0x0283) length=9c actionId=0078 sequence=0019 wait=0.100
2021-06-05 00:24:03.895 IpcTypeFinder [IpcTypeFinder] Length=156 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-05 00:24:04 Type=0014 SubType=0283 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
2021-06-04 23:58:03.421 IpcTypeFinder 0000000000000E88: S2C_ActionEffect08(0x025b) length=29c actionId=08ce sequence=0007 wait=0.600
2021-06-04 23:58:03.421 IpcTypeFinder [IpcTypeFinder] Length=668 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-04 23:58:03 Type=0014 SubType=025b Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
- Use a casted action, and cancel it by moving.
- Find the one with actionId that you've just used.
- 0078 (Cure) is correct.
-
S2C_ActorControl(0x01c8)
is the correct opcode to refer to.
2021-06-05 00:27:49.032 IpcTypeFinder 0000000000000E88: S2C_ActorControl(0x01c8): CancelCast: actionId=0038
2021-06-05 00:27:49.032 IpcTypeFinder [IpcTypeFinder] Length=56 Source=******** Current=******** Type=3
FFXIVMessage 2021-06-05 00:27:49 Type=0014 SubType=01c8 Unknown1=0000 SeqId=022c Unknown2=00000000
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
S2C_EffectResult5
is applicable for FFXIV Version 5.xx, and S2C_EffectResult6
and S2C_EffectResult6Basic
are for 6.xx.
- Use an action that will grant you a buff, like Protect, Bloodbath, Rampart, or Temperance.
- If HP, MP, and duration in buff list looks correct, then it's probably it.
-
S2C_EffectResult5(0x01e9)
is the correct opcode to refer to.
2021-06-05 00:30:51.449 IpcTypeFinder 0000000000000E88: S2C_EffectResult5(0x01e9): relatedActionSequence=00001fe4 actorId=******** HP=70654/70654 MP=10000 shield=0
effectId=0750 duration=20.000000 sourceActorId=********
effectId=0751 duration=5.000000 sourceActorId=********