Que va t'on faire ?
Dans ce tutoriel, nous allons apprendre a modifier ou même créer des script !
Nous travaillerons sur les script de bases de Rpg maker VX !
Mais cela est aussi réalisable sur Rpg maker Xp !
Personnelement je ne connait pas grande chose en script !
Modifier le menu principale de Rpg Maker VX
Alors, dans cette première partie, nous allons ajouter une cases au menu principale !
Donc pour modifier le menu, il faut aller dans le script "Scene_Title" !
Commençons par regarder ce script...
Si vous n'avez pas modifier votre jeu niveau reglage, dans le menu vous devriez avoir:
Nouvelle partie
Continuer
Quitter
Et quand on aura modifier le menu on aura:
Nouvelle partie
Continuer
Votre nouvelle case (avec n'importe quel texte)
Quitter
Bon, on commence ?
Alors, si on regarde de prêt ce fameu script "Scene_Title"...
Vous allez me dire que l'on ne peut rien comprendre dans tout ça !
Et mi je vous répondrai que vous avez raison "
Mais si on regarde bien, on vois des phrase en vert!
Et si on analyse le script, a la ligne 62 on voit ce groupe de ligne:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| def update super @command_window.update if Input.trigger?(Input::C) case @command_window.index when 0 #New game command_new_game when 1 # Continue command_continue when 2 # Shutdown command_shutdown end end end |
Ce qui nous interesse ici, c'est les ligne 67 a 72:
1 2 3 4 5 6
| when 0 #New game command_new_game when 1 # Continue command_continue when 2 # Shutdown command_shutdown |
Ici on peut quand même comprendre que:
-Les deux premiere ligne désigne la case "Nouvelle partie". New game = Nouvelle partie en français !
-Les deux ligne du centre désigne la case "Continuer". Continue = Conitunue en français "
-Et que les deux dernière ligne désigne la case "Quitter". Et Shutdown = éteindre en français !
Et nous, on veut ontinuer et Quitter !
Donc, il suffit de faire simple :
1 2 3 4 5 6 7 8
| when 0 command_new_game when 1 command_continue when 2 #On ajoute a la Troisième place notre case command_test #On laisse "command" car il est sur tout les autre ! when 3 # On met Shutdown a la quatrième place ! command_shutdown |
Et voila la premiere partie de notre code modifié !
Vous allez me dire, chouette, j'ai un nouveau menu principale, vous allez testez le jeu, vous allez voir qu'il n'y a rien de plus, vous allez choisir la case quitter (pour fermer le jeu) et vous allez avoir une erreur ! "
Et vous allez me dire, que je vous ai fait faire n'inporte quoi !
Et bien NON !
Vous vous emballer trop vite !
Voyons voir le code que l'on a modifier !
La premiere case contient "command_new_game" !
Cela envoie la première case a la commande "new_game" !
Et cela fait pareil avec toute les case !
Mais comme on a ajouter "command_test", cela renvoie a la commande "test" !
Sauf que la commande "test" n'existe pas !
Pourquoi cela nous met une erreur lorsque l'on quitte le jeu ?
Et bien, on a remplacer l'envoie de la fonction "shutdown" de la case quitter par la commande "test" !
Bon, il va faloir enncore afficher la case a l'écran et créer la fonction "test" !
On va descendre dans le script...
A la ligne 153 on peut voir cela:
1 2 3
| s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown |
Et bien, on voit les commande des case !
Donc il va faloir ajouter celle que l'on veut, la commande "test" !
1 2 3 4
| s1 = Vocab::new_game s2 = Vocab::continue s3 = "Test" s4 = Vocab::shutdown |
Voila, on a ajouter notre case a l'écran !
Mais pourquoi on a mit "Test" et pas "Vocab::test" ?
Car "s1, s2, s3 et s4" sont des variable, et que je veut afficher le texte "test" et pas une valeur deja prédéfini !
Mais bon, cela n'est pas important! Pour comprendre le fonctionement d'une variable, il vous suffit de trouver un tuto sur le ruby (sur internet) !
Donc, si on va tester le jeu, on voit que "test" a remplacer "Quitter" !
Mais "Quitter" ne s'affiche pas a l'écran !
Pour régler cela, c'est simple...
Il vous suffit de regarde la ligne qui suit:
1
| @command_window = Window_Command.new(172, [s1, s2, s3]) |
On voit qu'il y a "s1, s2 et s3" !
Ce code affiche la valeur des trois variable !
Pour afficher la valeur de la quatrième varible, il suffit d'ajouter "s4" :
1
| @command_window = Window_Command.new(172, [s1, s2, s3, s4]) |
Puis nous allons tester le jeu, et on voit quatre case "
Et puis on remarque aussi que la case "quitter" marche a nouveau et que c'est la case "test" qui bug" !
Il nous suffit d'ajouter une fonction a la commande "test" !
Plus loin, on peut voir cela:
Ligne 214:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def command_new_game confirm_player_location Sound.play_decision $game_party.setup_starting_members # Initial party $game_map.setup($data_system.start_map_id) # Initial map position $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $scene = Scene_Map.new RPG::BGM.fade(1500) close_command_window Graphics.fadeout(60) Graphics.wait(40) Graphics.frame_count = 0 RPG::BGM.stop $game_map.autoplay end |
Ligne 233:
1 2 3 4 5 6 7 8 9
| def command_continue if @continue_enabled Sound.play_decision $scene = Scene_File.new(false, true, false) else Sound.play_buzzer end end |
Et ligne 244:
1 2 3 4 5 6 7
| def command_shutdown Sound.play_decision RPG::BGM.fade(800) RPG::BGS.fade(800) RPG::ME.fade(800) $scene = nil end |
Il nous suffit de prendre ce qui est identique dans les trois et de changer en "test":
Et on peut ajouter des fonction comme mettre un bruitage ou ce que vous voullez:
1 2 3
| def command_test #Placer ici toute les fonction que vous voulez faire quand on cliquera sur test ! end |
Voici un exmeple de fonction a mettre dans la commande "test":
1 2 3
| def command_test Sound.play_decision end |
Cela fera un bruit de comfirmation quand on cliquera sur "test" !
Et voila, nous avons ajouter une case au menu principale !
Cela est faisable sur le menu de jeu, en faisant pareil !
Maintnenat vous pouvez dire que vous savez scripter "
|