Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Tutorials and Tips (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=27)
-   -   Some ideas for hiding Promo Codes (http://www.mysidiaadoptables.com/forum/showthread.php?t=4415)

Kyttias 12-09-2014 12:07 PM

Konami Code Install

1 - You need a link to jQuery. My Bootstrap theme comes with it. If you don't have it, hop into **root**/templates/**your theme**/template.tpl and before </body>, add this:

HTML Code:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
2 - Open up notepad, paste this in, and save it as jQuery_konami_code.js in the /js folder at the base of your Mysidia framework installation. So it will be **root**/js/jQuery_konami_code.js.
HTML Code:

;(function( $, window, document, undefined){
  var keys = []

  $.fn.konami_code = function( options ) {
    var settings = $.extend(true, {}, $.fn.konami_code.defaults, options )
    var executionCount = 0
   
    $(this).keydown(function(e) {
      if(settings.maximum > executionCount){       
        keys.push( e.keyCode )
      }
      // console.log(keys.toString())
      if ( keys.toString().indexOf( settings[settings.activeCode] ) >= 0 ){
        // execute the specified callback function when the activeCode is detected
        // if I ever use event triggers I'll need to append the event argument object to the end of settings.arguments
        settings.callback.apply( settings.scope, settings.arguments )
        executionCount++;
        // empty the array containing the key sequence entered by the user
        keys = []
      } else if (keys.length >1000) {
        keys = [] //a crude way to keep the array from getting too big for no reason--a better check would be to clear after a long delay between keypresses (400-800ms)
      }
    })
    console.log('konami_code: power on')
    return this
  } //end $.fn.konami_code() 

  defaultCallback = function(){
    console.log("power up")
    alert("power up")     
  } 

  $.fn.konami_code.defaults = {
    konami: '38,38,40,40,37,39,37,39,66,65',     
    SFII: '40,82,38,76,89,66,88,65',
    callback: defaultCallback,
    activeCode: 'konami',
    maximum: 1000000000000000,
    scope: window
  }
})( jQuery , window, document)

3 - Now you will need to link to it. Go back to **root**/templates/**your theme**/template.tpl and after the jQuery link from step 1, and before the end of the </body>, add in this (the $home variable will automatically find the root folder and does need to be changed in any way):
HTML Code:

<script src="{$home}js/jQuery_konami_code.js"></script>
4 - After this we need to initialize, that is, prepare the code. So, right after what we just did, we'll add this:
HTML Code:

<script type="text/javascript">
    myCallback = function(){ alert('yay!') }
    $(document).konami_code({ callback: myCallback })
</script>

Right now, it's creating a javascript alert window that contains 'yay!'. See how it's working alert('yay!') in the script above?

This code is now operational on every page in your site. As a reminder, the Konami Code is up, up, down, down, left, right, left, right, b, a. For some further reading on how this code can be modified, check out the github repository for it.

AndromedaKerova 04-19-2015 09:23 PM

I'm curious how I would alter the message. I want it to appear like this:


Congratulations!
You've discovered the Promo Code for the: Konamibunny

Code: PROMOCODEHERE

Enter it on the Promo Code page: http://chibifurs.elementfx.com/promo

It would be awesome if it played a defined sound as the box pops up too.
If possible, what format would the sound need to be in and how long?

Is it also possible to alter the code so only members can enter the code and not a guest or nonlogged user?

Kyttias 04-20-2015 01:07 AM

Promo codes can already only be entered by logged in users. A non-logged in member would be able to press the sequence of keys to display the alert, but they probably would not know to, nor is there any harm in letting them...?

To change the text in the alert prompt, simply follow the instructions already given and replace the word 'yay!'. Alert prompts cannot be styled in any way. If you want to pop up a div and have it styled with css instead, learn Javascript or jQuery. Or, if you're using Bootstrap already, perhaps install and learn to use Bootbox.js.

If you want to play a sound, here's the top result I got from Google.

AndromedaKerova 04-20-2015 01:22 AM

I've managed to at least put each piece on its own line via MANY spaces so yay! I'll make an attempt with the sound later.


All times are GMT -5. The time now is 09:50 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.