Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
258 connectés actuellement
30741522 visiteurs depuis l'ouverture
1895 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
nuparu1997 -
posté le 03/03/2013 à 11:46:48 (222 messages postés)
| | Domaine concerné: Script
Logiciel utilisé: VX
Salut à tous.
J'aurais besoin de petit coup de main, je crois savoir qu'il est possible, via les scripts de RMVX de faire que le jeu ouvrir tout de suite l'inventaire quand on appuie sur Echap au lieu d'ouvrir le menu. Cependant je ne sais plus comment on fait (Je crois me souvenir qu'on peut changer la commande appelée dans un des scripts mais je ne sais plus lequel (Ca fait 1 anet demi que j'ai pas touché a RM))
J'aimerais donc une réponse, ou changer, si c'est possible ou alors un script si c'est ce qu'il faut.
Merci d'avance
|
Joke -
posté le 03/03/2013 à 13:56:30 (5090 messages postés)
| Bilouteux fou | Tu peux faire un événement commun en processus parallèle avec :
Modifier l'accès au menu : Désactiver
Boucle
- - Condition : Si la touche B est pressée
- - - - @> Appeler script : $scene = Scene_Item.new
- - Fin de condition
- - @> Attendre 1 frame
Fin de boucle
OU tout simplement, à condition de faire "Modifier l'accès au menu : Désactiver" dès le début du jeu :
Condition : Si la touche B est pressée
- - @> Appeler script : $scene = Scene_Item.new
Fin de condition
Ensuite tu place ce script dans Materials :
1
2
3
4
5
6
7
8
9
10
| #==============================================================================
# ** Back_To_Game_After_Exit_Menu_Item trololol - By Joke
#------------------------------------------------------------------------------
# Quand on quitte l'inventaire d'objet, on revient dans le jeu au lieu de
# revenir sur le menu.
#==============================================================================
class Scene_Item
def return_scene; $scene = Scene_Map.new; end
end |
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
nuparu1997 -
posté le 03/03/2013 à 19:57:46 (222 messages postés)
| | Merci beaucoup mais finalement je pense plutot bosser sour VX.Ace Donc j'ai fouillé un peu l'appel de script est pas le meme mais je crois avoir trouvé. ( SceneManager.call(Scene_Item) )
L'event commun marche bien mais quand j'appuie sur Echap, le menu s'ouvre et se referme instantanément. Je n'ai aucune idée d'ou ça vient Donc j'ai encore besoin d'un peu d'aide si quelqu'un connait mieux.
|
Joke -
posté le 05/03/2013 à 23:57:51 (5090 messages postés)
| Bilouteux fou | Pour VX Ace c'est plus simple que XP :
Faire un événement commun en processus parallèle avec :
Modifier l'accès au menu : Désactiver
Boucle
- - Condition : Si la touche B est pressée
- - - - @> Appeler script : SceneManager.call(Scene_Item)
- - Fin de condition
- - @> Attendre 1 frame
Fin de boucle
OU, tout simplement, à condition de faire "Modifier l'accès au menu : Désactiver" dès le début du jeu, faire un événement commun avec :
Condition : Si la touche B est pressée
- - @> Appeler script : SceneManager.call(Scene_Item)
Fin de condition
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
nuparu1997 -
posté le 06/03/2013 à 17:39:51 (222 messages postés)
| | Je sais pas si il y a un probeme ou si je suis juste con, mais quand je fais ça l'inventaire se ferme toujours instantanément...
Tu as testé ta solution ? Ca marche ? Non parce que je me pose des questions sur ma capacité à créer un event la...
|
Joke -
posté le 06/03/2013 à 19:37:55 (5090 messages postés)
| Bilouteux fou | Alors non j'avais pas testé, désolé, du coup je n'avais pas anticipé ce simple fait : En ouvrant le menu objet, il continue de reconnaître l'appui sur la touche Echap et le quitte du coup...
Mais ça fonctionne en rajoutant un peu de code événement :
à la place de :
Condition : Si la touche B est pressée
- - @> Appeler script : SceneManager.call(Scene_Item)
Fin de condition
(Dans la solution 1 ou 2)
Tu peux faire :
Condition : Si la touche B est pressée
- - Boucle
- - - - Condition : Si la touche B et pressée
- - - - - - @>
- - - - Sinon :
- - - - - - @> Appeler script : SceneManager.call(Scene_Item)
- - - - - - @> Sortir de la boucle
- - - - Fin de condition
- - @> Attendre 1 frame
- - Fin de boucle
Fin de condition
Là ça marchera, en gros le menu ne s'affiche pas dès qu'on appuie sur Echap, mais dès qu'on relâche Echap. ^^
J'ai cherché une méthode script, ça doit être faisable puisque le menu s'appelle et se quitte avec Echap, mais je n'ai pas trouvé alors cette méthode fonctionne tout aussi bien.
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Estheone -
posté le 06/03/2013 à 20:21:29 (312 messages postés)
| | Si tu n'as plus jamais besoin d'appeler le menu avec la touche :B, le plus simple c'est de remplacer directement dans les scripts.
Tu as juste à mettre SceneManager.call(Scene_Item) à la place de SceneManager.call(Scene_Menu) dans la fonction call_menu de Scene_Map (ligne 191 avec les scripts de base).
|
Wandering Souls : Jeu complet / Topic sur Oniro |
Joke -
posté le 06/03/2013 à 20:31:19 (5090 messages postés)
| Bilouteux fou | Ta solution pose le même problème que ma première solution, il continue de reconnaître la touche Echap et ferme le menu juste après l'avoir ouvert ^^'
Au lieu de modifier le script directement, tu peux copier le module à modifier, l'insérer dans un nouveau script, à l'intérieur d'une copie de la classe d'origine du module (class Scene_Map < Scene_Base).
Comme ça c'est moins destructif :
1
2
3
4
5
6
| class Scene_Map < Scene_Base
def call_menu
Sound.play_ok
SceneManager.call(Scene_Item)
end
end |
Mais comme je viens de dire, cette solution ne fonctionne pas, Estheone. ^^"
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! |
Estheone -
posté le 06/03/2013 à 21:32:56 (312 messages postés)
| | Exact. J'avais testé avec X et pas Echap. Mais le problème est vraiment simple à régler, il suffit d'appeler un Input.update entre temps :
1
2
3
4
5
6
| def call_menu
Input.update
Sound.play_ok
SceneManager.call(Scene_Item)
Window_MenuCommand::init_command_position
end |
|
Wandering Souls : Jeu complet / Topic sur Oniro |
nuparu1997 -
posté le 06/03/2013 à 21:53:54 (222 messages postés)
| | Ok ça marche. Je vais me contenter de le faire avec les evnts je trouve ça plus simple.
Ben merci beaucoup, probleme résolu.
|
Joke -
posté le 06/03/2013 à 23:26:18 (5090 messages postés)
| Bilouteux fou | Bien joué, Esthe : ) Juste le "Window_MenuCommand::init_command_position" qui est inutile puisqu'il concerne le menu, et non le menu objet. = ) J'ai galérer à chercher comment réinitialiser l'information en Input
Ce qui revient à copier ça dans Materials :
1
2
3
4
5
6
7
| class Scene_Map < Scene_Base
def call_menu
Input.update
Sound.play_ok
SceneManager.call(Scene_Item)
end
end |
Ou faire ça en évent :
Condition : Si la touche B est pressée
- - @> Appeler script : Input.update; SceneManager.call(Scene_Item)
Fin de condition
|
biloumaster.fr, mon joli site ouèb tout bô tout frai ! | Index du forum > Entraide > [RESOLU] [VX] Appeler directement l'inventaire
|
|
|