Cheatcodes mit MooTools

moocheatcode

[Edit: ‚Benutzung‘ hier her kopiert]

Ich bin ein großer Freund von Easter-Eggs jeglicher Art.

Als ich also gestern in einer „Auf-Wikipedia-von-Seite-zu-Seite-klick“-Session auf irgendwelchen nicht mehr nachvollziehbaren Wegen zu alten Computerspielen und Cheat-Codes kam, wurde mir plötzlich bewusst, was das vorherrschende Problem des Internets ist: Es gibt viel zu wenige Nudepatches, äh Cheater, quatsch-ne-anders versteckte Fundstücke im Netz 🙂

Also schrieb ich schnell eine kleine MooTools-Klasse, mit der man auch mit wenig Javascript-Kenntnissen wundervolle Tastenabfolgen abfragen und seinem inneren Spielkind nachgehen kann. „Unnütz“, mögen viele an dieser Stelle sagen – worauf ich nur „Richtig, aber ich mag’s“ entgegnen kann.

Demo/Benutzung/Download:

Demo: Usage+Download (englisch).

Benutzung (siehe Demo):

options:

myCheats = new MooCheatCode({
		autostart: false, //start automatically
		maxCache: 20, //max size of cached keypresses
		tickIntervalLength: 1000, //interval to match cache with codes
		stopPropagation: true, //cancels Firefox' findasyoutype feature...
		codes: {} //something like  {
			  //	'code1': 'q, w, e, r, t, up, down',
			  //	'code2': 'a, s, d, f, g'
			  //}
	});

‚useful‘ methods (they all return the MooCheatCode instance):

.addCode(name, code): Adds Single Code
.addCodes({'name1': code1, 'name2': code2}): Adds Codes
.start(option): Starts.
.stop(option): Stops.

events:

.addEvents({
	'match': function(ev){ //fired if any code is matched
		//ev.name, ev.code
	},
	'match'+name: function(ev){ //fired if string 'name' is a match
		//ev.name, ev.code
	},
	'addcode': function(ev){ //fired after addCode();
		//ev.name, ev.code
	},
	'addcodes': function(ev){ //fired after addCode();
		//ev is like {'name1': code1, 'name2': code2}
	},
	'start': function(ev){ //fired after start();
		//ev = options for start()
	},
	'stop': function(ev){ //fired after stop();
		//ev = options for stop();
	}
});

4 Anmerkung zu “Cheatcodes mit MooTools

  1. Hannes

    Genau: „Unnütz, aber ich mag’s“
    Blöd nur, dass Firefox mit „find-as-you-type“ (haben das eigentlich alle an oder bin ich eher da die Ausnahme? ) die Key-Events verschluckt. Lief bei mir erst, nachdem ich find-as-you-type deaktiviert habe… k.A. ob man da mit JS überhaupt zwischenkommt.

  2. John Autor des Beitrags

    Hah, na sowas. Gut zu wissen 😉 Ich werde mich mal schlau machen, ob man das irgendwie umgehen kann – am besten, ohne die FFx-Suche kaputt zu bekommen. Glaube ich aber nicht – Userprefs gehen schließlich vor.

  3. John Autor des Beitrags

    Nö, onbeforekeypress ist mir fremd.
    Habe allerdings gerade zum Einschlafen den listener auf window umgebogen (Find-as-you-type horcht da auch, das fand ich nur fair *g*) und eine Option für ein einfaches stopPropagation() eingebaut (standard: true). Hat schon geholfen – die Suche selbst ist ja auch nur JS 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert