mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Added the game message packets. Fixed "canRideChocobo" param in zone not working. Added a lot more function for lua to access. Various minor changes.
This commit is contained in:
		| @@ -0,0 +1,30 @@ | ||||
| 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 BattleAction1Packet | ||||
|     { | ||||
|         public const ushort OPCODE = 0x0139; | ||||
|         public const uint PACKET_SIZE = 0x58; | ||||
|  | ||||
|         public static SubPacket buildPacket(uint sourceId, uint targetId) | ||||
|         { | ||||
|             byte[] data = new byte[PACKET_SIZE - 0x20]; | ||||
|  | ||||
|             using (MemoryStream mem = new MemoryStream(data)) | ||||
|             { | ||||
|                 using (BinaryWriter binWriter = new BinaryWriter(mem)) | ||||
|                 {                     | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             return new SubPacket(OPCODE, sourceId, targetId, data); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -60,14 +60,13 @@ namespace FFXIVClassic_Map_Server.packets.send.actor | ||||
|                     binWriter.Write((Single)walkSpeed); | ||||
|                     binWriter.Write((UInt32)1); | ||||
|  | ||||
|                     binWriter.Write((UInt16)00); | ||||
|                     binWriter.Write((Single)runSpeed); | ||||
|                     binWriter.Write((UInt32)2); | ||||
|                      | ||||
|                     binWriter.Write((Single)runSpeed); | ||||
|                     binWriter.Write((UInt32)3); | ||||
|  | ||||
|                     binWriter.BaseStream.Seek(0x90, SeekOrigin.Begin); | ||||
|                     binWriter.BaseStream.Seek(0x80, SeekOrigin.Begin); | ||||
|  | ||||
|                     binWriter.Write((UInt32)5); | ||||
|                 } | ||||
|   | ||||
| @@ -11,53 +11,53 @@ namespace FFXIVClassic_Map_Server.packets.send | ||||
| { | ||||
|     class GameMessagePacket | ||||
|     {         | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR1 = 0x157; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR2 = 0x158; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR3 = 0x159; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR4 = 0x15a; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR5 = 0x15b; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR1 = 0x157; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR2 = 0x158; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR3 = 0x159; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR4 = 0x15a; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_ACTOR5 = 0x15b; | ||||
|  | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER1 = 0x15c; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER2 = 0x15d; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER3 = 0x15e; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER4 = 0x15f; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER5 = 0x160; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER1 = 0x15c; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER2 = 0x15d; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER3 = 0x15e; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER4 = 0x15f; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_CUSTOM_SENDER5 = 0x160; | ||||
|  | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER1 = 0x161; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER2 = 0x162; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER3 = 0x163; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER4 = 0x164; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER5 = 0x165; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER1 = 0x161; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER2 = 0x162; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER3 = 0x163; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER4 = 0x164; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITH_DISPID_SENDER5 = 0x165; | ||||
|  | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR1 = 0x166; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR2 = 0x167; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR3 = 0x168; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR4 = 0x169; | ||||
|         public const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR5 = 0x16a; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR1 = 0x166; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR2 = 0x167; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR3 = 0x168; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR4 = 0x169; | ||||
|         private const ushort OPCODE_GAMEMESSAGE_WITHOUT_ACTOR5 = 0x16a; | ||||
|  | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_ACTOR1 = 0x30; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_ACTOR2 = 0x38; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_ACTOR3 = 0x40; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_ACTOR4 = 0x50; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_ACTOR5 = 0x70; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_ACTOR1 = 0x30; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_ACTOR2 = 0x38; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_ACTOR3 = 0x40; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_ACTOR4 = 0x50; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_ACTOR5 = 0x70; | ||||
|  | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER1 = 0x48; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER2 = 0x58; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER3 = 0x68; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER4 = 0x78; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER5 = 0x98; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER1 = 0x48; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER2 = 0x58; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER3 = 0x68; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER4 = 0x78; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_CUSTOM_SENDER5 = 0x98; | ||||
|  | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER1 = 0x30; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER2 = 0x38; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER3 = 0x40; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER4 = 0x50; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER5 = 0x60; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER1 = 0x30; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER2 = 0x38; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER3 = 0x40; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER4 = 0x50; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITH_DISPID_SENDER5 = 0x60; | ||||
|  | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR1 = 0x28; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR2 = 0x38; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR3 = 0x38; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR4 = 0x48; | ||||
|         public const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR5 = 0x68; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR1 = 0x28; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR2 = 0x38; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR3 = 0x38; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR4 = 0x48; | ||||
|         private const ushort SIZE_GAMEMESSAGE_WITHOUT_ACTOR5 = 0x68; | ||||
|  | ||||
|         public static SubPacket buildPacket(uint sourceId, uint targetId, uint actorId, uint textOwnerActorId, ushort textId, byte log) | ||||
|         { | ||||
| @@ -310,9 +310,9 @@ namespace FFXIVClassic_Map_Server.packets.send | ||||
|                     binWriter.Write((UInt16)log); | ||||
|                     LuaUtils.writeLuaParams(binWriter, lParams); | ||||
|  | ||||
|                     if (lParamsSize <= 0x14 - 12) | ||||
|                     if (lParamsSize <= 0x8) | ||||
|                     { | ||||
|                         binWriter.Seek(0x30, SeekOrigin.Begin); | ||||
|                         binWriter.Seek(0x10, SeekOrigin.Begin); | ||||
|                         binWriter.Write((UInt32)8); | ||||
|                     } | ||||
|                 } | ||||
|   | ||||
| @@ -39,7 +39,7 @@ namespace FFXIVClassic_Map_Server.packets.send.events | ||||
|                         switch (p.typeID) | ||||
|                         { | ||||
|                             case 0x0: //Int32 | ||||
|                                 binWriter.Write(Utils.swapEndian((UInt32)p.value)); | ||||
|                                 binWriter.Write(Utils.swapEndian((Int32)p.value)); | ||||
|                                 break; | ||||
|                             case 0x1: //Int32 | ||||
|                                 binWriter.Write(Utils.swapEndian((UInt32)p.value)); | ||||
| @@ -59,8 +59,8 @@ namespace FFXIVClassic_Map_Server.packets.send.events | ||||
|                             case 0x6: //Actor (By Id) | ||||
|                                 binWriter.Write(Utils.swapEndian((UInt32)p.value));                                 | ||||
|                                 break; | ||||
|                             case 0x10: //Byte? | ||||
|                                 //value = reader.ReadByte(); | ||||
|                             case 0xC: //Byte | ||||
|                                 binWriter.Write((Byte)p.value);                 | ||||
|                                 break; | ||||
|                             case 0x1B: //Short? | ||||
|                                 //value = reader.ReadUInt16(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user