mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 06:47:45 +00:00
fix CF register
This commit is contained in:
parent
6953dfc6f2
commit
f5149c9625
3 changed files with 10 additions and 13 deletions
|
@ -341,10 +341,10 @@ enum ClientZoneIpcType :
|
||||||
|
|
||||||
FinishLoadingHandler = 0x12A, // updated 6.58 hotfix 2
|
FinishLoadingHandler = 0x12A, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
CFCommenceHandler = 0x0381, // updated 5.58h
|
CFCommenceHandler = 0x0242, // updated 6.58 hotfix 2
|
||||||
|
|
||||||
CFCancelHandler = 0x02B2, // updated 5.58h
|
CFCancelHandler = 0x02B2, // updated 5.58h
|
||||||
CFRegisterDuty = 0x01BD, // updated 5.58h
|
CFRegisterDuty = 0x0312, // updated 6.58 hotfix 2
|
||||||
CFRegisterRoulette = 0x037A, // updated 5.58h
|
CFRegisterRoulette = 0x037A, // updated 5.58h
|
||||||
PlayTimeHandler = 0x02B7, // updated 5.58h
|
PlayTimeHandler = 0x02B7, // updated 5.58h
|
||||||
LogoutHandler = 0x384, // updated 6.58 hotfix 2
|
LogoutHandler = 0x384, // updated 6.58 hotfix 2
|
||||||
|
|
|
@ -1607,15 +1607,12 @@ namespace Sapphire::Network::Packets::Server
|
||||||
*/
|
*/
|
||||||
struct FFXIVIpcCFNotify : FFXIVIpcBasePacket< CFNotify >
|
struct FFXIVIpcCFNotify : FFXIVIpcBasePacket< CFNotify >
|
||||||
{
|
{
|
||||||
uint32_t state1; // 3 = cancelled, 4 = duty ready
|
uint32_t state1;
|
||||||
uint32_t state2; // if state1 == 3, state2 is cancelled reason
|
uint32_t unknown[5];
|
||||||
|
|
||||||
uint32_t param1; // usually classJobId
|
uint32_t unknown_one;
|
||||||
uint32_t param2; // usually flag
|
|
||||||
uint32_t param3; // usually languages, sometimes join in progress timestamp
|
|
||||||
|
|
||||||
uint16_t param4; // usually roulette id
|
|
||||||
uint16_t contents[5];
|
uint16_t contents[5];
|
||||||
|
uint16_t padding;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,7 +46,7 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
||||||
Packets::FFXIVARR_PACKET_RAW copy = inPacket;
|
Packets::FFXIVARR_PACKET_RAW copy = inPacket;
|
||||||
std::vector< uint16_t > selectedContent;
|
std::vector< uint16_t > selectedContent;
|
||||||
|
|
||||||
for( uint32_t offset = 0x1E; offset <= 0x26; offset += 0x2 )
|
for( uint32_t offset = 0x2A; offset <= 0x32; offset += 0x2 )
|
||||||
{
|
{
|
||||||
auto id = *reinterpret_cast< uint16_t* >( ©.data[ offset ] );
|
auto id = *reinterpret_cast< uint16_t* >( ©.data[ offset ] );
|
||||||
if( id == 0 )
|
if( id == 0 )
|
||||||
|
@ -64,9 +64,9 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
||||||
player.sendDebug( "Duty register request for contentFinderConditionId#{0}", contentFinderConditionId );
|
player.sendDebug( "Duty register request for contentFinderConditionId#{0}", contentFinderConditionId );
|
||||||
player.m_cfNotifiedContent = contentFinderConditionId;
|
player.m_cfNotifiedContent = contentFinderConditionId;
|
||||||
auto notify = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
auto notify = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||||
notify->data().state1 = 8195;
|
notify->data().state1 = 3;
|
||||||
notify->data().param3 = 1;
|
notify->data().unknown_one = 1;
|
||||||
notify->data().param4 = contentFinderConditionId;
|
notify->data().contents[ 0 ] = contentFinderConditionId;
|
||||||
player.queuePacket( notify );
|
player.queuePacket( notify );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue