Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
309 connectés actuellement
30945947 visiteurs depuis l'ouverture
1985 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
TarErendis -
posté le 21/05/2014 à 09:51:01 (9 messages postés)
| | Domaine concerné: Script
Logiciel utilisé: RPG MAKER XP
bonjour,
Je ne connais pas vraiment le ruby mais j’essaie de trouver un moyen pour que lorsque j’appuie sur une touche de mon clavier cela lance un Common Event de ma base de donnée... quelqu'un sais faire cela ? J'ai cherché sur google et les forum je trouve des super script très complet sur le gestion de touche mais c'est souvent trop complet et ça ne m'aide pas... tout ce que je veux c'est un bout de code simple et qui fonctionne un truc du genre:
sur la map:
if j'appuis sur (tel touche)
lance common event (tel numero)
end
merci d'avance
|
Ødd Clock -
posté le 21/05/2014 à 10:07:04 (546 messages postés)
- | Il s'avère que le temps passe sans vous voir. | Bah tu peux faire ça directement en évènement non ?
Genre :
<> Condition : Si touche C est pressée
<> Appeler évènement commun : 001 : "trukquetuveufère"
<> Fin
Simple non ? Tu mets ça dans un évènement commun que tu peux appeler par exemple "APPEL TOUCHE", en processus parallèle avec un interrupteur qui l'active, comme ça tu peux désactiver le processus pendant les phases de dialogues ou autres phases dans lesquelles l'appel de touche ne peut être effectuée.
|
SwingSoft Productions - Studio de jeux amateurs | A-RPG : Forstale - La Légende des Grands Sauveurs | Ma Galerie | Page Facebook de Forstale |
TarErendis -
posté le 21/05/2014 à 10:16:40 (9 messages postés)
| | hum... Effectivement ça marche comme ça... faut que je vois du coup si ça peut pas perturber le jeu.
Et c'est possible de lancer un skill sur une touche ?
|
Ødd Clock -
posté le 21/05/2014 à 10:27:13 (546 messages postés)
- | Il s'avère que le temps passe sans vous voir. | Bah il faut au moins un switch qui gère l'activation ou non de l'évènement commun qui te permet d'appuyer sur la touche, sinon tu pourras le faire dans les phases non-jouables et ça va faire pas propre. Après je sais pas trop ce que tu comptes mettre comme évènement commun à l'appel de la touche donc là je peux pas dire si ça va perturber ou pas ton jeu.
Tu entends quoi par lancer un skill ?
|
SwingSoft Productions - Studio de jeux amateurs | A-RPG : Forstale - La Légende des Grands Sauveurs | Ma Galerie | Page Facebook de Forstale |
TarErendis -
posté le 21/05/2014 à 10:39:54 (9 messages postés)
| | En fait pour faire simple j'ai un skill "Méditation" qui permet de récupérer de la vie et mana hors combat. Normalement je le lance via le menu, compétence.
Le skill lance un common event, qui affiche du text, lance des animations, fait attendre le joueur:
Voila en très gros ce que ça fait:
text: "Vous lancez méditation"
wait 20
Animation
Wait 20
Animation
Change hp +200
text "Vous avez fini de méditer"
Mais un joueur m'a dit que ce serait pratique vu qu'on l'utilise souvent, de pouvoir le lancer via une touche. ça me parait une bonne idée mais voila, faudrait que ce soit une touche non utilisé par le jeu si possible
et soit je lance un common event qui verifie qu'on a bien la compétence et lance le common event méditation, soit il lance le skill si c'est possible de lancer un skill via une touche
|
Ødd Clock -
posté le 21/05/2014 à 11:00:41 (546 messages postés)
- | Il s'avère que le temps passe sans vous voir. | Si ton Skill Méditation est fait par un évènement commun, alors tu utilises le schéma dit plus haut, à savoir utiliser les conditions directement dans l'évènement pour appeler ton évènement commun "Méditation".
<> Condition : Si touche C est pressée (ou autre touche proposée par RMXP)
<> Appeler évènement commun : 001 : "Méditation"
<> Fin
Et dans ton évènement commun "Méditation" :
<> Condition : si héros "X" possède la compétence Médiation :
<> Soigner, animations etc
<> - Sinon
<> rien
Sinon je ne crois pas que dans RMXP il y ai une commande du genre "lancer tel skill".
|
SwingSoft Productions - Studio de jeux amateurs | A-RPG : Forstale - La Légende des Grands Sauveurs | Ma Galerie | Page Facebook de Forstale |
TarErendis -
posté le 21/05/2014 à 12:06:41 (9 messages postés)
| | Cette technique marche le problème c'est que si j'ai d'autres compétence pour lequelles je veux faire ça je peux pas car limite par le nombre de touches dispo. Après je peux biaiser avec un dialogue a choix multiple qui apparaît pour chaque compétence ...
ce qui est chiant c'est que je dois prévoir dans chaque dialogue du jeu ou évent qui bloque le joueur le temps d'une mise en scène de switch off ...
Bon faute de meilleure option je vais faire comme ça...
Merci beaucoup pour ton aide en tout cas.
Edit: C'est normal qu'au contact d'un Event ça déclenche ce dernier (par exemple pnj)?
|
Dyeel -
posté le 21/05/2014 à 13:00:33 (200 messages postés)
| | Salut!
Tu as plusieurs scripts pour gérer le clavier :
http://www.rpg-maker.fr/scripts-74-gestion-complete-du-clavier-.html
http://www.rpg-maker.fr/scripts-80-input-ameliore.html
http://www.rpg-maker.fr/scripts-233-input-ultimate.html
Si tu veux utiliser ça, il faut que tu voies comment t'en servir directement dans la page correspondant à chaque script.
Ensuite, quand tu as repéré la condition, par exemple :
1
2
3
| if Keyboard.pressed("a")
#...
end |
Il te suffit d'utiliser une condition classique de RMXP. Tu cherches, tu verras "script" dans les conditions, et dans le cadre tu écris juste :
sans if ni rien.
Ça fait que tu utilises une simple condition en event, mais avec un bout de script dedans. Si c'est pas clair, dis le, j'essaierai d'expliquer mieux
|
TarErendis -
posté le 21/05/2014 à 13:32:02 (9 messages postés)
| | oui j'avais regardé du coté de ces scripts mais je n'en comprends pas bien le fonctionnement...
Je mets le script dans un nouveau fichier au dessus de Main, par exemple "touche_clavier"
mais je ne sais pas ou mettre le code suivant :
1
2
3
| if Keyboard.pressed("m")
#...
end |
et surtout comment dire que si j’appuie sur "m" lance tel common Event
j'ai trouvé dans Scene_Map une zone ou je peux mettre des fonction sur l'appuis d'une touche, j'arrive avec les touches déja prédefinie a lancer des choses comme: print "test"
mais je n'arrive pas a lancer un common event
Edit: Ah je test la derniere version ici Cliquez
Je commence à piger le fonctionnement mais je n'arrive pas a ajouter de nouvelle Key pour utiliser le M par exemple en Input::M.press?
|
Ødd Clock -
posté le 21/05/2014 à 14:13:06 (546 messages postés)
- | Il s'avère que le temps passe sans vous voir. | Bah avec ce que Dyeel propose ça ne change rien à la condition que je t'avais expliqué, sauf qu'avec la portion de script tu peux accéder à toutes les touches.
Ca donnerai un truc du genre :
<> Condition : Si script = Keyboard.pressed("a")
<> Appeler un évènement commun
<> Fin
Et tu remplace "a" par la lettre que tu veux.
Pour le gameplay en jeu, c'est quand même mieux de se cantonner à deux ou trois lettres, max. Sinon on va vite se perdre à savoir quelle touche utiliser pour faire quoi. Il faudrai faire un système qui te permet d'assigner un sort à un touche genre avoir comme lettres : Q, S et D, et puis avoir un menu qui permet d'assigner un sort à une lettre.
Sinon, pour ce qui est d'activer/désactiver un switch à chaque event qui stoppe le héros, c'est rien du tout ça je bosse sur un projet A-RPG sur RM, et je dois jouer entre 5 switch pour que le moteur s'active et se désactive au bon moment
Pour finir, c'est normal que ça se déclenche quand tu parle à un PNJ parce que tu as utilisé la touche C (qui est considérée comme Entrée par RM) que j'avais donné en exemple. Donc quand tu appuie sur Entrée pour parler à un PNJ, RM considère que c'es la touche C donc il active l'evènement. Encore une fois, si tu passes par la portion de script, tu n'auras plus ce problème.
|
SwingSoft Productions - Studio de jeux amateurs | A-RPG : Forstale - La Légende des Grands Sauveurs | Ma Galerie | Page Facebook de Forstale |
TarErendis -
posté le 21/05/2014 à 14:32:10 (9 messages postés)
| | Salut, j'ai reussi a utiliser le script je peux donc me servir des autres touches que celle prévu pour le reste c'est comme Odd Clock m'a dit. Par contre le soucis d'event qui s'active se produit que ce soit la touche C, A, ou la nouvelle M... Et ça c'est vraiment pas normal ...
Et pour le swtich c'est pas que je trouve ça chiant en soit... C'est que mon jeu a une durée de vie de 25h déjà et que je vais devoir tout reprendre pour ajouter les switch !! lol...
Edit: J'ai pigé le probleme d'event qui se déclenche... Pour lancer la compétence méditation je lance un dialogue... Et qu'est-ce qu'on fait pour passer un dialogue... Entrer... et si on est en face d'un pnj... Ben ça lui parle...
Bon problème réglé merci à vous deux !
|
Ødd Clock -
posté le 21/05/2014 à 15:02:54 (546 messages postés)
- | Il s'avère que le temps passe sans vous voir. | De rien si c'est réglé, précise bien "Résolu" dans l'intitulé de ton topic
|
SwingSoft Productions - Studio de jeux amateurs | A-RPG : Forstale - La Légende des Grands Sauveurs | Ma Galerie | Page Facebook de Forstale | Index du forum > Entraide > [RESOLU] [RPG MAKER XP] Appeler un événement commun par une touche
|
|
|