Homestar Runner Wiki Forum
http://forum.hrwiki.org/

Message after making a purchase, hidden files
http://forum.hrwiki.org/viewtopic.php?f=21&t=4339
Page 1 of 1

Author:  The Paper [ Mon Jul 25, 2005 5:02 pm ]
Post subject:  Message after making a purchase, hidden files

I wonder if this has been documented elsewhere. I thoroughly checked the Store page on the wiki and I could not find a reference to the following.

After one completes a purchase on the yahoo homestore runner page, he or she is taken to this page. There's some fancy javascript involved, so it was difficult extracting all the flash files for local access. I had to decompile some flash, but I ultimately came up with the following SWF files:

Main Flash FIle and HTML:

https://secure.homestarrunner.com/thankyou.swf
https://secure.homestarrunner.com/heythanks.html

Component Flash Files: (mirrors)
I hope this proves to be insightful as I'm not sure exactly how to catalog it. I know that Strong Bad says "Oh, thought you could sneak in the back door, eh? Why don't you buy something?" when trying to access the HTML link. Some of the other files appear incomplete or maybe they have yet to be completed. Hope this helps someone.

Author:  Acekirby [ Mon Jul 25, 2005 5:06 pm ]
Post subject: 

Whoa. That's really cool.

The fake Strong Bad page is amusing.

Author:  porplemontage [ Mon Jul 25, 2005 5:14 pm ]
Post subject: 

When you buy from the store there is a link to that page. When I bought the new DVD I got Homestar saying something like "Thanks for buying from the Store. You should probably get to bed." And he was wearing his nighttime getup.

Author:  FireBird [ Mon Jul 25, 2005 6:13 pm ]
Post subject: 

Looks like there's more than one thank-you message.

[edit] There is.

bubsness.swf- Bubs is in the Stand. "Thanks for buying my crap!" He puts a sign up that says $5. "Oh, that'll be five dolla's!"

celegante.swf- Strong Bad sitting in a velvet chair with a cigar and wine, money all around, and him saying "Thank-you, for all you money- I mean businuess! Thank-you for all your business... that you gave us. The Cheat, another expensive light, please!" The Cheat then comes out with a wad of money on fire and lights SB's cigar. Hers's a screenshot.

song.swf- Homestar standing in a field. He sings, "Ahem! I want to thank you... for your purchase.... toniiigghhtt! ...Toddaayy! Thank-you!" Marzipan walks up with Carol and says, "Okay, Homestar, I'm ready to record the "Thank-You song". Homestar says, "Up! Too late! Go away." Marzipan: "Alright, then. Broken up." [/edit]

Can't seem to get "cinnamon.swf" yet.

[edit 2] Looks like you computer has to be set for late night to see cinnamon, according to Jay. "song.swf" appears at night when your clock is set to late night.[/edit 2]

[edit 20X6] Okay. With help from Jay, we've gotten all the transcripts of each thanks message on the wiki article. Check 'er out! [/edit 20X6]
Whew.

Author:  Tompkins [ Mon Jul 25, 2005 7:42 pm ]
Post subject: 

none of them work for me. Weird.

Author:  FireBird [ Mon Jul 25, 2005 7:46 pm ]
Post subject: 

Tompkins wrote:
none of them work for me. Weird.

They aren't supposed to. TBC use some JavaScript, so the only way to see them is to have an order form. A "Continue" button appears and once you click that, it plays one of the "thanks" messages. Then you can go back and view it again and again, and eventually it will keep changing messages.

Make since?

Author:  Tom [ Mon Jul 25, 2005 8:01 pm ]
Post subject:  Re: Message after making a purchase, hidden files

The Paper wrote:
I wonder if this has been documented elsewhere. I thoroughly checked the Store page on the wiki and I could not find a reference to the following.

It's been on the Store Talk page for a little while.

We were trying to figure it out though. Looks like you got it.

Good work.

Author:  ed 'lim' smilde [ Mon Jul 25, 2005 8:03 pm ]
Post subject: 

Does anyone know the url of when you buy something? If so, insert it there and create a page with this code:
___________
<embed src="https://secure.homestarrunner.com/thankyou.swf" FlashVars="rf=--right here---" quality="high" bgcolor="#ffffff" width="550" height="400" name="confirmation_test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />

Author:  Tom [ Mon Jul 25, 2005 8:06 pm ]
Post subject: 

ed 'lim' smilde wrote:
Does anyone know the url of when you buy something? If so, insert it there and create a page with this text:
___________
<embed src="http://secure.homestarrunner.com/thankyou.swf" FlashVars="rf=--right here---" quality="high" bgcolor="#ffffff" width="550" height="400" name="confirmation_test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />

You might want to check the link to the Store Talk page in my last post.

I think it contains a link for what you are talking about.

Author:  The Paper [ Mon Jul 25, 2005 9:37 pm ]
Post subject: 

Woah. My bad, Tom. I didn't think to check the Talk page...I should have poked in there to see if someone else hadn't just stumbled on to these files before I did.

Right now I'm trying to figure out why I can hear the audio but I cannot see any frames. When I made my purchase, I actually saw Bubs when he said "Thanks for buying some of my crap. That'll be five dollars" But now I only see a blank black window. I think I'll try Tom's link above - the one ed 'lim' smilde was asking about.

Author:  Phlip [ Mon Jul 25, 2005 11:38 pm ]
Post subject: 

ed 'lim' smilde wrote:
Does anyone know the url of when you buy something? If so, insert it there and create a page with this code:
___________
<embed src="https://secure.homestarrunner.com/thankyou.swf" FlashVars="rf=--right here---" quality="high" bgcolor="#ffffff" width="550" height="400" name="confirmation_test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />


You don't need the specific page, as long as it starts with "https://order.store.yahoo.com/" it will work.

Author:  Black Metal [ Tue Jul 26, 2005 1:55 am ]
Post subject: 

This isn't working for me. I even added a head, body title, and HTML tag. Can someone give me the entire code for the webpage I need, not just the essential code? I actually deserve a thank you video, since I'm getting Homestore stuff for my birthday.

Author:  Phlip [ Tue Jul 26, 2005 2:04 am ]
Post subject: 

This works for me.

Using <base href> rather than the full path in the <embed> lets the file download the other necessary files.

Code:
<html>
<head>
   <title>Thank you so much for to buying our crap!!</title>
   <base href="https://secure.homestarrunner.com/">
</head>

<body bgcolor="black">
<div align="center">
<embed src="thankyou.swf" FlashVars="rf=https://order.store.yahoo.com/someotherstuff" quality="high" bgcolor="#ffffff" width="550" height="400" name="confirmation_test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />
</div>

</body>
</html>

Author:  ed 'lim' smilde [ Tue Jul 26, 2005 2:48 am ]
Post subject: 

All right! I hosted it here.

Author:  porplemontage [ Tue Jul 26, 2005 2:58 am ]
Post subject: 

ed 'lim' smilde wrote:
All right! I hosted it here.

You beat me to it. And make sure to visit at different times of the day.

Author:  Black Metal [ Tue Jul 26, 2005 12:18 pm ]
Post subject: 

Thanks people! Now people can see the thank you message without actually buying sometihhing. So far I can only see the Homestar singing one, but I'll try again later.

Author:  FireBird [ Tue Jul 26, 2005 4:14 pm ]
Post subject: 

Black Metal wrote:
Thanks people! Now people can see the thank you message without actually buying sometihhing. So far I can only see the Homestar singing one, but I'll try again later.

Try setting your compuer's clock to different times of the day. Around 3:00 AM gives you cinnamon.swf, around 11:00 PM gives you bubsness.swf or song.swf, and mid-day gives you celegante.swf.

Author:  Acekirby [ Tue Jul 26, 2005 4:22 pm ]
Post subject: 

Huh. I only see a white square.

I suck.

Author:  Dark_Link_Skywalker [ Mon Aug 15, 2005 2:29 am ]
Post subject: 

When I try to view them, I click the link, and nothing happens. It just stays on the wiki page. But when I try to type the URL in the browser's address bar, it says I've been there before.

Author:  The Paper [ Fri Oct 14, 2005 5:56 pm ]
Post subject: 

The Store since July 26, 2005 wrote:
After you buy something, you are taken to a thank you page. During the day, or any time before midnight, one of three scenes is seen. It is currently unknown what causes the different videos to appear, but it has been speculated that it is based on the number of times the thank you page has been accessed, the time on your clock, or it could be random. The scenes will be darkened in the evening, but otherwise unchanged.

After all this time, I still think we can find out exactly what causes the various "Thank You" scenes to occur. We can safely say that altering the time on your computer's clock is the primary cause, but perhaps a script specialist can analyze the following code and give us a clearer explanation.

Code:
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")
        }
    }


