Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

286 connectés actuellement

30835201 visiteurs
depuis l'ouverture

2468 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Tashiroworld

RPG Maker Détente

Level Up!

Eclipso

Tous nos partenaires

Devenir
partenaire



[RGSS2] Ajouter une commande au script de l'écran titre

Inititation à la modification de scripts avec un exemple simple : le rajout d'une commande au menu de l'écran titre. Fait avec RPG Maker VX, mais le principe est le même sur XP et VX Ace.

Ecrit par bubblebug le 01/04/2011


❤ 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 image
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 :

Portion de code : Tout sélectionner

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:

Portion de code : Tout sélectionner

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 image
- 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 :

Portion de code : Tout sélectionner

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 ! image
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:

Portion de code : Tout sélectionner

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" !

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

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" :

Portion de code : Tout sélectionner

1
@command_window = Window_Command.new(172, [s1, s2, s3, s4])


Puis nous allons tester le jeu, et on voit quatre case image
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 :

Portion de code : Tout sélectionner

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:

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

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" :

Portion de code : Tout sélectionner

1
2
def command_test
end


Et on peut ajouter des fonctions comme mettre un bruitage ou ce que vous voullez:

Portion de code : Tout sélectionner

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":

Portion de code : Tout sélectionner

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 ! image



pepinodu03 - posté le 22/08/2012 à 21:17:25 (5 messages postés)

❤ 0

Merci merci !:grossourire :banane :ange :youpi

The book of Solia - http://www.the-book-of-solia-game.sitew.com


kozzy - posté le 06/07/2014 à 17:43:19 (20 messages postés)

❤ 0

Broncho pneumonie.

Les parcelles de code ne sont plus aux mêmes lignes dans ma version RmXP et pour jouer un son je dois utiliser:

Portion de code : Tout sélectionner

1
$game_system.se_play($data_system.decision_se)



Par exemple. Merci quand même, ça me donne une idée de comment tout ça fonctionne, j'ai plus qu'à apprendre le Ruby maintenant ^^

edit: Au temps pour moi, c'est sur que si je ne définis pas la fonction qui va jouer le bruit au préalable ça risque pas de marcher...

Ma signature... Tain...J'ai MA signature ! C'est...J'y crois pas... : ' )

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers