From b839a281cf78dbae4073cb2118221035a36ba448 Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Sat, 2 Jan 2016 14:05:03 -0500 Subject: [PATCH] Forgot additions to LuaUtils that Instantiate packet uses. --- FFXIVClassic Map Server/lua/LuaUtils.cs | 41 ++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/FFXIVClassic Map Server/lua/LuaUtils.cs b/FFXIVClassic Map Server/lua/LuaUtils.cs index 7cdf181c..155e7114 100644 --- a/FFXIVClassic Map Server/lua/LuaUtils.cs +++ b/FFXIVClassic Map Server/lua/LuaUtils.cs @@ -77,6 +77,45 @@ namespace FFXIVClassic_Map_Server return luaParams; } + public static void writeLuaParams(BinaryWriter writer, List luaParams) + { + foreach (LuaParam l in luaParams) + { + writer.Write((Byte)l.typeID); + switch (l.typeID) + { + case 0x0: //Int32 + writer.Write((UInt32)l.value); + break; + case 0x1: //Int32 + writer.Write((UInt32)l.value); + break; + case 0x2: //Null Termed String + string sv = (string)l.value; + writer.Write(Encoding.ASCII.GetBytes(sv), 0, Encoding.ASCII.GetByteCount(sv)); + writer.Write((Byte)0); + break; + case 0x3: //Boolean True + break; + case 0x4: //Boolean False + break; + case 0x5: //Nil + break; + case 0x6: //Actor (By Id) + writer.Write((UInt32)l.value); + break; + case 0x10: //Byte? + break; + case 0x1B: //Short? + break; + case 0xF: //End + continue; + } + } + + writer.Write((Byte)0xF); + } + public static List readLuaParams(byte[] bytesIn) { List luaParams = new List(); @@ -174,7 +213,7 @@ namespace FFXIVClassic_Map_Server } else if (o is Actor) { - luaParams.Add(new LuaParam(0x6, ((Actor)o).actorID)); + luaParams.Add(new LuaParam(0x6, ((Actor)o).actorId)); } }