public static int parseSetField(Script script, Packet packet) { int mapID, portal; packet.ReadBytes(23); bool bCharacterData = packet.ReadBool(); short notifierCheck = packet.ReadShort(); if (notifierCheck > 0) { packet.ReadString(); for (int i = 0; i < notifierCheck; i++) { packet.ReadString(); } } if (bCharacterData) { packet.ReadBytes(12); // damage calc long dbFlag = packet.ReadLong(); // dbFlag packet.ReadByte(); //combat orders packet.ReadBytes(13); // pet active skill cooltime int count = packet.ReadByte(); for (int i = 0; i < count; i++) { packet.ReadInt(); } count = packet.ReadInt(); for (int i = 0; i < count; i++) { packet.ReadInt(); packet.ReadLong(); } bool read = packet.ReadBool(); if (read) { packet.ReadByte(); count = packet.ReadInt(); for (int i = 0; i < count; i++) { packet.ReadLong(); } } packet.ReadBytes(42); int jobID = packet.ReadShort(); packet.ReadBytes(26); if (Util.isExtendSPJob(jobID)) { int size = packet.ReadByte(); packet.ReadBytes(size * 5); } else { packet.ReadShort(); } packet.ReadBytes(20); mapID = packet.ReadInt(); portal = packet.ReadByte(); } else { packet.ReadByte(); mapID = packet.ReadInt(); portal = packet.ReadByte(); } if (Parser.MAP_ID != 0 && Parser.getActiveScript().GetScriptType() != ScriptType.None) { Parser.getActiveScript().addLine(String.Format("sm.warp({0}, {1})", mapID, portal)); } return(mapID); }