Formula

CommonFun.GetRandom

function CommonFun.GetRandom(array, index)
  local MAX_RANDOM_INDEX = 100
  local group = math.ceil(index / 5)
  local key = index - math.floor(index / 5) * 5
  key = key ~= 0 and key or 5
  if array[group] == nil or index > MAX_RANDOM_INDEX then
    return 0, index
  end
  local groupValue = array[group]
  local value = math.floor(groupValue / math.pow(100, 5 - key)) % 100
  local newIndex = index == MAX_RANDOM_INDEX and 1 or index + 1
  return value, newIndex
end