1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-01 00:27:44 +00:00

add the unknown CF packet used to reset UI state

This commit is contained in:
collett 2024-06-12 20:36:39 +09:00
parent b68e48abe3
commit 1d8e7344a3
3 changed files with 15 additions and 0 deletions

View file

@ -78,6 +78,7 @@ enum ServerZoneIpcType :
CFPlayerInNeed = 0xF07F, CFPlayerInNeed = 0xF07F,
CFPreferredRole = 0x282, // updated 6.58 hotfix 2 CFPreferredRole = 0x282, // updated 6.58 hotfix 2
CFCancel = 0x384, // updated 6.58 hotfix 2 CFCancel = 0x384, // updated 6.58 hotfix 2
CFUnk = 0x196, // updated 6.58 hotfix 2
SocialRequestError = 0xF0AD, SocialRequestError = 0xF0AD,
CFRegistered = 0x029F, // updated 5.58h CFRegistered = 0x029F, // updated 5.58h

View file

@ -2123,6 +2123,15 @@ namespace Sapphire::Network::Packets::Server
uint32_t unknown2; uint32_t unknown2;
}; };
// used to clear CF state, otherwise the UI stays locked and cannot queue again.
struct FFXIVIpcCFUnk : FFXIVIpcBasePacket< CFUnk >
{
uint16_t cfConditionId;
uint16_t unknown1;
uint32_t five;
uint32_t unknown2[2];
};
struct FFXIVIpcShopMessage : FFXIVIpcBasePacket< ShopMessage > struct FFXIVIpcShopMessage : FFXIVIpcBasePacket< ShopMessage >
{ {
uint32_t shopId; uint32_t shopId;

View file

@ -571,6 +571,11 @@ bool Sapphire::Entity::Player::exitInstance()
p->data().param[3] = d->getContentId(); p->data().param[3] = d->getContentId();
queuePacket( p ); queuePacket( p );
auto p2 = makeZonePacket< FFXIVIpcCFUnk >( getId() );
p2->data().cfConditionId = d->getContentFinderConditionId();
p2->data().five = 5;
queuePacket( p2 );
prepareZoning( 0, 1, 1, 0, 0, 1, 9 ); prepareZoning( 0, 1, 1, 0, 0, 1, 9 );
} }