mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Implement the actor initial position packet and set state packet.
This commit is contained in:
		| @@ -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)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user