JustPaste.it

Rozet Method

1.Adım : "Windows + R" tuş kombinasyonu ile çalıştır menüsünü açıyoruz. Açılan menüye %appdata%\discord yazıp enter tuşuna basıyoruz.

2.Adım : Açılan klasörden "settings.json" veya "settings" adlı dosyayı buluyoruz. Dosyayı bir metin düzenleyicisi ile açıyoruz. Görselde belirtilen şekilde "DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true, kodunu yazıyoruz ve metin belgesini kaydedip discordu yeniden başlatıyoruz.

4941df453cbc0d2f88bd0566d562be9e.png

3.Adım : Discordu açıp ayarlardan "Hediye Envanteri" sekmesine giriyoruz. Açılan bölümden Genshin İmpact görevini aktif edip bir sesli odada veya bir aramada ekran paylaşıyoruz. Paylaşılan ekranın ne olduğu önemli değil tek önemli nokta Yayını izleyen birisi olmalı. Bu kişi yan hesabınız veya bir arkadaşınız olabilir. 

4.Adım : CTRL + Shift + I kombinasyonuyla console sekmesini açıyoruz.(Eğer AMD screenshot programı açılırsa program üzerinden tuş kısayolunu değiştirmelisiniz) Açılan sekmede "allow pasting" yazıp enter tuşuna basıyoruz. Sonra aşağıda verdiğim kodu yapıştırıp 15 dakika bekliyoruz. Görevin ilerleme yüzdesini hediye envanterinden görüntüleyebilirsiniz. Görev tamamlandığında Ödülü Al butonuna basıp rozeti alabilirsiniz.

let wpRequire;
window.webpackChunkdiscord_app.push([[ Math.random() ], {}, (req) => { wpRequire = req; }]);

let ApplicationStreamingStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getStreamerActiveStreamMetadata).exports.default;
let QuestsStore = Object.values(wpRequire.c).find(x => x?.exports?.default?.getQuest).exports.default;
let FluxDispatcher = Object.values(wpRequire.c).find(x => x?.exports?.default?.flushWaitQueue).exports.default;

let quest = [...QuestsStore.quests.values()].find(x => x.userStatus?.enrolledAt && !x.userStatus?.completedAt && new Date(x.config.expiresAt).getTime() > Date.now())
let isApp = navigator.userAgent.includes("Electron/")
if(!isApp) {
	console.log("This no longer works in browser. Use the desktop app!")
} else if(!quest) {
	console.log("You don't have any uncompleted quests!")
} else {
	let pid = Math.floor(Math.random() * 30000) + 1000
	ApplicationStreamingStore.getStreamerActiveStreamMetadata = () => ({
		id: quest.config.applicationId,
		pid,
		sourceName: null
	})
	
	let secondsNeeded = quest.config.streamDurationRequirementMinutes * 60
	let fn = data => {
		let progress = data.userStatus.streamProgressSeconds
		console.log(`Quest progress: ${progress}/${secondsNeeded}`)
		
		if(progress >= secondsNeeded) {
			console.log("Quest completed!")
			FluxDispatcher.unsubscribe("QUESTS_SEND_HEARTBEAT_SUCCESS", fn)
		}
	}
	FluxDispatcher.subscribe("QUESTS_SEND_HEARTBEAT_SUCCESS", fn)
	
	console.log(`Spoofed your stream to ${quest.config.applicationName}. Stay in vc for ${Math.ceil(quest.config.streamDurationRequirementMinutes - (quest.userStatus?.streamProgressSeconds ?? 0) / 60)} more minutes.`)
	console.log("Remember that you need at least 1 other person to be in the vc!")
}