본문 바로가기

로스트아크/로스트아크 편하게하기

구글 스프레드시트에서 로아 편하게 하기 6탄: 카오스, 가디언.. 휴경은 어떻게 처리할까?

반응형

앞선 포스팅에서, 카오, 가디언 어디를 돌아야 할지 쉽게 구현해봤습니다.

 

2021.09.30 - [로스트아크 편하게 하기] - 구글 스프레드시트에서 로아 편하게 하기 5탄: 카오스, 가디언 어디 돌지 표시하기

 

구글 스프레드시트에서 로아 편하게 하기 5탄: 카오스, 가디언 어디 돌지 표시하기

스프레드시트에는 기본적으로 제공하는 기능이 많습니다. 참~ 많습니다. 이를 활용하면 많은 작업들을 할 수 있습니다. 굳이 코딩을 할 필요 없이 말이죠. 예를 들면 내 캐릭터가 카오스의 어떤

giveme100.tistory.com

 

 

레벨에 맞춰서 자동으로 표시도 해보고, 색깔도 나타내 봤는데,

그럼 휴식경험치는 어떻게 처리할까요??

 

 

저는, 쉽게 작성하기 위해 아래처럼 로직을 짜봤습니다.

1. 최초 1회에 한해 휴경은 수동으로 입력한다.

2. 체크박스를 만들어서, 해당일에 2바퀴를 모두 돌았을 경우 다음날에 휴경이 2 줄어들도록 한다.

3. 체크를 하지 않으면, 다음날에 휴경이 1 증가한다.

* 위의 다음날 진행은 아침 6시~7시에 자동실행되도록 '트리거'를 등록하여 처리한다.

 

 

 

휴식 우측의 체크박스를 체크하면 다음날 처리되도록 하면 되겠습니다.

제가 작성해놓은 헤더에 (A)는 오토라고 보면 됩니다.

(직업, 레벨은 로아 공식홈페이지에서 크롤링 해오도록 해놓기!)

 

이렇게 해놓으면, 사용할 때는 체크박스만 체크하면 되니 매우 편합니다.

 

 

코드는 아래를 참고하세요.

반응형
function trigger_dayclear() {
  
  /** 여기부터 변경 */
  var startRow = 4;    //세로줄 시작 번호
  var endRow = 28;     //세로줄 끝 번호

  var d_epona = 7;     //일간 에포나 번호 ('G' = 7)
  var d_check = 6;     //일간 길드 체크
  var chaos = 9;      //카오스 휴식 번호 ('O' = 15)
  var chaosFg = 10;    //카오스 체크 번호 ('P' = 16)
  var gardian = 12;    //가디언 휴식 번호 ('R' = 19)
  var gardianFg = 13;  //가디언 체크 번호 ('S' = 20)
  /** 여기까지 변경 */

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('시트1');
  var cnt;
  
  for(var i=startRow; i<=endRow; i++){
    sheet.getRange(i,d_epona).setValue("");
    sheet.getRange(i,d_check).setValue("");
    }

  for(var i=startRow; i<=endRow; i++){
    if(sheet.getRange(i,chaosFg).getValue()==1){
      sheet.getRange(i,chaosFg).setValue("");
      cnt = sheet.getRange(i,chaos).getValue();
      cnt = cnt-2;
      if(cnt<0) cnt=0;
      sheet.getRange(i,chaos).setValue(cnt);
    }else{
      cnt = sheet.getRange(i,chaos).getValue();
      cnt++;
      if(cnt>=5) cnt=5;
      sheet.getRange(i,chaos).setValue(cnt);
    }
  }

  for(var i=startRow; i<=endRow; i++){
    if(sheet.getRange(i,gardianFg).getValue()==1){
      sheet.getRange(i,gardianFg).setValue("");
      cnt = sheet.getRange(i,gardian).getValue();
      cnt = cnt-2;
      if(cnt<0) cnt=0;
      sheet.getRange(i,gardian).setValue(cnt);
    }else{
      cnt = sheet.getRange(i,gardian).getValue();
      cnt++;
      if(cnt>=5) cnt=5;
      sheet.getRange(i,gardian).setValue(cnt);
    }
  }
  
  sheet.getRange(30, 4).setValue('적용완료');

};

 

이후 트리거를 등록해 놓으면!!!

 

체크박스만 체크하면 자동으로 휴식경험치를 계산해주는 스프레드시트가 완성됩니다.

 

앱스크립트에서 트리거 등록하는 방법은 다음 포스팅에서 작성하겠습니다.

 

 

그럼 즐로아 하시기 바랍니다.

 

 

 

반응형