[Ecran titre]Jukebox à l'écran titre

La section pour les scripts de RPG Maker XP !

[Ecran titre]Jukebox à l'écran titre

Message par Amathlog » 20 Juin 2007, 17:05

Bonjour a tous !
Après maintes reflextions et de regardation(je sais ce ne ce dis pas^^) J'ai pu constater que le Ruby c'est supra simple !!!!
Si vous connaissez RPG Maker XP sur le bout des doigts et bien en fait c'est la même chose que les event mais plus compliqué a première vu !
Donc après quels bidouiages j'ai réussi a implanter un nouveau choix dans le Scene_Title (l'écran titre)
Il s'agit d'écouter la musique !!!!!
Pour le moment j'en ai implenter que 3 mais vous pouvez en rajouter bien plus !!!!(tant que ça ne déborde pas !)
Donc voici le script nommez le Ma_Scene au dessus de main :
Code : Tout sélectionner
class Ma_Scene
 
  def initialize(menu_index = 0)
    @menu_index = menu_index
   
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def main
    s1 = "Musique Combat"
    s2 = "Musique Terrain"
    s3 = "Musique Boss"
    s4 = "Retour Menu"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @command_window.index = @menu_index
    @command_window.x = 200
    @command_window.y = 200
    Graphics.transition
    # ??????
    loop do
      # ????????
      Graphics.update
      # ???????
      Input.update
      # ??????
      update
      # ????????????????
      if $scene != self
        break
      end
    end
   
    # ?????????
    Graphics.freeze
    # ????????
    @command_window.dispose
  end
 
  def update
    # ????????
    @command_window.update
    if @command_window.active
      update_command
      return
    end
  end
 
   
  def update_command
    # B ??????????
    if Input.trigger?(Input::B)
      # ????? SE ???
      $game_system.se_play($data_system.cancel_se)
      # ??????????
      $scene = Scene_Title.new
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0  # ????
        # ??  SE ???
        $game_system.se_play($data_system.decision_se)# Joue le son qui a été paramétré dans la base de donnée
        # ???????????
        Audio.bgm_play("Audio/BGM/001-Battle01.mid",100,100) #Execute la musique
      when 1  # ???
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????????????
        Audio.bgm_play("Audio/BGM/018-Field01.mid",100,100)
      when 2  # ??
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????????????
        Audio.bgm_play("Audio/BGM/005-Boss01.mid",100,100)
      when 3
        $game_system.se_play($data_system.decision_se)
        $game_system.bgm_play($data_system.title_bgm)#Joue la musique de l'écren titre
        $scene = Scene_Title.new# Reviens a l'écran titre
      end
      return
    end
  end
end


Pour rajouter des musiques, il faut modifier plusieurs parties du code. Tout d'abord, dans le Script Ma_scene ligne 11 :
Code : Tout sélectionner
s1 = "Musique Combat"
    s2 = "Musique Terrain"
    s3 = "Musique Boss"
    s4 = "Retour Menu"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])

Rajoutez un s5,s6,s7 etc...... ou enlevez les comme ça :
s1 = "Musique Combat"
s2 = "Musique Terrain"
s3 = "Musique Boss"
s4 = "Musique Test"
s5 = "Retour Menu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])

Ensuite il faut modifier en bas du script ligne 59 :
Code : Tout sélectionner
if Input.trigger?(Input::C)
      case @command_window.index
      when 0  # ????
        # ??  SE ???
        $game_system.se_play($data_system.decision_se)# Joue le son qui a été paramétré dans la base de donnée
        # ???????????
        Audio.bgm_play("Audio/BGM/001-Battle01.mid",100,100) #Execute la musique
      when 1  # ???
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????????????
        Audio.bgm_play("Audio/BGM/018-Field01.mid",100,100)
      when 2  # ??
        # ?? SE ???
       $game_system.se_play($data_system.decision_se)
        # ???????????????????
        Audio.bgm_play("Audio/BGM/005-Boss01.mid",100,100)
      when 3
        $game_system.se_play($data_system.decision_se)
        $game_system.bgm_play($data_system.title_bgm)#Joue la musique de l'écren titre
        $scene = Scene_Title.new# Reviens a l'écran titre
      end


