Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function tl_GetMinCost(cellValue, rowNum, columnNum) {
  2.   Logger.log("TEST");
  3.   var ss = SpreadsheetApp.getActiveSpreadsheet();
  4.   var sheet = ss.getActiveSheet();
  5.   var range = sheet.getRange(rowNum, columnNum);
  6.   var address = range.getA1Notation();
  7.  
  8.   var array = [];
  9.  
  10.   var buyable = sheet.getRange(rowNum, columnNum + 5).getValue();
  11.   var findable = sheet.getRange(rowNum, columnNum + 6).getValue();
  12.  
  13.   var crafting = tl_GetMinCraftingCost(rowNum, columnNum);
  14.    
  15.   if(findable > 0) array.push(findable);
  16.   if(buyable > 0) array.push(buyable);
  17.   if(crafting > 0) array.push(crafting);
  18.  
  19.  
  20.   // No values were above 0, so the effort is null
  21.   if(array.length < 1) return null;
  22.  
  23.   var min = Math.min.apply(null, array);
  24.  
  25.   return min;
  26. }
  27.  
  28. function tl_GetMinCost(cellValue, rowNum, columnNum) {
  29.   Logger.log("TEST");
  30.   var ss = SpreadsheetApp.getActiveSpreadsheet();
  31.   var sheet = ss.getActiveSheet();
  32.   var range = sheet.getRange(rowNum, columnNum);
  33.   var address = range.getA1Notation();
  34.  
  35.   var array = [];
  36.  
  37.   var buyable = sheet.getRange(rowNum, columnNum + 5).getValue();
  38.   var findable = sheet.getRange(rowNum, columnNum + 6).getValue();
  39.  
  40.   var crafting = tl_GetMinCraftingCost(rowNum, columnNum);
  41.    
  42.   if(findable > 0) array.push(findable);
  43.   if(buyable > 0) array.push(buyable);
  44.   if(crafting > 0) array.push(crafting);
  45.  
  46.  
  47.   // No values were above 0, so the effort is null
  48.   if(array.length < 1) return null;
  49.  
  50.   var min = Math.min.apply(null, array);
  51.  
  52.   return min;
  53. }
  54.  
  55. function tl_GetMaxCost(cellValue, rowNum, columnNum) {
  56.   var ss = SpreadsheetApp.getActiveSpreadsheet();
  57.   var sheet = ss.getActiveSheet();
  58.   var range = sheet.getRange(rowNum, columnNum);
  59.   var address = range.getA1Notation();
  60.  
  61.   var array = [];
  62.  
  63.   var buyable = sheet.getRange(rowNum, columnNum + 5).getValue();
  64.   var findable = sheet.getRange(rowNum, columnNum + 6).getValue();
  65.  
  66.   var crafting = tl_GetMaxCraftingCost(rowNum, columnNum);
  67.  
  68.   if(findable > 0) array.push(findable);
  69.   if(buyable > 0) array.push(buyable);
  70.   if(crafting > 0) array.push(crafting);
  71.  
  72.  
  73.   // No values were above 0, so the effort is null
  74.   if(array.length < 1) return null;
  75.  
  76.   var min = Math.max.apply(null, array);
  77.  
  78.   return min;
  79. }
  80.  
  81. function tl_GetMinCraftingCost(rowNum, columnNum)
  82. {
  83.     Logger.log("TEST");
  84.     var ss = SpreadsheetApp.getActiveSpreadsheet();
  85.     var sheet = ss.getActiveSheet();
  86.     var range = sheet.getRange(rowNum, columnNum);  
  87.  
  88.   var crafting = 0;
  89.   var operationCost = sheet.getRange(rowNum, columnNum + 2).getValue();
  90.   var craftingRange = sheet.getRange(rowNum, columnNum + 1);//TODO foreach item in components crafting += item.GetMin(itemValue, itemRowNum, itemColumnNum)
  91.  
  92.   if(!craftingRange.isBlank())
  93.   {
  94.      var craftingAddress = craftingRange.getValue();
  95.    
  96.     //split into array
  97.     var valuesArray = craftingAddress.split(',');    
  98.  
  99.     for(var i = 0; i < valuesArray.length; i++)
  100.     {
  101.       var itemKey = valuesArray[i];
  102.       var itemColumn = 1; //Column B
  103.       var itemRow = tl_GetRowOfItem(itemKey);
  104.      
  105.       crafting += tl_GetMinCraftingCost(itemRow, itemColumn);
  106.     }
  107.   }
  108.   else
  109.   {
  110.    return 0;
  111.   }
  112.  
  113.   if(crafting > 0)
  114.   {
  115.     crafting += operationCost;
  116.   }
  117.        
  118.    return crafting;
  119. }
  120.  
  121. function test()
  122. {
  123.   return 5;
  124. }
  125.  
  126. function tl_GetRowOfItem(itemKey)
  127. {
  128.   var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  129.   var data = sheet.getDataRange().getValues();  
  130.   for(var i = 0; i<data.length;i++)
  131.   {
  132.     if(data[i][1] == itemKey){ //[1] because column B
  133.       //Logger.log((i+1))
  134.       return i+1;
  135.     }
  136.   }
  137.  
  138.   return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement