mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 22:37:45 +00:00
Prperational work for linkshells
This commit is contained in:
parent
f0213847a3
commit
669f6a177c
5 changed files with 33 additions and 80 deletions
|
@ -1,61 +0,0 @@
|
|||
// This is an automatically generated chai script template
|
||||
// Content needs to be added by hand to make it function
|
||||
// In order for this script to be loaded, change its extension to .chai
|
||||
|
||||
|
||||
// Quest Script: SubFst004_00027
|
||||
// Quest Name: Preserving the Past
|
||||
// Quest ID: 65563
|
||||
// Start NPC: 1000194
|
||||
// End NPC: 1000789
|
||||
|
||||
class CmnDefCutSceneReplayDef
|
||||
{
|
||||
// Basic quest information
|
||||
var quest_name
|
||||
var quest_id
|
||||
|
||||
// These are the quest vars / flags used in this quest
|
||||
// GetQuestUI8AL
|
||||
// GetQuestUI8BH
|
||||
|
||||
// Available Scenes in this quest, not necessarly all are used
|
||||
attr onScene00000;
|
||||
|
||||
// Quest rewards
|
||||
var RewardExpFactor;
|
||||
var RewardItem;
|
||||
var RewardItemCount;
|
||||
|
||||
// Entities found in the script data of the quest
|
||||
// some of these may be useful
|
||||
var ACTOR0;
|
||||
var ACTOR1;
|
||||
var ACTOR2;
|
||||
var ITEM0;
|
||||
|
||||
def CmnDefCutSceneReplayDef()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
def Scene00000( player, eventId, flags, unk, unk1 )
|
||||
{
|
||||
player.eventPlay(eventId, 0, 0x2000, unk, 1,
|
||||
fun( player, eventId, subEvent, param1, param2, param3 )
|
||||
{
|
||||
player.eventFinish(eventId, 1);
|
||||
} );
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
def CmnDefCutSceneReplay_START(player, actorId, eventId)
|
||||
{
|
||||
var quest = CmnDefCutSceneReplay();
|
||||
var actor = mapActor( actorId );
|
||||
|
||||
player.eventStart( actorId, eventId, 1, 0, 0 );
|
||||
CmnDefCutSceneReplay.Scene00000( player, eventId, 0, 0, 0 );
|
||||
}
|
|
@ -127,43 +127,39 @@ namespace Packets {
|
|||
enum ClientZoneIpcType : uint16_t
|
||||
{
|
||||
|
||||
TellChatHandler = 0x0064,// updated for sb
|
||||
PingHandler = 0x0065, // updated for sb
|
||||
InitHandler = 0x0066, // updated for sb
|
||||
ChatHandler = 0x0067, // updated for sb
|
||||
|
||||
PingHandler = 0x0065,// updated for sb
|
||||
InitHandler = 0x0066,// updated for sb
|
||||
ChatHandler = 0x0067,// updated for sb
|
||||
|
||||
FinishLoadingHandler = 0x0069,// updated for sb
|
||||
FinishLoadingHandler = 0x0069, // updated for sb
|
||||
|
||||
CFCommenceHandler = 0x006F,
|
||||
CFRegisterDuty = 0x0071,
|
||||
CFRegisterRoulette = 0x0072,
|
||||
|
||||
PlayTimeHandler = 0x0073,// updated for sb
|
||||
LogoutHandler = 0x0074,// updated for sb
|
||||
PlayTimeHandler = 0x0073, // updated for sb
|
||||
LogoutHandler = 0x0074, // updated for sb
|
||||
|
||||
CFDutyInfoHandler = 0x0078,
|
||||
|
||||
SocialReqSendHandler = 0x00A5,
|
||||
SocialListHandler = 0x00AA,// updated for sb
|
||||
SetSearchInfoHandler = 0x00AC,// updated for sb
|
||||
SocialListHandler = 0x00AA, // updated for sb
|
||||
SetSearchInfoHandler = 0x00AC, // updated for sb
|
||||
|
||||
ReqSearchInfoHandler = 0x00AD,
|
||||
|
||||
BlackListHandler = 0x00B7,// updated for sb
|
||||
BlackListHandler = 0x00B7, // updated for sb
|
||||
|
||||
LinkshellListHandler = 0x00BF,// updated for sb
|
||||
LinkshellListHandler = 0x00BF, // updated for sb
|
||||
|
||||
FcInfoReqHandler = 0x0100,// updated for sb
|
||||
FcInfoReqHandler = 0x0100, // updated for sb
|
||||
|
||||
ZoneLineHandler = 0x0107, // updated for sb
|
||||
ActionHandler = 0x0108,// updated for sb
|
||||
|
||||
DiscoveryHandler = 0x0109,// updated for sb
|
||||
ActionHandler = 0x0108, // updated for sb
|
||||
DiscoveryHandler = 0x0109, // updated for sb
|
||||
|
||||
SkillHandler = 0x010B, // updated for sb
|
||||
GMCommand1 = 0x010C,// updated for sb
|
||||
GMCommand2 = 0x010D,// updated for sb
|
||||
GMCommand1 = 0x010C, // updated for sb
|
||||
GMCommand2 = 0x010D, // updated for sb
|
||||
UpdatePositionHandler = 0x010F, // updated for sb
|
||||
|
||||
InventoryModifyHandler = 0x0116, // updated for sb
|
||||
|
@ -176,6 +172,8 @@ namespace Packets {
|
|||
|
||||
ReturnEventHandler = 0x0128,
|
||||
TradeReturnEventHandler = 0x0129,
|
||||
|
||||
LinkshellEventHandler = 0x013C,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -85,6 +85,8 @@ Core::Network::GameConnection::GameConnection( Core::Network::HivePtr pHive,
|
|||
setZoneHandler( ClientZoneIpcType::ReturnEventHandler, "EventHandlerReturn", &GameConnection::eventHandler );
|
||||
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler, "EventHandlerReturn", &GameConnection::eventHandler );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler, "LinkshellEventHandler", &GameConnection::eventHandler );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::CFDutyInfoHandler, "CFDutyInfoRequest", &GameConnection::cfDutyInfoRequest );
|
||||
setZoneHandler( ClientZoneIpcType::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
||||
setZoneHandler( ClientZoneIpcType::CFRegisterRoulette, "CFRegisterRoulette", &GameConnection::cfRegisterRoulette );
|
||||
|
|
|
@ -129,6 +129,16 @@ void Core::Network::GameConnection::eventHandler( const Packets::GamePacket& inP
|
|||
break;
|
||||
}
|
||||
|
||||
case ClientZoneIpcType::LinkshellEventHandler:
|
||||
{
|
||||
uint32_t eventId = inPacket.getValAt< uint32_t >( 0x20 );
|
||||
uint16_t subEvent = inPacket.getValAt< uint16_t >( 0x24 );
|
||||
std::string lsName = inPacket.getStringAt( 0x27 );
|
||||
|
||||
abortEventFunc( pPlayer, 0, eventId );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -569,6 +569,7 @@ void Core::Network::GameConnection::tellHandler( const Packets::GamePacket& inPa
|
|||
pTargetPlayer->hasStateFlag( PlayerStateFlag::BetweenAreas1 ) )
|
||||
{
|
||||
// send error for player between areas
|
||||
// TODO: implement me
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -576,18 +577,21 @@ void Core::Network::GameConnection::tellHandler( const Packets::GamePacket& inPa
|
|||
pTargetPlayer->hasStateFlag( PlayerStateFlag::BoundByDuty1 ) )
|
||||
{
|
||||
// send error for player bound by duty
|
||||
// TODO: implement me
|
||||
return;
|
||||
}
|
||||
|
||||
if( pTargetPlayer->getOnlineStatus() == OnlineStatus::Busy )
|
||||
{
|
||||
// send error for player being busy
|
||||
// TODO: implement me ( i've seen this done with packet type 67 i think )
|
||||
return;
|
||||
}
|
||||
|
||||
GamePacketNew< FFXIVIpcTell, ServerChatIpcType > tellPacket( pPlayer->getId() );
|
||||
strcpy( tellPacket.data().msg, msg.c_str() );
|
||||
strcpy( tellPacket.data().receipientName, targetPcName.c_str() );
|
||||
// TODO: do these have a meaning?
|
||||
//tellPacket.data().u1 = 0x92CD7337;
|
||||
//tellPacket.data().u2a = 0x2E;
|
||||
//tellPacket.data().u2b = 0x40;
|
||||
|
|
Loading…
Add table
Reference in a new issue