Like I mentioned earlier, I think there is a definite possibility that one of us can figure this out. I think I'm on the right track when I speculate that the functions "Math.random()" and "getTime()" are causing the unpredictability of the scene selection.

Basically what I'm trying to achieve is a clearer explanatory paragraph for wiki's Store article. Seeing phrases like "currently unknown" and "it has been speculated" on the wiki just doesn't cut it for me. :-|

Author:  InterruptorJones [ Fri Oct 14, 2005 7:59 pm ]
Post subject: 

Eesh. This code is a mess. But, even not knowing ActionScript, I was able to guess it out.

But here's the weird thing. If this is the code that's actually on the site, then it will play the "cinnamon" movie every time. I'm 99% sure about this. Either this is a huge bug or for some reason they intentionally changed it so only that movie would be played. Seriously weird.

Anyway, here's what the code is supposed to do: First, it checks your referrer to see if you got to the page from within the secure ordering are of the H*R store. If you didn't, it will show you the "thought you could sneak in the back door?" Strong Bad clip and that's it. (This, by the way, can be easily bypassed with certain Firefox extensions.) Otherwise, this is what happens: Every time you visit the movie page, it stores too Flash "cookies" on your computer: one that says what time you visited, and one that says which movie you saw. Then it checks to see if you last visited less than 10 minutes ago. If it's been less than 10 minutes, it will show you the same movie you saw last time. This keeps you from seeing all the movies by reloading the page over and over again.

The script also does not have any code that changes the decision based on the time of day. There is a brief reference to something happening if it's before 5 a.m., but it's a dead end and does nothing. Between that and the fact that it will only ever play the "cinnamon" movie, something weird is definitely going on. It may be that TBC (or whomever wrote this script) found a bug and, while they figure out how to fix it, put up this lame code instead, or maybe TBC had to take down the other movies for reasons unknown.

Anyway, here's my annotated version of the code so even the non-coders can see what's going on. The lines that start with "//" are the ones you'll be able to understand. If you need any clarification for any part, lemme know.

Code:
function controllerLoaded () {

  // Get the first 30 characters of the URL you came from.
  var _local7 = _root.rf.substr(0,30)
 
  // If the URL is in the secure ordering area of the H*R store, let you
  // continue.
  if (_local7 == "https://order.store.yahoo.com/") {
   
    // These are the filenames for the different movies.
    var _local6 = new Array (
      "thankyou_celegante.swf",
      "thankyou_bubsness.swf",
      "thankyou_song.swf",
      "thankyou_cinnamon.swf"
    )
   
    // Pick one of the above filenames at random and store the chosen number,
    // which represents which file will be played, in local2.
    var _local2 = sceneChoice = Math.floor(Math.random() * (_local6.length - 1))
   
    // Store the current date/time (on the user's computer) in local4
    var _local4 = new Date ()
   
    // The next two lines access files that Flash has stored on your computer,
    // like Cookies in your web browser or the savegame files for Peasant's
    // Quest. The first one stores the date/time you last visited this page.
    // The second one is equal to the whatever toon was played the last time
    // you were here.
    var _local5 = LocalData.load("ty","lt")
    var _local3 = LocalData.load("ty","n")
   
    // If either of the above is empty, do nothing right now.
    if ((_local5 == undefined) ||  (_local3 == undefined)) { }
   
    // Otherwise, make sure local3 and local5 are valid numbers so we can do
    // math on them, and then...
    else if ((!isNaN (_local5.getTime())) &&  (!isNaN (_local3))) {
   
      // ...if less than ten minutes have passed since the last time you were
      // here, choose the same file that you saw last time.
      if ((_local4.getTime() - _local5.getTime()) / 60000 < 10) {
        _local2 = Number(_local3)
       
        // If it's before 5 a.m. right now, do nothing. I'm not sure what
        // the point of this line is, since it doesn't affect the rest of
        // the code.
        if (_local4.getHours() < 5) { }
      }
    }
   
    // Make local2 equal to 3. This basically tosses out everything from above
    // and makes the "cinnamon" movie play every time. Why?? I don't know!
    _local2 = 3
   
    // Save the data that we'll need next time, i.e. what time it is when you
    // visited the page and what file you saw.
    LocalData.save("ty","lt",_local4)
    LocalData.save("ty","n",_local2)
   
    // Load and play the movie specified by local2.
    _root.content_mc.loadMovie(_local6.[_local2])
   
  } else {
 
    // If they didn't come from an order page, show you the "bonus" file.
    _root.content_mc.loadMovie("thankyou_bonus.swf")   
  }
}

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/