rpgmakerxp.frbb.net

Un forum basé sur le rpg making via rmxp
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 un superbe menu par berka (donc moi ^^)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: un superbe menu par berka (donc moi ^^)   Mer 9 Mai - 21:09

fiou !
je suis completement crevé, crevé mais content:

j'ai fini mon script de CMS, de menu perso:

mettez ce script au dessus de main, nommez le comme vous voulez
Code:
#===============================================================================
#                                  Scene_Menu (R)
#
#                Script créé par Berka de http://rpgmakerxp.frbb.net
#===============================================================================
#                          Merci à Tonyryu qui m'a aidé
#                Ne pas publier ce script sans son autorisation
#                          sous peine de coups de baton !
#
#                          Veuillez respecter son boulot
#===============================================================================
#       
#            N'oubliez pas les pictures, icones,windowskins,
#                                                qui vont avec avec les Windows
#                     
#
#  Pour toute information veuillez le contacter sur http://rpgmakerxp.frbb.net
#===============================================================================

#la window de choix en bas de l'ecran
class Window_Menu < Window_Selectable
  def initialize
    super(0, 0, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 24
    #les choix
    @commands = [$data_system.words.item,"Compé.",$data_system.words.equip, "  Etat", "Options", " Quitter"]
    @item_max = 6
    @column_max = 6
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def draw_item(index)
    x = 4 + index * 105
    self.contents.draw_text(x, 0, 148, 32, @commands[index])
  end
end
#la scene remplaçant l'ancien menu
class Scene_Menu
  def main
    #pour voir la map en arriere plan
    @spriteset = Spriteset_Map.new
    #fenetre d'argent
    @fric = Window_Gold.new
    @fric.x = -160
    #fenetre de temps de jeu
    @temps = Window_PlayTime.new
    @temps.y = 63
    @temps.x = -160
    #fenetre de temps de jeu
    @pas = Window_Steps.new
    @pas.y = 158
    @pas.x = -160
    #fenetre de choix du bas
    @choix = Window_Menu.new
    @choix.x = 0
    @choix.y = 481
    #fenetre du battler
    @visible = Window_Visible.new
    @visible.x = -160
    @visible.y = 253
    #raffraichissement
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    #disposition des fenetres
    @spriteset.dispose
    @choix.dispose
    @fric.dispose
    @temps.dispose
    @pas.dispose
    @visible.dispose
    #ls varables pour le mouvement des fenetres
    $game_variables[100] = 0
    $game_variables[101] = 0
    $game_variables[102] = 0
    $game_variables[103] = 0
    $game_variables[104] = 0
  end
  #mises a jour
  def update
    #animation de la window de choix
    if $game_variables[100] < 64
      @choix.y -= 5
      $game_variables[100] += 5
    end
    #animation de la window d'argent
    if $game_variables[101] < 160
      @fric.x += 5
      $game_variables[101] += 5
    end
    #animation de la window de temps
    if $game_variables[102] < 160
      @temps.x += 5
      $game_variables[102] += 5
    end
    #animation de la window de pas
    if $game_variables[103] < 160
      @pas.x += 5
      $game_variables[103] += 5
    end
    #animation de la window du battler
    if $game_variables[104] < 160
      @visible.x += 5
      $game_variables[104] += 5
    end
    #mises a jour
    @spriteset.update
    @visible.update
    @pas.update
    @temps.update
    @fric.update
    @choix.update
    #annulation
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    #validation
    if Input.trigger?(Input::C)
      case @choix.index
      #les choix
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
        when 1 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Skill.new
        when 2
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Equip.new
          when 3
            $game_system.se_play($data_system.decision_se)
            $scene = Scene_Status.new
            when 4
              $game_system.se_play($data_system.decision_se)
              $scene = Scene_Options.new
              when 5
                $game_system.se_play($data_system.decision_se)
                $scene = Scene_End.new
              end
            end
          end
        end
        #window du battler (nécessite les images du dossier pictures)
class Window_Visible < Window_Base
  def initialize
    super(0, 0, 160, 164)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 40
    refresh
  end 
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    img = Bitmap.new("Graphics/pictures/sansrien.png")
    self.contents.blt(5, 0, img, img.rect, 255)
    #si le hero est équipé de... alors afficher l'image...
    if $game_party.actors[0].armor1_id == 1
        img = Bitmap.new("Graphics/pictures/justebouclier.png")
    self.contents.blt(5, 0, img, img.rect, 255)
      end
    if $game_party.actors[0].weapon_id == 1
      img = Bitmap.new("Graphics/pictures/justeepee.png")
    self.contents.blt(5, 0, img, img.rect, 255)
      end
    if $game_party.actors[0].armor1_id == 1 and $game_party.actors[0].weapon_id == 1
          img = Bitmap.new("Graphics/pictures/tout.png")
    self.contents.blt(5, 0, img, img.rect, 255)
  end 
 end
end

#les options
class Scene_Options
  def main
    s1 = "Fenetre"
    s2 = "Police"
    s3 = "Charger"
    s4 = "Sauver"
    @base = Window_Command.new(160, [s1, s2, s3, s4])
    @base.x = -160
    #mises a jour
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @base.dispose
    Graphics.freeze
    #encore des animations ^^
    $game_variables[105] = 0
  end
  def update
    if $game_variables[105] < 160
      @base.x += 5
      $game_variables[105] += 5
    end
    @base.update
    #annulation
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    #validation
        if Input.trigger?(Input::C)
      case @base.index
      #choix
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_WindowOp.new
        when 1 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Police.new
        when 2
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Load.new
          when 3
            $game_system.se_play($data_system.decision_se)
            $scene = Scene_Save.new
          end
        end
      end
     
#la scene de choix du windowskin
class Scene_WindowOp
  def main
    s1 = ""
    s2 = "    Vert"
    s3 = "    Bleu"
    s4 = "    Rouge"
    s5 = "    Noir"
    s6 = "    Jaune"
    s7 = "    Violet"
    s8 = "    Bleu marine"
    s9 = ""
    @command_window2 = Window_CommandOp.new(192, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
    @command_window2.x = 640
    @command_window2.y = 240 - @command_window2.height / 2
    @command_window2.index = 1
    Graphics.transition
    #mise a jour
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @command_window2.dispose
    Graphics.freeze
   
    if $scene.is_a?(Scene_Title)
      Graphics.transition
      Graphics.freeze
     
    end
  end
  def update
    @command_window2.update
    if @command_window2.x > 320 - @command_window2.width / 2
      @command_window2.x -=15
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      case @command_window2.index
      when 0
        #choix des skins
        when 1
          $game_system.se_play($data_system.decision_se)
          $game_system.windowskin_name = "skin00"
          $scene = Scene_Menu.new
          when 2
            $game_system.se_play($data_system.decision_se)
            $game_system.windowskin_name = "skin01"
            $scene = Scene_Menu.new
            when 3
              $game_system.se_play($data_system.decision_se)
              $game_system.windowskin_name = "skin02"
              $scene = Scene_Menu.new
              when 4
                $game_system.se_play($data_system.decision_se)
                $game_system.windowskin_name = "skin03"
                $scene = Scene_Menu.new
                when 5
                  $game_system.se_play($data_system.decision_se)
                  $game_system.windowskin_name = "skin04"
                  $scene = Scene_Menu.new
                  when 6
                    $game_system.se_play($data_system.decision_se)
                    $game_system.windowskin_name = "skin05"
                    $scene = Scene_Menu.new
                    when 7
                      $game_system.se_play($data_system.decision_se)
                      $game_system.windowskin_name = "skin06"
                      $scene = Scene_Menu.new
                      when 8
                        $game_system.se_play($data_system.decision_se)
                        $scene = Scene_Menu.new
                        end
                      return
                    end
                  end
                end
  #window de choix des skins           
class Window_CommandOp < Window_Selectable
  def initialize(width, commands)
    super(0, 0, width, commands.size * 32 + 32)
    @item_max = commands.size
    @commands = commands
    self.contents = Bitmap.new(width - 32, @item_max * 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i, normal_color)
    end
  end
  def draw_item(index, color)
    self.contents.font.color = color
    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon("color0" + index.to_s)
    self.contents.blt(x + 3, index * 32 +4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(rect, @commands[index])
    self.contents.font.name = "Arial"
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 120, 32, "Interface")
    self.contents.draw_text(0, 0, 120, 544, "Retour")
  end
  def disable_item(index)
    draw_item(index, disabled_color)
  end
end

#scene pour les polices
class Scene_Police
  def main
    #affichage de la map en arriere plan
    @spriteset = Spriteset_Map.new
    s1 = " Polices"
    s2 = "    Arial"
    s3 = "    Old English"
    s4 = "    Lucida"
    s5 = "    Comic sans MS"
    s6 = "    Trebuchet"
    s7 = "    Castellar"
    @police = Window_Command.new(192, [s1, s2, s3, s4, s5, s6, s7])
    @police.x = 640
    @police.y = 240 - @police.height / 2
    @police.index = 1
    #mises a jour
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @police.dispose
    Graphics.freeze
    if $scene.is_a?(Scene_Title)
      Graphics.transition
      Graphics.freeze
    end
  end
  def update
    @police.update
    if @police.x > 320 - @police.width / 2
      @police.x -=15
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      case @police.index
      when 0
        #choix des polices
        when 1
          $game_system.se_play($data_system.decision_se)
          $fontface = "Arial"
          $police = 1
          @menu_index = 0
          $scene = Scene_Menu.new
          when 2
            $game_system.se_play($data_system.decision_se)
          $fontface = "Old English Text MT"
          $police = 1
          @menu_index = 0
            $scene = Scene_Menu.new
            when 3
              $game_system.se_play($data_system.decision_se)
              $fontface = "Lucida Calligraphy"
              $police = 1
              @menu_index = 0
              $scene = Scene_Menu.new
              when 4
                $game_system.se_play($data_system.decision_se)
                $fontface = "Comic Sans MS"
                $police = 1
                @menu_index = 0       
                $scene = Scene_Menu.new
                when 5
                  $game_system.se_play($data_system.decision_se)
                  $fontface = "Trebuchet MS"
                  $police = 1
                  @menu_index = 0
                  $scene = Scene_Menu.new
                  when 6
                    $game_system.se_play($data_system.decision_se)
                    $fontface = "Castellar"
                    $police = 2
                    @menu_index = 0
                    $scene = Scene_Menu.new
                      return
                    end
                  end
                end
              end
            end
           
#fin des scripts, ouf

_________________



Dernière édition par le Sam 12 Mai - 11:32, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: Re: un superbe menu par berka (donc moi ^^)   Mer 9 Mai - 21:16

dans Scene_Save,
rajoutez apres
Code:
  Marshal.dump($game_player, file)
ceci
Code:
  Marshal.dump($fontface, file)
    Marshal.dump($police, file)
    Marshal.dump($data_system.windowskin_name, file)

dans Scene_load,
rajoutez apres
Code:
 $game_player        = Marshal.load(file)
ceci:
Code:

    $fontface = Marshal.load(file)
    $police = Marshal.load(file)
    $data_system.windowskin_name = Marshal.load(file)

ensuite a la ligne 52, changez:
Code:
$scene = Scene_Title.new
par
Code:
$scene = Scene_Map.new

dans main, apres begin, mettez:
Code:
$police = 0

dans scene skill, scene equip, scene save, scene status et scene end
des que vous voyez
Code:
$scene = Scene_Menu.new(un numero)
remplacez par
Code:
$scene = Scene_Menu.new
tout court

maintenant placez cela dans le dossier "windowskins" pour les skins, dans "icons" pour les icones et "pictures" pour les battlers du répertoire de votre jeu:
megaupload.com Q4PEYM50

_________________



Dernière édition par le Jeu 10 Mai - 13:03, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
flopt
Nouveau
avatar

Masculin
Nombre de messages : 14
Age : 25
Projet en cours: : Battle party xp
Date d'inscription : 08/05/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
0/100  (0/100)

MessageSujet: Re: un superbe menu par berka (donc moi ^^)   Mer 9 Mai - 21:32

Un petit screen du menu serait la bienvenu Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: Re: un superbe menu par berka (donc moi ^^)   Mer 9 Mai - 22:04

désolé, ca arrive:

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
alex.css
Villageois
Villageois
avatar

Masculin
Nombre de messages : 48
Date d'inscription : 09/04/2007

niveau du maker
mapping:
0/100  (0/100)
events:
0/100  (0/100)
scriptage:
5/100  (5/100)

MessageSujet: Re: un superbe menu par berka (donc moi ^^)   Jeu 10 Mai - 19:52

désolé, tromper de topic >.<


Dernière édition par le Sam 12 Mai - 17:11, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://snet-fr.c.la/
berka
Admin
Admin
avatar

Masculin
Nombre de messages : 842
Age : 27
Localisation : Devant mon ordi!
Projet en cours: : Secret ^^
Date d'inscription : 16/03/2007

niveau du maker
mapping:
0/100  (0/100)
events:
50/100  (50/100)
scriptage:
100/100  (100/100)

MessageSujet: Re: un superbe menu par berka (donc moi ^^)   Sam 12 Mai - 11:33

Attention, j'ai corrigé un bug !!

j'avais oublié de mettre a jour la map!
Avant une image du chara restait figée sur la map.
Tout est rentré dans l'ordre!

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgmakerxp.frbb.net
Contenu sponsorisé




MessageSujet: Re: un superbe menu par berka (donc moi ^^)   

Revenir en haut Aller en bas
 
un superbe menu par berka (donc moi ^^)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Divers] Menu transcendant et prêche
» Un menu Best Of Big Mac please. Le 17/02 vers 02h18
» Menu de lundi soir
» Image superbe
» Menu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
rpgmakerxp.frbb.net :: Une question, un bug ? :: Un truc que vous n'arrivez pas à faire? :: Questions résolues-
Sauter vers: