mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Added implementations of the event receive/send packets. Added lua scripting stuff. Added some utils.
This commit is contained in:
		| @@ -1,36 +0,0 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace FFXIVClassic_Map_Server.packets.receive | ||||
| { | ||||
|     class StartScriptPacket | ||||
|     { | ||||
|         public uint sourceActor; | ||||
|         public uint targetActor; | ||||
|          | ||||
|         public string scriptName; | ||||
|  | ||||
|         public bool invalidPacket = false; | ||||
|  | ||||
|         public StartScriptPacket(byte[] data) | ||||
|         { | ||||
|             using (MemoryStream mem = new MemoryStream(data)) | ||||
|             { | ||||
|                 using (BinaryReader binReader = new BinaryReader(mem)) | ||||
|                 { | ||||
|                     try{ | ||||
|                         sourceActor = binReader.ReadUInt32(); | ||||
|                         targetActor = binReader.ReadUInt32(); | ||||
|                     } | ||||
|                     catch (Exception){ | ||||
|                         invalidPacket = true; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,66 @@ | ||||
| using FFXIVClassic_Map_Server.lua; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace FFXIVClassic_Map_Server.packets.receive.events | ||||
| { | ||||
|     class EventStartPacket | ||||
|     { | ||||
|         public const ushort OPCODE = 0x012D; | ||||
|         public const uint PACKET_SIZE = 0xD8; | ||||
|  | ||||
|         public bool invalidPacket = false; | ||||
|  | ||||
|         public uint actorID; | ||||
|         public uint scriptOwnerActorID; | ||||
|         public uint val1; | ||||
|         public uint val2; | ||||
|  | ||||
|         public byte val3; | ||||
|  | ||||
|         public string eventStarter; | ||||
|  | ||||
|         public List<LuaParam> luaParams; | ||||
|  | ||||
|         public EventStartPacket(byte[] data) | ||||
|         { | ||||
|             using (MemoryStream mem = new MemoryStream(data)) | ||||
|             { | ||||
|                 using (BinaryReader binReader = new BinaryReader(mem)) | ||||
|                 { | ||||
|                     try{ | ||||
|                         actorID = binReader.ReadUInt32(); | ||||
|                         scriptOwnerActorID = binReader.ReadUInt32(); | ||||
|                         val1 = binReader.ReadUInt32(); | ||||
|                         val2 = binReader.ReadUInt32(); | ||||
|                         val3 = binReader.ReadByte(); | ||||
|  | ||||
|                         List<byte> strList = new List<byte>(); | ||||
|                         byte curByte; | ||||
|                         while ((curByte = binReader.ReadByte())!=0) | ||||
|                         { | ||||
|                             strList.Add(curByte); | ||||
|                         } | ||||
|                         eventStarter = Encoding.ASCII.GetString(strList.ToArray()); | ||||
|  | ||||
|                         binReader.ReadUInt32(); | ||||
|                         binReader.ReadUInt32(); | ||||
|                         binReader.ReadUInt32(); | ||||
|                         binReader.ReadUInt32(); | ||||
|  | ||||
|                         binReader.ReadByte(); | ||||
|  | ||||
|                         luaParams = LuaUtils.readLuaParams(binReader); | ||||
|                     } | ||||
|                     catch (Exception){ | ||||
|                         invalidPacket = true; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,13 +1,14 @@ | ||||
| using System; | ||||
| using FFXIVClassic_Map_Server.lua; | ||||
| 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.script | ||||
| namespace FFXIVClassic_Map_Server.packets.receive.events | ||||
| { | ||||
|     class CommandStartRequestPacket | ||||
|     class EventUpdatePacket | ||||
|     { | ||||
|         public const ushort OPCODE = 0x012E; | ||||
|         public const uint PACKET_SIZE = 0x78; | ||||
| @@ -18,9 +19,10 @@ namespace FFXIVClassic_Map_Server.packets.send.script | ||||
|         public uint scriptOwnerActorID; | ||||
|         public uint val1; | ||||
|         public uint val2; | ||||
|         public ScriptParamReader reader; | ||||
|         public byte step; | ||||
|         public List<LuaParam> luaParams; | ||||
| 
 | ||||
|         public CommandStartRequestPacket(byte[] data) | ||||
|         public EventUpdatePacket(byte[] data) | ||||
|         { | ||||
|             using (MemoryStream mem = new MemoryStream(data)) | ||||
|             { | ||||
| @@ -31,10 +33,8 @@ namespace FFXIVClassic_Map_Server.packets.send.script | ||||
|                         scriptOwnerActorID = binReader.ReadUInt32(); | ||||
|                         val1 = binReader.ReadUInt32(); | ||||
|                         val2 = binReader.ReadUInt32(); | ||||
|                         binReader.ReadByte(); | ||||
| 
 | ||||
|                         binReader.BaseStream.Seek(0x31, SeekOrigin.Begin); | ||||
|                         reader = new ScriptParamReader(binReader);                       | ||||
|                         step = binReader.ReadByte(); | ||||
|                         luaParams = LuaUtils.readLuaParams(binReader); | ||||
|                     } | ||||
|                     catch (Exception){ | ||||
|                         invalidPacket = true; | ||||
| @@ -1,44 +0,0 @@ | ||||
| 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.script | ||||
| { | ||||
|     class ScriptResultPacket | ||||
|     { | ||||
|         public const ushort OPCODE = 0x012E; | ||||
|         public const uint PACKET_SIZE = 0xD8; | ||||
|  | ||||
|         public bool invalidPacket = false; | ||||
|  | ||||
|         public uint actorID; | ||||
|         public uint scriptOwnerActorID; | ||||
|         public uint val1; | ||||
|         public uint val2; | ||||
|         ScriptParamReader reader; | ||||
|  | ||||
|         public ScriptResultPacket(byte[] data) | ||||
|         { | ||||
|             using (MemoryStream mem = new MemoryStream(data)) | ||||
|             { | ||||
|                 using (BinaryReader binReader = new BinaryReader(mem)) | ||||
|                 { | ||||
|                     try{ | ||||
|                         actorID = binReader.ReadUInt32(); | ||||
|                         scriptOwnerActorID = binReader.ReadUInt32(); | ||||
|                         val1 = binReader.ReadUInt32(); | ||||
|                         val2 = binReader.ReadUInt32(); | ||||
|                         binReader.ReadByte(); | ||||
|                         reader = new ScriptParamReader(binReader);                           | ||||
|                     } | ||||
|                     catch (Exception){ | ||||
|                         invalidPacket = true; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user