Forum Solarus-Games francophone

Jeux amateurs => Tutoriaux => Tutoriaux "Développement" => Discussion démarrée par: SaniOKh le 21 Décembre 2005 à 22:52

Titre: [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: SaniOKh le 21 Décembre 2005 à 22:52

TUTO PAR SANIOKH

Tout d'abord, attention! Ce plug-in n'est compatible qu'avec RPG Maker 2000! Ni avec 2003, ni surtout pas avec XP, seulement avec 2000! Merci.
Ce tutorial s'adresse aussi aux habitués de RPG Maker. Inutile de m'envoyer des MP du genre "compren pô, explike-moâ", je ne répondrai pas. Rappelez-vous également que le tutorial n'est pas sous garantie et que je ne suis pas responsable si votre projet est détruit suite à ces manips!

Il y a un bon moment déjà, j'ai découvert ce patch qui, apparemment, permettait de débloquer l'ensemble du clavier pour un jeu RPG Maker, mais ô malheur... il était en allemand. Le jeu-exemple fourni était tout à fait bluffant: en effet, on pouvait, par exemple, contrôler deux personnages (un avec les touches directionelles, l'autre avec les touches Z, Q, S et D) . Un autre exemple montrait carrément les déplacements avec la souris, comme un point-n-click!
Et ce n'est que récemment que j'ai trouvé un tuto en russe (vive les espions russes du forum ZS, je dis ^^) qui expliquait plus ou moins comment s'en servir. Vu que ce tuto n'est pas génialissime mal expliqué et court), j'ai décidé d'en écrire un à moi.

Bon, d'accord, il n'est pas exhaustif, mais quand même ^^.


I. Installation du plug-in
Tout d'abord, il faut le télécharger ^^. Comme l'autre lien ne marche plus (merci Rapidshare) , je l'ai uploadé sur mon serveur: ici (http://saniokh.free.fr/InelukiKeyPatchv1.2.exe).
Vous vous retrouvez avec un fichier .exe, un exécutable Win-RAR. Appuyez sur "Installieren >" sans changer de dossier de destination, vous verrez apparaître dans le même dossier le dossier "Ineluki Key Patch v1.2".
A l'intérieur, trois dossiers:
*"Beispiele" : contient les scripts pour le plug-in... ils sont en format WAV? Pas tout à fait, regardez un peu plus, ils se terminent tous par .script.wav . C'est une ruse pour obliger RM2K à les utiliser ^^, ce ne sont que des fichiers texte.
*"Demospiel" : jeu-exemple.
*"Install" : lancez l'installation contenue dans ce dossier pour installer proprement dit le patch. Attention: vous devez avoir RPG Maker 2000 installé!

Une fois fini, vous verrez apparaître le fichier oldharmony.dll. Ce patch remplace le fichier harmony.dll par un autre, qui lui inclut le patch. Attention: le harmony.dll patché fait apparaître un pop-up, non seulement quand RM2K est lancé, mais au démarrage du jeu! Alors si vous ne voulez pas de ce patch pour un de vos projets, autant recopier le harmony.dll d'origine dans le dossier du jeu...

II. Le clavier! Le clavier!
Et oui, on va enfin utiliser tout le clavier.
Comment ça marche? Vous vous souvenez de la fonction "Détecter Appui Touche" (mal traduit dans certaines éditions de RM2K comme "Entrer Mot De Passe" ou "Entrer Code"... se trouve à la troisième page) ? Cette fonction changeait une variable en fonction de la touche appuyée:
Et bien, Ineluki Key Patch fonctionne pareil! Mais, à quelques détails près. Ne vous attendez pas à découvrir un nouveau menu "Détecter appui touche", souvenez-vous que ce patch n'est pas officiel, et donc que Ineluki n'avait pas accès au code source. Donc, il faudra traficoter un peu pour faire marcher la machine ^^. C'est ici que les scripts en ".script.wav" entrent en jeu.

L'avantage de ce code est qu'on va pouvoir décider nous-mêmes les valeurs des variables pour chaque touche.
Les scripts fournis avec le patch ne nous conviennent pas forcément. Nous allons en créer nous-mêmes ^^

Alors, allez dans le bloc-notes et commencez par entrer ceci:
[execute]
Action=enableKeySupport
Enable=True
next=

C'est le code qui met en marche le support de toutes les touches. Oui, OK, le script fourni prévu à cet effet est identique aux commentaires près... mais c'est mieux comme ça :) Sauvegardez ceci comme... Allez, pour notre exemple, le nom de ce fichier sera: keyon.script.wav . Mettez ce fichier dans le dossier Sound de votre projet.

Maintenant, vous vous posez la question: mais par quel biais nous allons assigner les variables à ces touches, s'il n'y a pas d'options prévues à cet effet?
Allez, dans les actions des événements (oui, la fameuse grosse fenêtre à trois onglets... ou pages... dites comme vous voulez :) ) et allez dans Variables. Regardez la toute dernière option: assigner à la variable la valeur... de la position sur le midi joué. Vraiment, est-ce que vous connaissez quelqu'un qui s'en soit déjà servi? Pas moi :/ .
(http://img440.imageshack.us/img440/5549/clipboard013jo.th.gif) (http://img440.imageshack.us/my.php?image=clipboard013jo.gif)
Alors nous alons remplacer cette fonction bête et méchante par la détection des touches de tout le clavier.

Pour ne pas faire compliqué et appeler deux codes à la suite, nous allons éditer le premier code. Ouvrez keyon.script.wav avec votre bloc-notes.

[execute]
Action=enableKeySupport
Enable=True
next=


Et changez-le en ceci:

[execute]
Action=enableKeySupport
Enable=True
next=midi

[midi]
Action=MidiTickFunction
Command=output
next=


Je pense que ce serait bon de vous expliquer quoi est quoi.
[execute] est le nom du code à l'intérieur du script. Le premier script doit être nommé [execute] et sera exécuté en premier.
Puis suit tout ce qui est action que fait le script.
"next" est le nom du code à l'intérieur du même script qui doit être effectué après celui-ci. Laissez vide si vous voulez briser la chaîne et arrêter le script.

C'est bon! Maintenant, quand vous aurez joué ce "son" par les moyens de votre RPG Maker, vous pourrez assigner les touches avec la commande la plus inutile qui soit :)

Alors maintenant nous allons décider à quelle touche correspond quelle valeur.

Ceci se fait encore par intermédiaire de scripts, mais cette fois-ci il en faut deux: un pour détecter les touches appuyées (et attribuer aux variables les valeurs correspondantes) et un autre pour détecter les touches relâchées (et attribuer aux variables les valeurs correspondantes).

Les scripts ont cette forme:
Action=
// ici: registerKeyDownEvent si vous voulez détecter les touches appuyées ou registerKeyUpEvent si vous voulez faire les touches relâchées
Key=
// ici: touches. a, b, c, d... les touches à noms de plus d'une lettre sont entre parenthèses:
(Tab) , (Enter) , (Space) , (Strg) (ça doit être MAJ) etc
Value=
// ici: valeur que vous voulez attribuer à la variable


Veuillez remarquer, que ces touches sont comptées comme les touches d'un clavier allemand, donc que certaines lettres ne seront pas à leur place une fois le jeu lancé.

Par exemple, vous voulez que quand on appuie sur la touche N, le perso saute, quand on appuie sur F1, apparaisse un message et quand on appuie sur F2 apparaisse la fenêtre de sauvegarde. On veut que ces trois touches soient liées à la même variable (avantage: plus vite fait, inconvénient: on ne peut pas les actionner en même temps ^^). la touche F1 correspondra à la valeur 1 de la variable, la touche F2 correspondra à 2 et la touche N correspondra à 3.

Alors voilà le script pour détecter les appuis sur les touches. Appelons-le mykeyson.script.wav :
[execute]
Action=registerKeyDownEvent
Key=(f1)
Value=1
next=f2

[f2]
Action=registerKeyDownEvent
Key=(f2)
Value=2
next=n

[n]
Action=registerKeyDownEvent
Key=n
Value=3
next=

Remarquez que j'ai indiqué, après chaque code, le code suivant à exécuter avec la commande Next. Surtout, ne pas l'oublier!
Maintenant, allons créer le script pour les touches relâchées mykeysoff.script.wav.
[execute]
Action=registerKeyUpEvent
Key=(f1)
Value=0
next=f2

[f2]
Action=registerKeyUpEvent
Key=(f2)
Value=0
next=n

[n]
Action=registerKeyUpEvent
Key=n
Value=0
next=


Ces scripts sont toujours dans le dossier Sound de votre projet!

Maintenant allons exécuter la chose! Au début du jeu, un événement en auto-démarrage doit jouer le "son" "keyon.script.wav" une fois, suite à quoi on pourra enfin profiter du clavier!

En événement commun parallèle qui démarrera au même moment où le script "keyon.script.wav" sera lu, vous mettez ceci (soit [touche] une variable) :


<>Jouer son: mykeyson.script.wav
<>Variable [touche] = Position du MIDI       //C'est bon, on a détécté les appuis
<>Si [touche]=1
_<>Message: "Aide :)"
_<>
Sinon:
_<>Si [touche]=2
__<>Menu de sauvegarde
__<>
_Sinon:
__<>Si [touche]=3
___<>Déplacer événement: Héros: commencer un saut, terminer un saut
___<>
__Fin
__<>
_Fin
<>
_<>
Fin
<> // Eh oui, c'est tout bête :) Tout comme avec RM2K3 :)
<>Jouer son: mykeysoff.script.wav
<>Variable [touche] = Position du MIDI       //C'est bon, on a détécté les touches rélâchées


Et c'est tout! Maintenant, testez votre projet et admirez :)
Les scripts restent actifs quand on sauvegarde et charge une sauvegarde.



C'est tout pour l'instant. Dès que je pourrai savoir comment marche la souris dans tout ça, je vous le fais savoir en complétant ce tuto ;)

A suivre (d'après ce que j'ai pu voir qui est possible):
*Point'n'click à la souris
*Codes de triche avec RM2K?
Titre: Re : [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: kaz-the-thief le 28 Octobre 2009 à 13:03
Salut j'adore ton tuto sauf qu'il y a un seul petit probleme.

Ton lien marche pas donc on peut pas avoir le patch ineluki parce que sur google je le trouve pas. Donc j'aimerais sa si tu pouvais me l'envoyer par email sa serait sympa.
ultimate_fire"hotmail.com

Merci
Titre: Re : [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: BenObiWan le 28 Octobre 2009 à 13:21
En même temps il a 4 ans ce tutoriel, un peu normal que le lien ne marche plus... Et SaniOKh ne passe plus trop sur le forum.
Titre: Re : [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: kaz-the-thief le 29 Octobre 2009 à 03:43
''Damn'' Sauf que toi tu saurais pas où je peut le trouver?
Titre: Re : [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: BenObiWan le 29 Octobre 2009 à 08:51
Euh... Nan aucune chance, jamais touché à RPG Maker et je ne risque pas de le faire.
Titre: Re : [RM2K]Ineluki Key Patch: le clavier est à votre service... (par SaniOKh)
Posté par: kaz-the-thief le 29 Octobre 2009 à 20:53
Ok mais j'ai un ami qui m'a dit où je pouvais le trouver donc sait régler et pour ceux qui vont se demander ou le trouver comme moi et qu'il ne trouverons pas et bien sait par ici : http://www.rpg-maker.fr/index.php?page=programmes&type=5
(http://www.rpg-maker.fr/index.php?page=programmes&type=5)
Sait là dedans!

Et merci a toi BenObiWan