채널 눈팅만 하다가 웹 이벤트가 너무 하드해보여서 매크로를 한 번 작성해봤습니다. 참고로 PC에서만 돌아가며 Edge에서 테스트해봤습니다.


1. 웹 이벤트 사이트 접속합니다. (!주의 사항! 계정 로그인을 하시면 안됩니다. 댓글 보고 이 내용이 빠져있었던거 확인했습니다. 80% 완료되고 그 이후에 로그인 해주시면 됩니다)

https://www.neuralcloud.co.kr/OperationEndless2063/


2. 한 번은 수동으로 돌립니다.


3. F12를 눌러서 개발자 도구를 엽니다.


4. "콘솔"을 클릭하고 아래 스크립트를 붙여 넣습니다.


const sleep = sec => new Promise(r => setTimeout(r, sec * 1000));

const token = localStorage.getItem("guest_token");

const step = async () => {

    const stats = [...new Array(3)].map(_ => Math.floor(Math.random() * 5))

    stats.push(20-stats.reduce((a,b)=>a+b,0))

    const xhr = new XMLHttpRequest();

    xhr.open("POST", "https://yuntu-steinsgate-api.neuralcloud.co.kr/rand_start", false);

    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    xhr.setRequestHeader("Authorization", token);

    xhr.send(JSON.stringify({"init_attribute": stats.reduce((prev, curr, idx) => ({...prev, [(idx + 1).toString()]: curr}), {})}));

    await sleep(1 + Math.random());

    const startEvent = JSON.parse(xhr.responseText)["data"]["list"][Math.floor(Math.random() * 5)];

    xhr.open("POST", "https://yuntu-steinsgate-api.neuralcloud.co.kr/play", false);

    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    xhr.setRequestHeader("Authorization", token);

    xhr.send(JSON.stringify({"start_event": startEvent}));

    const response = JSON.parse(xhr.responseText);

    console.log(response["data"]["player"]["end_count"], response["data"]["player"]["event_count"], response["data"]["player"]["collection_rate"]);

    await sleep(1 + Math.random());

    return response["data"]["player"]["collection_rate"];

}

while(true) {

    collection = await step();

    if (collection >= 80) break;

}

alert('80% 수집 완료!');



5. 아래처럼 경고창이 뜨면 끝났습니다. (해당 경고창이 뜨기까지 시간이 좀 걸립니다. 유튜브 한 편 보고 오시는 걸 추천합니다! 대략 10분 정도 걸립니다.)



일단 Edge를 기준으로 작성하긴 했는데 아마 크롬도 가능할 거 같아요.


시작


종료