Почему этот код скриптов Google не изменяет значения в ячейках - PullRequest
0 голосов
/ 28 апреля 2020

Попытка заставить скрипт проверить столбец области исследования и увеличить ячейки в Репутации / Золоте / Опыте в зависимости от области исследования?

enter image description here

    function checkPassive(){
  var study = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Kingdom DB Backend").getRange("KingdomDB");
  var i=0;
  for(i;i<100;i++){
    if(study.getCell(7+i, 5) == "Nobility" ){
      Nobility_Passive(i, study);
    }else if(study.getCell(7+i, 5) == "Economy"){
      Economy_Passive(i, study); 
    }else if(study.getCell(7+i, 5) == "Military"){
      Military_Passive(i, study);
    }
  }
}

function Nobility_Passive(i, study) {
 study.getCell(7+i, 9).setValue(study.getCell(7+i, 9).getValue() + 50);
}

function Economy_Passive(i, study) {
 study.getCell(7+i, 10).setValue(study.getCell(7+i, 10).getValue() + 5);
}

function Military_Passive(i, study) {
 study.getCell(7+i, 4).setValue(study.getCell(7+i, 4).getValue() + 500);
}

Ниже приведен CSV таблицы в предыдущих попытках изменить код, который будет запускать скрипт, но он только добавит 500 к строкам Military и не добавит золото или репутацию в строки Economy или Nobility.

 Kingdom ID Username    Level   Area of Study   Experience  PvP bonus   Rank    Class   Reputation  Gold    Quests completed    Buildings owned Unit Count
1   Jeoyun  100             King    Lore: Bard  10000   10000   10000   10000   10000
2   girthy_winner   99              Grand Vizier    Druid   9999    9999    9999    9999    9999
4   Zoiphri 8   Nobility    36500       Peasant Rogue   750 85  7   0   0
7   mochi_hime  6   Economy 24500   1   Peasant Monk    455 82  6   0   0
10  voodeer 5   Nobility    20500       Peasant Cleric  250 5   5   0   0
6   ZOOMIN_IN_THE_4HEAD 5   Nobility    19000   1   Peasant Paladin 250 25  4   0   0
18  DoctorTrain 4       12000       Peasant Sorcerer    -50 0   2   0   0
3   Daemoj  4       9000        Peasant Rogue   275 15  2   0   0
12  Skarnmo 3       7500        Peasant Bard    -150    0   2   0   0
19  catsatonamat    3   Military    6500        Peasant Sorcerer    0   20  3   0   0
13  evilkiba29  1       2000        Peasant     0   0   1   0   0
5   shadowfoxgamerr 0   Military    500     Peasant Rogue   0   0   1   0   0
8   shyestrife  0       500     Peasant     0   0   0   0   0
9   SireenH_    0       0       Peasant     0   0   0   0   0
11  eWqUiOeQw12378  0       0       Peasant Barbarian   0   0   0   0   0
14  fakiekingz  0       0       Peasant     0   0   0   0   0
15  LoreCraft   0       0       Peasant     0   0   0   0   0
16  King_Harkinian  0       0       Peasant     0   0   0   0   0
17  mokhster    0       0       Peasant     0   0   0   0   0
20  NaokiiSama  0       0       Peasant Sorcerer    0   5   1   0   0
21  42getafix   1   Nobility    4000    1   Peasant Warlock 1550    58  1   0   0
22  hadou1000   0       0       Peasant Paladin 50  5   1   0   0
23  dragonicafro    0       0       Peasant     0   0   0   0   0
24  RaizerSkybreaker    0       0       Peasant     0   0   0   0   0

1 Ответ

0 голосов
/ 28 апреля 2020

Попробуйте это:

function checkPassive(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Kingdom DB Backend');
  var study=ss.getRangeByName("KingdomDB");

  for(var i=0;i<100;i++){
    if(study.getCell(7+i,5).getValue().trim()=="Nobility" ){
      Nobility_Passive(i,study);
    }else if(study.getCell(7+i,5).getValue().trim()=="Economy"){
      Economy_Passive(i,study); 
    }else if(study.getCell(7+i,5).getValue().trim()=="Military"){
      Military_Passive(i,study);
    }
  }
}

function Nobility_Passive(i,study) {
 study.getCell(7+i, 9).setValue(study.getCell(7+i, 9).getValue() + 50);
}

function Economy_Passive(i, study) {
 study.getCell(7+i, 10).setValue(study.getCell(7+i, 10).getValue() + 5);
}

function Military_Passive(i, study) {
 study.getCell(7+i, 4).setValue(study.getCell(7+i, 4).getValue() + 500);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...