Bumaba na points lods. 2 points for correct answer tapos 1 point for wrong answer naman. Pero kagabi e naka-10 points every correct answer naman ako. Ngayon ko lang napansinsearch nyo lang msn shopping then hanapin nyo shopping game prang huhulaan mo yung produck na may lowest price if taama 10 pts . may trick din para tama lagi gagamit ka ng script
10 pts parin naman sakin sampo acc ko kaya naka 1k ako hahaBumaba na points lods. 2 points for correct answer tapos 1 point for wrong answer naman. Pero kagabi e naka-10 points every correct answer naman ako. Ngayon ko lang napansin
// Change this variable to 'true' to bring the Shopping Game to the top of the page.Bumaba na points lods. 2 points for correct answer tapos 1 point for wrong answer naman. Pero kagabi e naka-10 points every correct answer naman ako. Ngayon ko lang napansin
m-${muid.value}
: null;right: unset; left: ${25+(window.elementsCreated++ * 100)}px; font-size: 13px;background: linear-gradient(100.25deg, rgba(7, 158, 130, 0.9) 0%, rgba(2, 100, 188, 0.9) 100%);color: white;font-weight: 700;
;Game: ${window.gameCounter}
;Points: ${++window.pointsBalancePrev}
;\n${window.pointsBalancePrev}\n\n
;Bearer ${window.userAccessToken}
}[URL]https://assets.msn.com/service/news/feed/segments/shopping?ocid=shopping-shophp-Peregrine&apikey=$[/URL]{window.oneServiceApiKey}&timeOut=10000&cm=${MeControl.Config.mkt.toLowerCase()}&scn=MSNRPSAuth&user=${window.muid}&$select=rewards|reportactivity|guessinggame|0|${window.gameHash}&$filter=~5000&activityid=${window.activityId}
,{Bearer ${window.userAccessToken}
}Ako din lods. Naka 300 points sa isang account. Goods na goods hahahah. Mukhang mas mapapadali ang earnings ngayon hehe. Road to 500 pesos voucher per month na ito hahahanaka 300 pts naman ako today
per acc
bat di ko makita. HAHAHA san banda?Bumaba na points lods. 2 points for correct answer tapos 1 point for wrong answer naman. Pero kagabi e naka-10 points every correct answer naman ako. Ngayon ko lang napansin
Doon sa question mark doon sa upper left ng shopping games lods. Doon mo makikita level mo tsaka yung points.bat di ko makita. HAHAHA san banda?
Di ko talaga makita, hehe. pa-screenshot naman paps, salamat.Doon sa question mark doon sa upper left ng shopping games lods. Doon mo makikita level mo tsaka yung points.
Copy mo lang yung script na comment dito lods tapos paste mo sa console ng developer mode . Pwede ka mag-search sa YT kung paano, may mga tuts naman sila doon paano gamitin yung script step by step.Di ko talaga makita, hehe. pa-screenshot naman paps, salamat.
UPDATE: nakita ko na pero di ko muna sinimulan. tanong lang pano ko malalaman yung mga correct answer? hehe
meron din ba sa brave?dko pa nasubukan.wala kong alam sa mga ganon e.pero gumagamit ako braveparang brave browser no ? na pang masa yung wí†hdráwal
10 pts parin naman sakin sampo acc ko kaya naka 1k ako haha
naka 300 pts naman ako today
per acc
// Change this variable to 'true' to bring the Shopping Game to the top of the page.
var switchAreaSlot = true;
// Change this variable to 'true' to show the custom game counter.
var showCustomGameCounter = true;
// Change this variable to 'true' to show the custom points counter.
var showCustomPointsCounter = true;
// Change this variable to 'true' to automatically click 'Play Again' on game complete.
var autoReplay = true;
// Basic query selectors to find 'msft-feed-layout', 'msn-shopping-game-pane' and 'ms-rewards' elements.
var msftFeedLayout = document.querySelector("shopping-page-base")
?.shadowRoot.querySelector("shopping-homepage")
?.shadowRoot.querySelector("msft-feed-layout");
var msnShoppingGamePane = msftFeedLayout?.shadowRoot.querySelector("msn-shopping-game-pane");
var fluentDesignSystemProvider = document.querySelector("shopping-page-base")
?.shadowRoot.querySelector("common-header")
?.shadowRoot.querySelector("msn-verticals-header")
?.shadowRoot.querySelector("fluent-design-system-provider");
// Function to make sure we're on MSN shopping page.
function validUrlCheck(){
var isValidUrl = document.location.href.includes("You do not have permission to view the full content of this post. Log in or register now.") && document.location.href.includes("/shopping");
return isValidUrl ? true : alert("Invalid site detected. You need to be on You do not have permission to view the full content of this post. Log in or register now.");
}
// Function to try get user accessToken if 1s-tokens not present.
function tryGetUserAccessToken(){
for(var i = 0; i <= 100000; i ++){
var val = localStorage.key(i);
if(!val) break;
if(val.includes("accesstoken") && val.includes("oneservice")){
return JSON.parse(localStorage.getItem(val)).secret;
}
}
return null;
}
// Function to try get 'common.js' url which is fetched by 'tryGetOneServiceApiKey' to extract 'OneServiceApiKey'.
function tryGetCommonJsUrl(){
var scriptTags = document.getElementsByTagName("script");
var jsFiles = [];
for (var i = 0; i < scriptTags.length; i++) {
const src = scriptTags.getAttribute("src");
if (src && src.endsWith(".js")) {
jsFiles.push(src);
}
}
return jsFiles.findLast((item) => item.includes("/common."));
}
// Function to try get 'OneServiceApiKey' used in 'reportActivity' url. ( Must be a better way of retrieving this... )
async function tryGetOneServiceApiKey(){
var commonJsUrl = tryGetCommonJsUrl();
if(!commonJsUrl) return null;
var serviceWorker = await fetch(commonJsUrl);
var body = serviceWorker.ok ? await serviceWorker.text() : null;
window.oneServiceApiKey = body ? body.includes("apiKey") ? body.split('apiKey:"')[1].split('"')[0] : null : null;
return window.oneServiceApiKey;
}
// Function to get 'ActivityId' used in 'reportActivity' url.
function tryGetActivityId(){
var dataClientSettings = document.head.getAttribute("data-client-settings");
window.activityId = dataClientSettings ? JSON.parse(dataClientSettings).aid.replace(/^(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})$/, "$1-$2-$3-$4-$5") : MeControl.WebInline.guid();
return window.activityId;
}
// Function to get 'MUID' used in 'reportActivity' url.
async function tryGetMuid(){
var muid = await cøøkíéStore.get("MUID");
window.muid = muid ?m-${muid.value}
: null;
return window.muid;
}
// Function to check OneServiceApiKey, ActivityId, MUID.
async function setupReportActivityUrl(){
if(!await tryGetMuid()) return alert("Unable to retrieve 'MUID'");
if(!await tryGetActivityId()) return alert("Unable to retrieve 'ActivityId'");
if(!await tryGetOneServiceApiKey()) return alert("Unable to retrieve 'OneServiceApiKey'");
return true;
}
// Function to create button elements at the top left of the shopping game.
function createButtonElement(){
if(!window.elementsCreated)
window.elementsCreated = 0;
var divElem = document.createElement("div");
divElem.className = "view-leaderboard stats-game-counter";
You do not have permission to view the full content of this post. Log in or register now. =right: unset; left: ${25+(window.elementsCreated++ * 100)}px; font-size: 13px;background: linear-gradient(100.25deg, rgba(7, 158, 130, 0.9) 0%, rgba(2, 100, 188, 0.9) 100%);color: white;font-weight: 700;
;
var parentElem = msnShoppingGamePane.gameContainerRef.getElementsByClassName("game-panel-container")[0];
parentElem.appendChild(divElem);
return divElem;
}
// Function to create and increment the game counter.
function incrementGameCounter(){
if(!window.gameCounterElem){
window.gameCounter = 0;
window.gameCounterElem = createButtonElement();
}
window.gameCounter++;
window.gameCounterElem.textContent =Game: ${window.gameCounter}
;
}
// Function to create and increment the points counter, Also increments the default BingFlyout points counter.
function incrementPointsCounter(balance = 0){
if(!window.rewardsBalanceElement)
window.rewardsBalanceElement = fluentDesignSystemProvider?.querySelector("ms-rewards")?.shadowRoot?.querySelector("fluent-button")?.getElementsByClassName("reward-points")[0];
if(!window.pointsCounterElem){
window.pointsBalancePrev = balance-1;
window.pointsBalance = balance;
window.pointsCounterElem = createButtonElement();
window.pointsIncrementTimer = setInterval(() => {
if(window.pointsBalance > window.pointsBalancePrev){
// Update our custom balance points text.
window.pointsCounterElem.textContent =Points: ${++window.pointsBalancePrev}
;
// Update BingFlyout balance points text.
if(window.rewardsBalanceElement)
window.rewardsBalanceElement.textContent =\n${window.pointsBalancePrev}\n\n
;
}
}, 50);
}
window.pointsBalance = balance;
}
// Function to update user balance, Which then updates the points counters.
async function updateUserPointsBalance(){
await fetch("You do not have permission to view the full content of this post. Log in or register now.",
{
headers: { "Authorization":Bearer ${window.userAccessToken}
}
}).then(async (response) => {
var userInfo = await response.json();
incrementPointsCounter(userInfo.profile.rewardsPoints);
});
}
// Function to report the 'guessinggame' activity.
async function reportActivity(){
return await fetch([URL]https://assets.msn.com/service/news/feed/segments/shopping?ocid=shopping-shophp-Peregrine&apikey=$[/URL]{window.oneServiceApiKey}&timeOut=10000&cm=${MeControl.Config.mkt.toLowerCase()}&scn=MSNRPSAuth&user=${window.muid}&$select=rewards|reportactivity|guessinggame|0|${window.gameHash}&$filter=~5000&activityid=${window.activityId}
,{
method: "GET",
cache: "no-store",
headers: {'Authorization':Bearer ${window.userAccessToken}
}
});
}
// Function to see if we are authenticated.
async function rewardsConnectorAuthCheck(){
var accessToken = tryGetUserAccessToken();
var tokenStorage = localStorage.getItem("1s-tokens");
if(tokenStorage || accessToken){
window.userAccessToken = (accessToken ? accessToken : JSON.parse(tokenStorage).accessToken);
msnShoppingGamePane.signInState = 0;
return true;
}
else
{
alert("Unable to find '1s-tokens', The page will now reload.\nYou will need to re-run the script when the page has reloaded.");
return document.location.reload();
}
}
// Function that modifies the game products.
function modifyGameProducts(){
msnShoppingGamePane.displayedShoppingEntities = [msnShoppingGamePane.displayedShoppingEntities[0]];
}
// Function to remove the 10 daily game limit. ( still limited to 100 points daily )
function removeDailyGameLimit(){
if(msnShoppingGamePane.displayedShoppingEntities.length > 1)
modifyGameProducts();
localStorage.removeItem("gamesPerDay");
msnShoppingGamePane.dailyLimitReached = false;
if(msnShoppingGamePane.leaderboardRecord)
msnShoppingGamePane.leaderboardRecord.dailyGuessingGamesPlayed = 0;
msnShoppingGamePane.gameState = (msnShoppingGamePane.gameState == "idle" ? "active" : msnShoppingGamePane.gameState);
}
// Function that modifies the game.
async function modifyGame(){
// Get the game hash.
window.gameHash = msnShoppingGamePane.displayedShoppingEntities[0].gameHash;
// Check if the shopping game was found.
if(msnShoppingGamePane != null)
{
// Switches msnShoppingGamePane slot with slot2, bringing it to the top of the page.
if(switchAreaSlot){
if(msnShoppingGamePane.style.gridArea != "slot2"){
msftFeedLayout.shadowRoot.children[1].style.gridArea = msnShoppingGamePane.style.gridArea;
msnShoppingGamePane.style.gridArea = "slot2";
// Scroll to the top of the page, For people who scroll down before running the script.
window.scrollTo(0,0);
}
// Keep the game at the top when layout changes.
if(!window.layoutColumnsChangedOG){
window.layoutColumnsChangedOG = msnShoppingGamePane.layoutColumnsChanged;
msnShoppingGamePane.layoutColumnsChanged = function(e, t){
layoutColumnsChangedOG.call(msnShoppingGamePane, [e, t]);
msnShoppingGamePane.style.gridArea = "slot2";
}
}
}
// Override their 'startCountdown' so we can increment the game count.
if(showCustomGameCounter && !window.startCountdownOG){
window.startCountdownOG = msnShoppingGamePane.startCountdown;
msnShoppingGamePane.startCountdown = function(){
window.startCountdownOG.call(msnShoppingGamePane);
setTimeout(() => {
incrementGameCounter();
modifyGameProducts();
}, (msnShoppingGamePane.gameSettings.newGameCountdown * 1000) + 1200);
}
}
// Get initial user balance.
if(showCustomPointsCounter)
updateUserPointsBalance();
// Override their gSCS to always return green.
msnShoppingGamePane.gSCS = function (e) {
return msnShoppingGamePane.isGameFinished ? "--price-color:#00AE56;--price-color-dark:#00AE56" : "";
}
// Override their 'getGameResult' function with our own to execute 'autoReplay' and 'updateUserPointsBalance' on game complete, Also removes the 10 game limit.
msnShoppingGamePane.getGameResult = async function(e)
{
// Make sure a product card is selected.
if (msnShoppingGamePane.isGameFinished)
{
// Change current gameState to 'win'.
msnShoppingGamePane.gameState = 'win';
// Remove daily game limit.
removeDailyGameLimit();
// Report 'guessinggame' activity, Only calling when the answer was wrong.
if(msnShoppingGamePane.selectedCardIndex != msnShoppingGamePane.c_ai && msnShoppingGamePane.selectedCardIndex > -1){
msnShoppingGamePane.gameContainerRef.querySelector("fluent-card").You do not have permission to view the full content of this post. Log in or register now. = "border:4px solid rgb(0, 174, 86)";
msnShoppingGamePane.selectedCardIndex = -1;
msnShoppingGamePane.confettiAnimate.play();
await reportActivity();
}
// Update user points balance.
if(msnShoppingGamePane.gameState === "win" && showCustomPointsCounter)
setTimeout(updateUserPointsBalance, 1200);
// Automatically click 'Play Again'.
if(autoReplay && msnShoppingGamePane.selectedCardIndex > -1){
msnShoppingGamePane.selectedCardIndex = -1;
setTimeout(()=>Array.from(msnShoppingGamePane.gameContainerRef.querySelectorAll("button")).find(e=>e.textContent.toLowerCase().includes("play again"))?.click(), 25);
}
return "win";
}
};
setInterval(removeDailyGameLimit, 100);
incrementGameCounter();
msnShoppingGamePane.gameState = "active";
}
else alert("Unable to locate the shopping game!\nRefresh the page and try again.");
}
// This is the start...
if(validUrlCheck()){
setTimeout(async () => { await rewardsConnectorAuthCheck() && await setupReportActivityUrl() && modifyGame(); }, 500);
}
paste sa console bahala na kayo dyan haahha
meron din ba sa brave?dko pa nasubukan.wala kong alam sa mga ganon e.pero gumagamit ako brave
Chrome gamitin mo lods
Chrome gamitin mo lods
naka vpn ka ata eh. san mo ba nakuha yung points? dun lang pwede i-redeem yun.
HAHAHA ituro mo lods.naka 15k points na ako 5 accounts in 5 days haha
Tama naman lods. Basta may isang matira doon sa choices. Yun kasi tamang sagot. Kaya Yun lang i-click mo. Sunod-sunod na Yun. Reload and repeat lang steps if hindi nag-load next choices.
Parang imposible yan lods. 600 points per day? Masyadong far fetched. láρág points stats kung legit.naka 15k points na ako 5 accounts in 5 days haha
ibang script ginagamit ko then sa Canary ako gumagamit ng script. ikaw ba, saan ka nagamit ng script?Tama naman lods. Basta may isang matira doon sa choices. Yun kasi tamang sagot. Kaya Yun lang i-click mo. Sunod-sunod na Yun. Reload and repeat lang steps if hindi nag-load next choices.
Parang imposible yan lods. 600 points per day? Masyadong far fetched. láρág points stats kung legit.
Diko pa alam yung canary lods. Based sa search ko, dapat pala naka-beta ka para doon.ibang script ginagamit ko then sa Canary ako gumagamit ng script. ikaw ba, saan ka nagamit ng script?
actually, possible yung 600. pinakamataas ko nakuha is around 560 sa isang account pero depende eh. minsan kasi di nagana.
you mean chrome beta? para gumana yung script sa taas? chrome canary na lang ginamit ko. goods naman na. may idea kaba dun sa +250pts?Diko pa alam yung canary lods. Based sa search ko, dapat pala naka-beta ka para doon.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?