플레이크 100뽑기 자바코드가
오늘자로 갑자기 사이트 변경되어 기존코드 먹통되어 수정함


사용법은 그냥 
1. 아래의 코드내용을 복사해서
2. 북마크(즐겨찾기) 주소에 주소가 아닌 복사한 코드를 붙여넣기한 다음
3. 해당뽑기 페이지 https://reward.onstove.com/ko/event 접속 후
4. 북마크(즐겨찾기)한 북마크(즐겨찾기) 클릭하면 자동으로 뽑기 30번 실행


변경된 코드
javascript:(()=>{function delay(ms){return new Promise(r=>setTimeout(r,ms));}function getRandom(min,max){return Math.floor(Math.random()*(max-min+1))+min;}function getFlakeCount(){const el=document.querySelector('span.whitespace-nowrap.block.overflow-ellipsis');if(!el)return null;const raw=el.innerText.replace(/[^d]/g,'');const num=parseInt(raw||'0');return isNaN(num)?null:num;}async function getRewardText(timeout=3000){const start=Date.now();while(Date.now()-start<timeout){const el=document.querySelector(%27.l1l2-flakehub-popup-common-received_reward%27);if(el&&el.innerText.trim())return el.innerText.trim();await delay(100);}return%27%27;}async function clickRepeatButton(timeout=4000){const start=Date.now();while(Date.now()-start<timeout){const spans=document.querySelectorAll(%27span%27);for(const span of spans){const text=span.innerText.trim().replace(/s+/g,%27%27);if(text.includes(%27100%27)&&text.includes(%27한번더%27)){span.click();return true;}}await delay(100);}return false;}async function runDrawLoop(){console.clear();const startFlake=getFlakeCount();if(startFlake===null){console.log(%27❌ 시작 보유량을 찾을 수 없습니다.%27);return;}console.log(`▶%EF%B8%8F 시작 플레이크 보유량: ${startFlake.toLocaleString()}`);const spans=document.querySelectorAll(%27span%27);let targetElement=null;for(const span of spans){if(span.innerText.trim()===%27100 뽑기%27){targetElement=span;break;}}if(!targetElement){console.log(%27❌ "100 뽑기" 버튼을 찾을 수 없습니다.%27);return;}targetElement.click();console.log(%27🎯 첫 100 뽑기 클릭 완료%27);await delay(getRandom(3800,4200));for(let i=0;i<30;i++){const rewardText=await getRewardText();if(rewardText){console.log(`🎁 ${i+1}회차 보상: ${rewardText}`);}else{console.log(`⚠%EF%B8%8F ${i+1}회차: 보상 텍스트를 찾지 못했습니다.`);}const clicked=await clickRepeatButton();if(!clicked){console.log(`❌ ${i+1}회차: "100 뽑기 한번 더!" 버튼을 찾지 못했습니다. 중단합니다.`);break;}await delay(getRandom(2600,3000));}const endFlake=getFlakeCount();if(endFlake===null){console.log(%27❌ 종료 보유량을 찾을 수 없습니다.%27);return;}const gained=endFlake-startFlake;console.log(%27✅ 30회 완료!%27);console.log(`▶%EF%B8%8F 종료 후 플레이크 보유량: ${endFlake.toLocaleString()}`);console.log(`🎉 총 획득량: ${gained.toLocaleString()}`);}void runDrawLoop();})();


크롬에서 위 코드가 안된다면
이 코드 한번 사용해보세요
- 제미나이한테 수정해달라고 했는데 확인은 못해봤어요
javascript:(async()=>{function delay(m){return new Promise(r=>setTimeout(r,m));}function getRandom(a,b){return Math.floor(Math.random()*(b-a+1))+a;}function getFlakeCount(){const e=document.querySelector('span.whitespace-nowrap.block.overflow-ellipsis');if(!e)return null;const r=e.innerText.replace(/[^d]/g,'');const n=parseInt(r||'0');return isNaN(n)?null:n;}async function getRewardText(t=3000){const s=Date.now();while(Date.now()-s<t){const e=document.querySelector('.l1l2-flakehub-popup-common-received_reward');if(e&&e.innerText.trim())return e.innerText.trim();await delay(100);}return'';}async function clickRepeatButton(t=4000){const s=Date.now();while(Date.now()-s<t){const spans=document.querySelectorAll('span');for(const span of spans){const txt=span.innerText.trim().replace(/s+/g,'');if(txt.includes('100')&&txt.includes('한번더')){span.click();return true;}}await delay(100);}return false;}console.clear();const startFlake=getFlakeCount();if(startFlake===null){console.log('❌ 시작 보유량을 찾을 수 없습니다.');return;}console.log(`▶️ 시작 플레이크 보유량: ${startFlake.toLocaleString()}`);const spans=document.querySelectorAll('span');let targetElement=null;for(const span of spans){if(span.innerText.trim()==='100 뽑기'){targetElement=span;break;}}if(!targetElement){console.log('❌ "100 뽑기" 버튼을 찾을 수 없습니다.');return;}targetElement.click();console.log('🎯 첫 100 뽑기 클릭 완료');await delay(getRandom(3800,4200));for(let i=0;i<30;i++){const rewardText=await getRewardText();if(rewardText){console.log(`🎁 ${i+1}회차 보상: ${rewardText}`);}else{console.log(`⚠️ ${i+1}회차: 보상 텍스트를 찾지 못했습니다.`);}const clicked=await clickRepeatButton();if(!clicked){console.log(`❌ ${i+1}회차: "100 뽑기 한번 더!" 버튼을 찾지 못했습니다. 중단합니다.`);break;}await delay(getRandom(2600,3000));}const endFlake=getFlakeCount();if(endFlake===null){console.log('❌ 종료 보유량을 찾을 수 없습니다.');return;}const gained=endFlake-startFlake;console.log('✅ 30회 완료!');console.log(`▶️ 종료 후 플레이크 보유량: ${endFlake.toLocaleString()}`);console.log(`🎉 총 획득량: ${gained.toLocaleString()}`);})();


팁게 https://www.inven.co.kr/board/lostark/4821/108529
의 코드를 제미나이한테 물어봐서 수정함
챗지피티는 오류 생김
이런 자바나 VBA관련해서 제미나이가 좀 더 강한 듯?