Il faut rajouter un "when" ainsi que son chiffre (exemple si c'est s3 on aura when 2 (ça commence a zéro))
Ensuite le son : $game_system.se_play($data_system.decision_se)
Puis Audio.bgm_play("Audio/BGM/NOM DU FICHIER AUDIO AVEC L'EXTENTION",100,100)
Attention veillez bien a ce que chaque when ets un nombre différent et que les chiffres sont dans l'ordre croissant

Et pour finir cherchez ces lignes dans le script Scene_Titles ligne 37:
Code : Tout sélectionner
s1 = "Nouvelle partie"
    s2 = "Charger une partie"
    s3 = "Quitter"
    @command_window = Window_Command.new(192, [s1, s2, s3])


et remplacez par :
Code : Tout sélectionner
s1 = "Nouvelle partie"
    s2 = "Charger une partie"
    s3 = "Quitter"
    s4 = "Ecouter de la musique"
    @command_window = Window_Command.new(192, [s1, s2, s3, s4])


Et ces lignes la 96:
Code : Tout sélectionner
if Input.trigger?(Input::C)
      # ???????????????????
      case @command_window.index
      when 0  # ??????
        command_new_game
      when 1  # ???????
        command_continue
      when 2  # ???????
        command_shutdown
      end
    end


Par celles ci :
Code : Tout sélectionner
if Input.trigger?(Input::C)
      # ???????????????????
      case @command_window.index
      when 0  # ??????
        command_new_game
      when 1  # ???????
        command_continue
      when 2  # ???????
        command_shutdown
      when 3
        $scene = Ma_Scene.new
      end
    end


C'est simple en fait !
On rajoute une commande et si elle est sélectionnée on change de scène !
Il marche parfaitement normalement !

Screens :

Ecran titre.JPG
L'écran Titre modifié



New Script.JPG
Après avoir choisi "Écouter de la Musique"



New Script plein.JPG
Et quand on le remplit....


Voila
@+ !
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Nouveau script

Message par Amathlog » 11 Août 2007, 19:10

Bon bah celui-la non plus personne ne la vu ^^
Je le up !
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Nouveau script

Message par Martial » 12 Août 2007, 11:25

Merci beaucoup pour ce script, ça va en faire progresser plus d'un !! :D

Par contre, tu aurais du mettre les lignes et le script où il faut changer à chaque fois (je suis en train de les mettre) !

Sinon, pour qu'il soit parfait, il faudrait aussi agrandir la taille de la fenêtre, ainsi, le texte ne sera pas compressé !

Pour ça, il faut juste modifier la ligne 41 du script Scene_Titles:

Code : Tout sélectionner
@command_window = Window_Command.new(192, [s1, s2, s3, s4])


Changer le nombre dans la parenthèse avant la virgule (160) par ce que vous voulez (le mieux serait 250).

Faîtes pareil pour le script Ma_scene à la ligne 15:

Code : Tout sélectionner
@command_window = Window_Command.new(160, [s1, s2, s3, s4])


Cette fois-ci, j'ai mis 260, mais la encore, mettez-y ce que vous voulez !

Voilà ! Sinon, j'ai une question Amathlog, sais-tu comment centrer du texte ?
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Nouveau script

Message par Amathlog » 12 Août 2007, 14:29

Merci pour tes encouragement !
C'est vrai qu'on peut l'amélorer !
Voilà ! Sinon, j'ai une question Amathlog, sais-tu comment centrer du texte ?


Non je ne sais pas mais j'ai une petite idée.
Quand tu insere du texte tu met center.texte = true
Je ne suis pas sur, écliare moi dessus s'il te plait !
Merci encore
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Nouveau script

Message par Martial » 12 Août 2007, 15:39

Non, je ne sais pas non plus, c'était juste une question. Mais je suis en train de rechercher ça. Par contre, je doute que ça existe... :(
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Nouveau script

Message par Amathlog » 12 Août 2007, 15:41

Ah je croyais que tu savais ^^
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Nouveau script

Message par Martial » 12 Août 2007, 17:10

Tous les textes sont affichés avec la fonction draw_text, dont les paramètres sont les suivants :
draw_text(x,y,longeur, hauteur, "text", alignement)
alignement peut prendre 3 valeurs :
0 pour aligner à gauche
1 pour centrer
2 pour aligner à droite

:D
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Nouveau script

Message par Amathlog » 13 Août 2007, 15:26

Ok ! Merci du renseignement !
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Nouveau script

Message par Martial » 13 Août 2007, 16:42

Ah oui, encore une chose ! Pour centrer le texte de l'écran titre, il faut aller dans le script Windows_command ligne 42. Il devrait y avoir ça:

Code : Tout sélectionner
self.contents.draw_text(rect, @commands[index])


remplacez le par ça:

Code : Tout sélectionner
self.contents.draw_text(rect, @commands[index, x])


Ou x est un nombre entre 0 et 2 (voir plus haut)

0 = aligner à gauche
1 = centrer
2 = aligner à droite

Voilà, vous savez tout ! :D
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Nouveau script

Message par Amathlog » 15 Août 2007, 10:23

Ben voila pour ceux qui le veulent !
Encore une impasse détruite par Martial !^^
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2


Retour vers Scripts (RGSS)

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron