diff --git a/userscripts/kgvn-8thang5-autofarm.user.js b/userscripts/kgvn-8thang5-autofarm.user.js new file mode 100644 index 0000000..2647f16 --- /dev/null +++ b/userscripts/kgvn-8thang5-autofarm.user.js @@ -0,0 +1,94 @@ +// ==UserScript== +// @name 8thang5 - Auto farm +// @description Redirects Shorts to normal video webpage +// @namespace tretrauit-dev +// @match *://8thang5.lienquan.garena.vn/* +// @icon https://cdn.vn.garenanow.com/web/kg/8thang5/img/favicon.jpg +// @grant none +// @version 1.0.0 +// @author tretrauit +// @run-at document-idle +// @homepageURL https://gitlab.com/tretrauit/scripts +// @supportURL https://gitlab.com/tretrauit/scripts/-/issues +// @downloadURL https://gitlab.com/tretrauit/scripts/-/raw/main/userscripts/kgvn-8thang5-autofarm.user.js +// ==/UserScript== + +function init() { + const chest = document.getElementsByClassName("chest")[0] + const chestStatus = document.getElementsByClassName("chest__btn btn")[0] + const openWheelBtn = document.getElementsByClassName("wheel__btn")[0] + const upgradeBtn = document.getElementsByClassName("card__upgrade")[0] + // Has string characters need to be removed first. + const requiredScore = document.getElementsByClassName("card__note")[0].getElementsByTagName("strong")[0] + const currentScore = document.getElementsByClassName("card__data")[0].getElementsByTagName("span")[1] + + function toInt(str) { + return parseInt(str.replace(/[^0-9]/g, '')) + } + + function upgradeRank() { + if (toInt(currentScore.innerHTML) >= toInt(requiredScore.innerHTML)) { + upgradeBtn.click() + } + } + + function receiveRankReward() { + const rewards = document.getElementsByClassName("milestone available") + for (const reward of rewards) { + if (reward.className.includes("claimed")) { + continue + } + reward.click() + } + } + + function spinWheel() { + const spinBtn = document.getElementsByClassName("popup-wheel__btn")[0] + const spinLeft = spinBtn.children[1].getElementsByTagName("strong")[0] + function doSpin() { + spinBtn.click() + setTimeout(() => { + if (parseInt(spinLeft.innerHTML) > 0) { + setTimeout(doSpin, 1000) + } + }, 3000) + } + doSpin() + const closeBtn = document.getElementsByClassName("close")[0] + closeBtn.click() + } + + function wheel() { + if (!openWheelBtn.className.includes("animate__tada") || document.getElementById("wheel") != null) { + return + } + console.log("click chest") + openWheelBtn.click() + setTimeout(spinWheel, 1000) + } + + function receiveScore() { + if (chestStatus.innerHTML === "Nhận") { + chest.click() + } + } + + setInterval(() => { + if (element = document.getElementsByClassName("swal2-close")[0]) { + element.click() + } + }, 100); + + function loop() { + receiveScore() + upgradeRank() + receiveRankReward() + setTimeout(wheel, 500) + setTimeout(loop, 1000) + } + loop() +} +setTimeout(init, 5000) + +console.warn("[8thang5 - Auto farm] Successfully loaded") +console.log("Made by @tretrauit under MIT License")