❤ 0 Que va t'on faire ?
Dans ce tutoriel, nous allons apprendre a modifier ou même créer des script !
Nous travaillerons sur les scripts de base de Rpg Maker VX ! Mais le principe est exactement le même sur XP et VX Ace, il suffit souvent d'observer la construction du script pour pouvoir effectuer de petites modifications !
Personnellement je ne connais pas grande chose en script !
Modifier l'écran titre de Rpg Maker VX
Alors, dans cette première partie, nous allons ajouter une case au menu titre !
Donc pour modifier le menu, il faut aller dans le script "Scene_Title" !
Commençons par regarder ce script... Si vous n'avez pas modifié de scripts, dans le menu vous devriez avoir :
Nouvelle partie
Continuer
Quitter
Et quand on aura modifié 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ès ce fameux script "Scene_Title"... Vous allez me dire que l'on ne peut rien comprendre dans tout ça ! Et moi je vous répondrai que vous avez raison
Mais si on regarde bien, on vois des phrases en vert ! Et si on analyse le script, à la ligne 62 on voit ce groupe de lignes :
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 premières lignes désignent la case "Nouvelle partie". New game = Nouvelle partie en français !
- Les deux lignes du centre désignent la case "Continuer". Continue = Conitunue en français
- Et que les deux dernières lignes désignent la case "Quitter". Et Shutdown = éteindre en français !
Et nous, on veut ajouter une commande entre Continuer 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 voilà la premiere partie de notre code modifiée !
Vous allez me dire, chouette, j'ai un nouvel écran titre, 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 !
Voyons voir le code que l'on a modifié !
La première case contient "command_new_game" ! Cela envoie la première case à la commande "new_game" ! Et cela fait pareil avec toutes les cases !
Mais comme on a ajouté "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 remplacé l'envoie de la fonction "shutdown" de la case quitter par la commande "test" !
Bon, il va faloir enncore afficher la case à 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 |
Voilà, on a ajouté notre case a l'écran !
Mais pourquoi on a mis "Test" et pas "Vocab::test" ?
Car "s1, s2, s3 et s4" sont des variables, et que je veux afficher le texte "Test" et pas une valeur deja prédéfinie !
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, en testant 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 variables !
Pour afficher la valeur de la quatrième variable, 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 à nouveau et que c'est la case "test" qui bug" !
Il nous suffit d'ajouter une fonction à 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
| 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 fonctions 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 confirmation quand on cliquera sur "test" !
Et voilà, nous avons ajouté une case au menu principal ! Cela est faisable sur le menu de jeu, en suivant le même principe !
Maintenant vous pouvez commencer à étudier les scripts pour voir comment ils fonctionnent !
|