Talk:Store Thank You Messages
From Homestar Runner Wiki
This page will describe the special "Thank You" messages from the Store. The title should be better, but I can't think of a better one. Any ideas on what it should be moved to? ⇔Thunderbird⇔ 19:10, 3 February 2006 (UTC)
Mirrors
Can we get mirrors to the toons that we usually can't see? Or would that be going too far legally? - Joshua 15:22, 7 February 2006 (UTC)
How does the flash know something's been bought?
How does the flash know something's been bought? There must be some kind of parameter or something passed to the HTML that tells the flash that an Item's been bought... Does anyone know? --Stux 16:02, 19 February 2006 (UTC)
- From what I can tell, the JavaScript on the page reads the browser referrer, then adds it as a Flash variable (for example, "heythanks.swf?rf=Referrer goes here"). I guess that if it doesn't match a preset value embedded in the Flash, then it takes you to the backdoor message. --
ENUSY

16:15, 19 February 2006 (UTC)
- Hmmm... quite interesting. So we'd just need to disassemble the Actionscript to figure out what the referrer codes are (or is)... --Stux 16:23, 19 February 2006 (UTC)
- Just decomplied heythanks.swf. See below for the actionscript. It seems like the only referrers are "https://order.store.yahoo.com/" and everything else. --
ENUSY

16:40, 19 February 2006 (UTC)
- Just decomplied heythanks.swf. See below for the actionscript. It seems like the only referrers are "https://order.store.yahoo.com/" and everything else. --
Decompiled ActionScript
// Frame 1 actions...
function masterPresent () {
return true
}
function controllerLoaded () {
var _local7 = _root.rf.substr(0, 30)
if (_local7 == "https://order.store.yahoo.com/") {
var _local6 = new Array ("thankyou_celegante.swf","thankyou_bubsness.swf","thankyou_song.swf","thankyou_cinnamon.swf")
var _local2 = sceneChoice = Math.floor(Math.random() * ((_local6.length - 1)))
var _local4 = new Date ()
var _local5 = LocalData.load("ty", "lt")
var _local3 = LocalData.load("ty", "n")
if ((_local5 == undefined) || (_local3 == undefined)) {
}
else if ((!isNaN (_local5.getTime())) && (!isNaN (_local3))) {
if ((_local4.getTime() - _local5.getTime()) / 60000 < 10) {
_local2 = Number(_local3)
if (_local4.getHours() < 5) {
}
}
}
_local2 = 3
LocalData.save("ty", "lt", _local4)
LocalData.save("ty", "n", _local2)
_root.content_mc.loadMovie(_local6[_local2])
} else {
_root.content_mc.loadMovie("thankyou_bonus.swf")
}
}
test_txt.text = _root.rf
stop()
_root.onEnterFrame = function () {
if ((_root.getBytesLoaded() > 4) && (_root.getBytesLoaded() >= _root.getBytesTotal())) {
controllerLoaded ()
delete(_root.onEnterFrame)
}
}
