mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-24 05:37:46 +00:00
Got rid of some garbage packets. Emote packet implemented though bug with descriptions.
This commit is contained in:
parent
810edfcee4
commit
d3325676c5
22 changed files with 49 additions and 4 deletions
|
@ -80,6 +80,7 @@
|
||||||
<Compile Include="packets\receive\LockTargetPacket.cs" />
|
<Compile Include="packets\receive\LockTargetPacket.cs" />
|
||||||
<Compile Include="packets\receive\EndScriptPacket.cs" />
|
<Compile Include="packets\receive\EndScriptPacket.cs" />
|
||||||
<Compile Include="packets\receive\StartScriptPacket.cs" />
|
<Compile Include="packets\receive\StartScriptPacket.cs" />
|
||||||
|
<Compile Include="packets\send\actor\ActorDoEmotePacket.cs" />
|
||||||
<Compile Include="packets\send\actor\DeleteAllActorsPacket.cs" />
|
<Compile Include="packets\send\actor\DeleteAllActorsPacket.cs" />
|
||||||
<Compile Include="packets\send\actor\inventory\EquipmentChangePacket.cs" />
|
<Compile Include="packets\send\actor\inventory\EquipmentChangePacket.cs" />
|
||||||
<Compile Include="packets\send\actor\inventory\InventoryBeginChangePacket.cs" />
|
<Compile Include="packets\send\actor\inventory\InventoryBeginChangePacket.cs" />
|
||||||
|
|
|
@ -307,6 +307,8 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
break;
|
break;
|
||||||
//Set Target
|
//Set Target
|
||||||
case 0x00CD:
|
case 0x00CD:
|
||||||
|
subpacket.debugPrintSubPacket();
|
||||||
|
|
||||||
SetTargetPacket setTarget = new SetTargetPacket(subpacket.data);
|
SetTargetPacket setTarget = new SetTargetPacket(subpacket.data);
|
||||||
player.setTarget(setTarget.actorID);
|
player.setTarget(setTarget.actorID);
|
||||||
client.queuePacket(BasePacket.createPacket(SetActorTargetAnimatedPacket.buildPacket(player.actorID, player.actorID, setTarget.actorID), true, false));
|
client.queuePacket(BasePacket.createPacket(SetActorTargetAnimatedPacket.buildPacket(player.actorID, player.actorID, setTarget.actorID), true, false));
|
||||||
|
@ -319,8 +321,9 @@ namespace FFXIVClassic_Lobby_Server
|
||||||
//Start Script
|
//Start Script
|
||||||
case 0x012D:
|
case 0x012D:
|
||||||
subpacket.debugPrintSubPacket();
|
subpacket.debugPrintSubPacket();
|
||||||
StartScriptPacket startScript = new StartScriptPacket(subpacket.data);
|
//StartScriptPacket startScript = new StartScriptPacket(subpacket.data);
|
||||||
client.queuePacket(new BasePacket("./packets/script/bed.bin"));
|
//client.queuePacket(new BasePacket("./packets/script/bed.bin"));
|
||||||
|
client.queuePacket(BasePacket.createPacket(ActorDoEmotePacket.buildPacket(player.actorID, player.getTargetedActor(), 137), true, false));
|
||||||
break;
|
break;
|
||||||
//Script Result
|
//Script Result
|
||||||
case 0x012E:
|
case 0x012E:
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -18,8 +18,8 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
||||||
public uint characterID = 0;
|
public uint characterID = 0;
|
||||||
public uint actorID = 0;
|
public uint actorID = 0;
|
||||||
|
|
||||||
private uint currentTarget = 0;
|
private uint currentTarget = 0xC0000000;
|
||||||
private uint currentLockedTarget = 0;
|
private uint currentLockedTarget = 0xC0000000;
|
||||||
|
|
||||||
private uint currentZoneID = 0;
|
private uint currentZoneID = 0;
|
||||||
|
|
||||||
|
@ -121,5 +121,10 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
||||||
{
|
{
|
||||||
currentLockedTarget = actorID;
|
currentLockedTarget = actorID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public uint getTargetedActor()
|
||||||
|
{
|
||||||
|
return currentTarget;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
using FFXIVClassic_Lobby_Server.packets;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FFXIVClassic_Map_Server.packets.send.actor
|
||||||
|
{
|
||||||
|
class ActorDoEmotePacket
|
||||||
|
{
|
||||||
|
public const ushort OPCODE = 0x00E1;
|
||||||
|
public const uint PACKET_SIZE = 0x30;
|
||||||
|
|
||||||
|
public static SubPacket buildPacket(uint playerActorID, uint targetActorID, uint emoteID)
|
||||||
|
{
|
||||||
|
byte[] data = new byte[PACKET_SIZE - 0x20];
|
||||||
|
|
||||||
|
using (MemoryStream mem = new MemoryStream(data))
|
||||||
|
{
|
||||||
|
using (BinaryWriter binWriter = new BinaryWriter(mem))
|
||||||
|
{
|
||||||
|
uint realAnimID = 0x5000000 | ((emoteID - 100) << 12);
|
||||||
|
uint realDescID = 20000 + ((emoteID - 1) * 10) + (targetActorID == playerActorID || targetActorID == 0xC0000000 ? (uint)2 : (uint)1);
|
||||||
|
binWriter.Write((UInt32)realAnimID);
|
||||||
|
binWriter.Write((UInt32)targetActorID);
|
||||||
|
binWriter.Write((UInt32)realDescID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SubPacket packet = new SubPacket(OPCODE, playerActorID, targetActorID, data);
|
||||||
|
return packet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue