Started doing multiplayer stuff.

This commit is contained in:
Filip Maj 2015-10-13 22:58:21 -04:00
parent 7116c96b2f
commit 1d20f8b8b8
6 changed files with 17 additions and 5 deletions

View File

@ -215,7 +215,7 @@ namespace FFXIVClassic_Lobby_Server
client.queuePacket(reply5);
client.queuePacket(BasePacket.createPacket(AddActorPacket.buildPacket(player.actorID, player.actorID), true, false));
client.queuePacket(BasePacket.createPacket(AddActorPacket.buildPacket(player.actorID, player.actorID, 0), true, false));
client.queuePacket(reply6);
@ -308,9 +308,11 @@ namespace FFXIVClassic_Lobby_Server
break;
//Update Position
case 0x00CA:
//Update Position
UpdatePlayerPositionPacket posUpdate = new UpdatePlayerPositionPacket(subpacket.data);
player.updatePlayerActorPosition(posUpdate.x, posUpdate.y, posUpdate.z, posUpdate.rot, posUpdate.moveState);
//Update Instance
List<BasePacket> instanceUpdatePackets = player.updateInstance(inn.getActorsAroundActor(player.getActor(), 50));
foreach (BasePacket bp in instanceUpdatePackets)
client.queuePacket(bp);

Binary file not shown.

View File

@ -124,9 +124,16 @@ namespace FFXIVClassic_Map_Server.dataobjects
continue;
if (actorInstanceList.Contains(actor))
{
posUpdateSubpackets.Add(actor.createPositionUpdatePacket(playerActor.actorID));
}
else
basePackets.Add(actor.createActorSpawnPackets(playerActor.actorID));
{
BasePacket p = actor.createActorSpawnPackets(playerActor.actorID);
p.replaceActorID(0x29b27d3, playerActor.actorID);
basePackets.Add(p);
actorInstanceList.Add(actor);
}
}
basePackets.Add(BasePacket.createPacket(posUpdateSubpackets, true, false));

View File

@ -12,9 +12,12 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
public const ushort OPCODE = 0x00CA;
public const uint PACKET_SIZE = 0x28;
public static SubPacket buildPacket(uint playerActorID, uint actorID)
public static SubPacket buildPacket(uint playerActorID, uint actorID, byte val)
{
return new SubPacket(OPCODE, playerActorID, actorID, new byte[8]);
byte[] data = new byte[PACKET_SIZE-0x20];
data[0] = val; //Why?
return new SubPacket(OPCODE, playerActorID, actorID, data);
}
}