1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 06:27:45 +00:00

Fixed tell, fixed examine, fixed equipping gear, fixed itemlevel

This commit is contained in:
Mordred 2019-01-12 22:53:16 +01:00
parent f2080a6cbf
commit 87dcbd87fd
6 changed files with 24 additions and 23 deletions

View file

@ -185,7 +185,7 @@ enum ActorControlType : uint16_t
LogMsg = 0x205, // LogMessage?
AchievementMsg = 0x206,
SetItemLevel = 0x207, //updated 4.5 ( 0x209 before )
SetItemLevel = 0x209,
ChallengeEntryCompleteMsg = 0x20B,
ChallengeEntryUnlockMsg = 0x20C,

View file

@ -13,25 +13,20 @@ namespace Server {
* Structural representation of the packet sent by the server as response
* to a tell request
*/
struct FFXIVIpcTell :
FFXIVIpcBasePacket< Tell >
struct FFXIVIpcTell : FFXIVIpcBasePacket< Tell >
{
uint32_t u1;
uint16_t u2a;
uint16_t u2b;
uint64_t contentId;
uint16_t worldId;
uint8_t preName;
uint8_t u3a;
bool isGm;
char receipientName[32];
char msg[1031];
char msg[1029];
};
/**
* Structural representation of the packet sent by the server as response
* to a failed tell because of unavailable target player
*/
struct FFXIVIpcTellErrNotFound :
FFXIVIpcBasePacket< TellErrNotFound >
struct FFXIVIpcTellErrNotFound : FFXIVIpcBasePacket< TellErrNotFound >
{
char receipientName[32];
};

View file

@ -138,10 +138,10 @@ namespace Sapphire::Network::Packets
ActorOwner = 0x0187, // updated 4.5
PlayerStateFlags = 0x0188, // updated 4.5
PlayerClassInfo = 0x0189, // updated 4.5
ModelEquip = 0x018A, // updated 4.5
Examine = 0x018B, // updated 4.5
ModelEquip = 0x018B, // updated 4.5
Examine = 0x018C, // updated 4.5
CharaNameReq = 0x018D, // updated 4.5
SetLevelSync = 0x0186, // not updated for 4.4, not sure what it is anymore
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x0196, // updated 4.5
ContainerInfo = 0x0197, // updated 4.5

View file

@ -147,12 +147,16 @@ struct FFXIVIpcSetSearchInfo :
/* 0012 */ char searchComment[193];
};
struct FFXIVIpcTellHandler :
FFXIVIpcBasePacket< TellReq >
struct FFXIVIpcTellHandler : FFXIVIpcBasePacket< TellReq >
{
/* 0000 */ char pad_0000[4];
uint64_t contentId;
uint16_t worldId;
uint16_t u0A;
uint32_t u0C;
uint16_t worldId1;
uint8_t preName;
/* 0004 */ char targetPCName[32];
/* 0024 */ char message[1012];
/* 0024 */ char message[1029];
};
struct FFXIVIpcChatHandler :

View file

@ -853,7 +853,8 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI >
unsigned char companionDefRank;
unsigned char companionAttRank;
unsigned char companionHealRank;
unsigned char unknown21A[19];
unsigned char u19[2];
unsigned char mountGuideMask[17];
char name[32];
unsigned char unknownOword[16];
unsigned char unknownOw;
@ -906,7 +907,6 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI >
unsigned char clearedGuildhests[10];
unsigned char clearedTrials[8];
unsigned char clearedPvp[5];
unsigned char mountGuideMask[17];
unsigned short fishingRecordsFishWeight[26];
unsigned int exploratoryMissionNextTimestamp;
unsigned char pvpLevel;
@ -917,8 +917,7 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI >
* Structural representation of the packet sent by the server
* to set a players stats
*/
struct FFXIVIpcPlayerStats :
FFXIVIpcBasePacket< PlayerStats >
struct FFXIVIpcPlayerStats : FFXIVIpcBasePacket< PlayerStats >
{
uint32_t strength;
uint32_t dexterity;

View file

@ -652,13 +652,16 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
auto tellPacket = makeChatPacket< FFXIVIpcTell >( player.getId() );
strcpy( tellPacket->data().msg, packet.data().message );
strcpy( tellPacket->data().receipientName, player.getName().c_str() );
// TODO: world id from server
tellPacket->data().contentId = player.getContentId();
tellPacket->data().worldId = 67;
// TODO: do these have a meaning?
//tellPacket.data().u1 = 0x92CD7337;
//tellPacket.data().u2a = 0x2E;
//tellPacket.data().u2b = 0x40;
if( player.isActingAsGm() )
{
tellPacket->data().isGm = true;
//tellPacket->data().isGm = true;
}
pTargetPlayer->queueChatPacket( tellPacket );