private static void printStaticsData_OnCommand(CommandEventArgs e) { Mobile from = e.Mobile; Map playerMap = from.Map; TileMatrix tm = playerMap.Tiles; int blocknum = (((from.Location.X >> 3) * tm.BlockHeight) + (from.Location.Y >> 3)); byte[] data = BlockUtility.GetRawStaticsData(blocknum, playerMap.MapID); BlockUtility.WriteDataToConsole(data); }
public static UInt16 GetBlockCrc(Point2D blockCoords, int mapID, ref byte[] landDataOut, ref byte[] staticsDataOut) { if (blockCoords.X < 0 || blockCoords.Y < 0 || (blockCoords.X) >= Map.Maps[mapID].Tiles.BlockWidth || (blockCoords.Y) >= Map.Maps[mapID].Tiles.BlockHeight) { return((UInt16)0); } landDataOut = BlockUtility.GetLandData(blockCoords, mapID); staticsDataOut = BlockUtility.GetRawStaticsData(blockCoords, mapID); byte[] blockData = new byte[landDataOut.Length + staticsDataOut.Length]; Array.Copy(landDataOut, 0, blockData, 0, landDataOut.Length); Array.Copy(staticsDataOut, 0, blockData, landDataOut.Length, staticsDataOut.Length); return(CRC.Fletcher16(blockData)); }
private static void printCrc_OnCommand(CommandEventArgs e) { Mobile from = e.Mobile; Map playerMap = from.Map; TileMatrix tm = playerMap.Tiles; int blocknum = (((from.Location.X >> 3) * tm.BlockHeight) + (from.Location.Y >> 3)); byte[] LandData = BlockUtility.GetLandData(blocknum, playerMap.MapID); byte[] StaticsData = BlockUtility.GetRawStaticsData(blocknum, playerMap.MapID); byte[] blockData = new byte[LandData.Length + StaticsData.Length]; Array.Copy(LandData, blockData, LandData.Length); Array.Copy(StaticsData, 0, blockData, LandData.Length, StaticsData.Length); UInt16 crc = CRC.Fletcher16(blockData); Console.WriteLine("CRC is 0x" + crc.ToString("X4")); }