|
2026-04-28 01:37
조회: 5,216
추천: 1
모코코 생일 케이크 자동화 스크립트 매크로이거 그냥 콘솔에 붙여 넣으시면 적당히 됩니다. AI로 대충 만든거라 성능은 그냥저냥이에요. 멈추는거는 걍 새로고침 ㄱㄱ (async function stableMokokoCake() { console.log("%c[최종 보완 모드 시작]", "color: #00ff00; font-weight: bold;"); const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms)); async function safeConfirm() { // 팝업 확인 버튼이 나타날 때까지 대기 (최대 3초) for (let i = 0; i < 12; i++) { const confirmBtn = document.querySelector('button.lui-modal__confirm'); if (confirmBtn && confirmBtn.offsetParent !== null) { await delay(300); // 팝업 애니메이션 안정화 대기 confirmBtn.click(); return true; } await delay(250); } return false; } while (true) { // 1. 클릭 가능한 상자만 필터링 // - .button--open-gift 클래스 보유 // - .is-complete 클래스 미보유 (이미 연 상자 제외) // - disabled 속성이 false인 것 // - 실제로 화면에 보이는 것 (display: none 제외) let boxes = Array.from(document.querySelectorAll('.button--open-gift')).filter(btn => !btn.classList.contains('is-complete') && !btn.disabled && btn.offsetParent !== null ); if (boxes.length > 0) { for (let box of boxes) { // 한 번 더 상태 체크 (루프 도중 변했을 가능성 대비) if (box.classList.contains('is-complete')) continue; console.log("🎁 상자 클릭 시도..."); box.click(); // 팝업 두 번 돌파 (획득 확인 -> 완료 확인) await safeConfirm(); await delay(500); await safeConfirm(); await delay(800); // 서버 반영 시간 확보 } } else { // 2. 남은 상자가 없을 때 '다음 회차' 버튼 확인 const nextBtn = document.querySelector('.button--next-cake, .btn-next-cake, [class*="next-cake"]'); if (nextBtn && nextBtn.offsetParent !== null) { console.log("✨ 현재 케이크 완료! 다음 단계로 이동합니다."); nextBtn.click(); await safeConfirm(); await delay(2500); // 새 케이크 판 로딩 대기 continue; } else { console.log("✅ 열 수 있는 상자가 더 이상 없거나 포인트가 부족합니다."); break; } } // 3. 포인트 소진 체크 const pointText = document.querySelector('.txt--point')?.innerText || "0"; const currentPoint = parseInt(pointText.replace(/[^0-9]/g, "")); if (currentPoint < 2) { // 상자 하나당 최소 2포인트 가정 (이벤트 규정에 맞게 조절 가능) console.log("❌ 포인트 부족으로 종료합니다."); break; } await delay(1000); } console.log("%c[작업 종료]", "color: #ff0000; font-weight: bold;"); })();
|




