mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Implement the actor initial position packet and set state packet.
This commit is contained in:
parent
af2262c4b1
commit
327dfc656b
@ -84,11 +84,13 @@
|
||||
<Compile Include="packets\send\actor\inventory\InventorySetBeginPacket.cs" />
|
||||
<Compile Include="packets\send\actor\inventory\InventorySetEndPacket.cs" />
|
||||
<Compile Include="packets\send\actor\inventory\EquipmentSetupPacket.cs" />
|
||||
<Compile Include="packets\send\actor\RemoveActorPacket.cs" />
|
||||
<Compile Include="packets\send\actor\SetActorNamePacket.cs" />
|
||||
<Compile Include="packets\send\actor\SetActorSpeedPacket.cs" />
|
||||
<Compile Include="packets\send\actor\SetActorStatePacket.cs" />
|
||||
<Compile Include="packets\send\login\0x2Packet.cs" />
|
||||
<Compile Include="packets\send\actor\AddActorPacket.cs" />
|
||||
<Compile Include="packets\send\actor\MoveActorToPositionPacket.cs" />
|
||||
<Compile Include="packets\send\actor\RemoveActorPacketPacket.cs" />
|
||||
<Compile Include="packets\send\actor\SetActorAppearancePacket.cs" />
|
||||
<Compile Include="packets\send\actor\SetActorPositionPacket.cs" />
|
||||
<Compile Include="packets\send\login\InitPacket.cs" />
|
||||
@ -102,7 +104,6 @@
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Server.cs" />
|
||||
<Compile Include="UnknownLoginPacket.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
|
@ -181,6 +181,7 @@ namespace FFXIVClassic_Lobby_Server
|
||||
|
||||
BasePacket reply5 = new BasePacket("./packets/login/login5.bin");
|
||||
BasePacket reply6 = new BasePacket("./packets/login/login6_data.bin");
|
||||
BasePacket reply62 = new BasePacket("./packets/login/login6_2.bin");
|
||||
BasePacket reply7 = new BasePacket("./packets/login/login7_data.bin");
|
||||
BasePacket reply8 = new BasePacket("./packets/login/login8_data.bin");
|
||||
BasePacket reply9 = new BasePacket("./packets/login/login9_zonesetup.bin");
|
||||
@ -204,9 +205,13 @@ namespace FFXIVClassic_Lobby_Server
|
||||
|
||||
client.queuePacket(BasePacket.createPacket(SetMapPacket.buildPacket(player.actorID, 0xD1), true, false));
|
||||
client.queuePacket(BasePacket.createPacket(_0x2Packet.buildPacket(player.actorID), true, false));
|
||||
|
||||
client.queuePacket(reply5);
|
||||
client.queuePacket(reply6);
|
||||
|
||||
|
||||
client.queuePacket(BasePacket.createPacket(player.getActor().createSpeedPacket(player.actorID), true, false));
|
||||
client.queuePacket(BasePacket.createPacket(player.getActor().createStatePacket(player.actorID), true, false));
|
||||
|
||||
client.queuePacket(BasePacket.createPacket(player.getActor().createNamePacket(player.actorID), true, false));
|
||||
client.queuePacket(BasePacket.createPacket(player.getActor().createAppearancePacket(player.actorID), true, false));
|
||||
|
||||
|
@ -92,5 +92,15 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
||||
return setappearance.buildPacket(playerActorID, actorID);
|
||||
}
|
||||
|
||||
public SubPacket createStatePacket(uint playerActorID)
|
||||
{
|
||||
return SetActorStatePacket.buildPacket(playerActorID, actorID, SetActorStatePacket.STATE_PASSIVE);
|
||||
}
|
||||
|
||||
public SubPacket createSpeedPacket(uint playerActorID)
|
||||
{
|
||||
return SetActorSpeedPacket.buildPacket(playerActorID, actorID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,16 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
|
||||
public const ushort OPCODE = 0x00CE;
|
||||
public const uint PACKET_SIZE = 0x48;
|
||||
|
||||
public static SubPacket buildPacket(uint playerActorID, uint actorID)
|
||||
public const uint SPAWNTYPE_NORMAL = 1;
|
||||
public const uint SPAWNTYPE_WARP1 = 2;
|
||||
public const uint SPAWNTYPE_WARP2 = 3;
|
||||
|
||||
public const float INNPOS_X = 157.550003f;
|
||||
public const float INNPOS_Y = 000.000000f;
|
||||
public const float INNPOS_Z = 165.050003f;
|
||||
public const float INNPOS_ROT = -1.530000f;
|
||||
|
||||
public static SubPacket buildPacket(uint playerActorID, uint actorID, float x, float y, float z, float rotation)
|
||||
{
|
||||
byte[] data = new byte[PACKET_SIZE-0x20];
|
||||
|
||||
@ -21,13 +30,16 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
|
||||
{
|
||||
using (BinaryWriter binWriter = new BinaryWriter(mem))
|
||||
{
|
||||
|
||||
binWriter.Write((Int32)0);
|
||||
binWriter.Write((Int32)0);
|
||||
binWriter.Write((Single)x);
|
||||
binWriter.Write((Single)y);
|
||||
binWriter.Write((Single)z);
|
||||
binWriter.Write((Single)rotation);
|
||||
}
|
||||
data = mem.GetBuffer();
|
||||
}
|
||||
|
||||
SubPacket packet = new SubPacket(OPCODE, playerActorID, actorID, data);
|
||||
return packet;
|
||||
return new SubPacket(OPCODE, playerActorID, actorID, data);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,9 +19,11 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
|
||||
|
||||
public static SubPacket buildPacket(uint playerActorID, uint targetID, uint state)
|
||||
{
|
||||
byte[] data = new byte[PACKET_SIZE - 0x20];
|
||||
ulong combined = 0;
|
||||
|
||||
return new SubPacket(OPCODE, playerActorID, targetID, data);
|
||||
combined |= state;
|
||||
|
||||
return new SubPacket(OPCODE, playerActorID, targetID, BitConverter.GetBytes(combined));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user