--Guess attack speed by taking entire data set and comparing 2 - 4 intervals then storing the n into seperate array and incrementing it --Attack speed with most counts in latter array is the best guess by m% --Correct this by repeating step on exit combat maybe? --Look at tolerances as well local dataSet2s = { [1]=540390408.9506, [2]=540392394.9163, [3]=540394398.5326, [4]=540396409.5288, [5]=540398396.6414, [6]=540400397.0754, [7]=540402384.8113, [8]=540404385.3304, [9]=540406398.99, [10]=540408386.472, [11]=540410386.9851, [12]=540412374.8497, [13]=540414375.1427, [14]=540416373.0995, [15]=540418376.9931, [16]=540420390.6971 } local dataSet1p5s = { [1]=541651364.1916, [2]=541652857.9058, [3]=541654365.8491, [4]=541655858.3292, [5]=541657352.4962, [6]=541658846.2963, [7]=541660354.015, [8]=541661847.0112, [9]=541663340.6759, [10]=541664861.3772, [11]=541666354.9449, [12]=541667848.8308, [13]=541669343.2332, [14]=541670849.9777, [15]=541672344.0613, [16]=541673851.2346 } local tolerance = 50 local tempAverages = {} -- rounds .5 to 0 or 1; want to round to .5 or .2 or alike for k,v in ipairs(dataSet1p5s) do if k > 1 then local tempAvg = (dataSet1p5s[k] - dataSet1p5s[k - 1]) print(((math.floor(tempAvg / 1000) - (tempAvg / 1000)) * 1000), (math.ceil(tempAvg / 1000) - (tempAvg / 1000)) * 1000) if not tempAverages[tempAvg] then tempAverages[tempAvg] = 0 end tempAverages[tempAvg] = tempAverages[tempAvg] + 1 end end for k,v in pairs(tempAverages) do print(k,v) end