Zarok RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesS'enregistrerConnexion
-17%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS + Cellular 44mm (plusieurs ...
249 € 299 €
Voir le deal

Partagez | 
 

 Petit Menu (Personnalisable) + UP : Worldmap

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:43

Salut, je vais vous donner un script pour faire un petit menu :
Petit Menu (Personnalisable) + UP : Worldmap Screenmenu
Voici le script à rajouter avant Main appellez le Scene_Essai :
Code:

#==============================================================================
# ■ Scene_Menu
# Auteur : Quentin BAZIN de www.crazycollec.wb.st
#==============================================================================

class Scene_Essai # Début de la classe
  #--------------------------------------------------------------------------
  # ●  menu_index
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0) # Initialisation de l'index
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● Principal
  #--------------------------------------------------------------------------
  def main # Initialisation des variables
    @spriteset=Spriteset_Map.new
    s1 = "Objets"
    s2 = "Compétences"
    s3 = "Equiper"
    s4 = "Sauvegarder"
    s5 = "Charger"
    s6 = "Ecran titre"
    s7 = "Quitter"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7]) # Création d'une fenêtre de commande
    @command_window.index = @menu_index
    Graphics.transition # Transition graphique lorsque l'on quitte le menu
    loop do # Début de la boucle
      Graphics.update
      Input.update
      update # On dit au script d'aller voir la méthode "update"
      if $scene != self
        break
      end
    end
    Graphics.freeze # On gèle l'écran
    @command_window.dispose # On efface la fenêtre de commande
    @spriteset.dispose
  end
  #--------------------------------------------------------------------------
  # ● Mise à jour
  #--------------------------------------------------------------------------
  def update # On définie la méthode "update"
    @command_window.update # Mise à jour de la fenêtre de commande en disant d'aller voir la méthode "update" de la classe contenue dans @command_window, c'est à dire "Command_Window.new".
    if @command_window.active # Si la fenêtre de commande est active
      update_command # Aller voir la méthode "update_command"
      return # Retourné le résultat
    end
  end
  #--------------------------------------------------------------------------
  # ● Mise à jour de la commande
  #--------------------------------------------------------------------------
  def update_command # Définition de la méthode "update_command"
    # B
    if Input.trigger?(Input::B) #Si l'on appuis sur B (c'est à dire Echap, X, ou 0)
      $game_system.se_play($data_system.cancel_se) #On joue le son "SE" dont le nom ($data_system.cancel_se) est  renvoyer par la méthode "cancel_se" de la classe contenue dans "$data_system".
      $scene = Scene_Map.new # Aller à la scène : "Scene_Map"
      return
    end
    # C
    if Input.trigger?(Input::C) # Si l'on appuis sur C (c'est à dire Entrée, ou Espace).
      case @command_window.index # Etudions les valeurs que peuvent prendre l'index de la fenêtre de commande (c'est à dire la position du curseur dans la commande : premier choix, deuxième choix, etc...) sachant que le premier choix à pour numéro 0.
      when 0  # Si l'on est sur le premier choix
        $game_system.se_play($data_system.decision_se) # Jouer la SE
        $scene = Scene_Item_Mod.new
      when 1  # Si l'on est sur le deuxième choix
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Skill_Mod.new
      when 2
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Equip_Mod.new
      when 3 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save_Mod.new
      when 4
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Load_Mod.new
      when 5 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Title.new
      when 6 
        $game_system.se_play($data_system.decision_se)
        command_shutdown
      end # Fin de la condition
      return
    end # Fin la condition (appuis touche)
  end # Fin de la méthode
  #--------------------------------------------------------------------------
  # ● Fermer le Jeu
  #--------------------------------------------------------------------------
  def command_shutdown
    # 決定 SE を演奏
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME をフェードアウト
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # シャットダウン
    $scene = nil
  end
end # Fin de la classe


Dernière édition par Quent42340 le Mar 7 Avr 2009 - 10:10, édité 2 fois
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:45

Ensuite, il faut rajouter Scene_Item_Mod :
Code:

#==============================================================================
# ■ Scene_Item
#------------------------------------------------------------------------------
#  アイテム画面の処理を行うクラスです。
#==============================================================================

class Scene_Item_Mod
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  def main
    # ヘルプウィンドウ、アイテムウィンドウを作成
    @help_window = Window_Help.new
    @item_window = Window_Item.new
    # ヘルプウィンドウを関連付け
    @item_window.help_window = @help_window
    # ターゲットウィンドウを作成 (不可視・非アクティブに設定)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    # トランジション実行
    Graphics.transition
    # メインループ
    loop do
      # ゲーム画面を更新
      Graphics.update
      # 入力情報を更新
      Input.update
      # フレーム更新
      update
      # 画面が切り替わったらループを中断
      if $scene != self
        break
      end
    end
    # トランジション準備
    Graphics.freeze
    # ウィンドウを解放
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ウィンドウを更新
    @help_window.update
    @item_window.update
    @target_window.update
    # アイテムウィンドウがアクティブの場合: update_item を呼ぶ
    if @item_window.active
      update_item
      return
    end
    # ターゲットウィンドウがアクティブの場合: update_target を呼ぶ
    if @target_window.active
      update_target
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アイテムウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_item
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # メニュー画面に切り替え
      $scene = Scene_Essai.new(0)
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # アイテムウィンドウで現在選択されているデータを取得
      @item = @item_window.item
      # 使用アイテムではない場合
      unless @item.is_a?(RPG::Item)
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 使用できない場合
      unless $game_party.item_can_use?(@item.id)
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # 効果範囲が味方の場合
      if @item.scope >= 3
        # ターゲットウィンドウをアクティブ化
        @item_window.active = false
        @target_window.x = (@item_window.index + 1) % 2 * 304
        @target_window.visible = true
        @target_window.active = true
        # 効果範囲 (単体/全体) に応じてカーソル位置を設定
        if @item.scope == 4 || @item.scope == 6
          @target_window.index = -1
        else
          @target_window.index = 0
        end
      # 効果範囲が味方以外の場合
      else
        # コモンイベント ID が有効の場合
        if @item.common_event_id > 0
          # コモンイベント呼び出し予約
          $game_temp.common_event_id = @item.common_event_id
          # アイテムの使用時 SE を演奏
          $game_system.se_play(@item.menu_se)
          # 消耗品の場合
          if @item.consumable
            # 使用したアイテムを 1 減らす
            $game_party.lose_item(@item.id, 1)
            # アイテムウィンドウの項目を再描画
            @item_window.draw_item(@item_window.index)
          end
          # マップ画面に切り替え
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (ターゲットウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_target
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # アイテム切れなどで使用できなくなった場合
      unless $game_party.item_can_use?(@item.id)
        # アイテムウィンドウの内容を再作成
        @item_window.refresh
      end
      # ターゲットウィンドウを消去
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # アイテムを使い切った場合
      if $game_party.item_number(@item.id) == 0
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # ターゲットが全体の場合
      if @target_window.index == -1
        # パーティ全体にアイテムの使用効果を適用
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      # ターゲットが単体の場合
      if @target_window.index >= 0
        # ターゲットのアクターにアイテムの使用効果を適用
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      # アイテムを使った場合
      if used
        # アイテムの使用時 SE を演奏
        $game_system.se_play(@item.menu_se)
        # 消耗品の場合
        if @item.consumable
          # 使用したアイテムを 1 減らす
          $game_party.lose_item(@item.id, 1)
          # アイテムウィンドウの項目を再描画
          @item_window.draw_item(@item_window.index)
        end
        # ターゲットウィンドウの内容を再作成
        @target_window.refresh
        # 全滅の場合
        if $game_party.all_dead?
          # ゲームオーバー画面に切り替え
          $scene = Scene_Gameover.new
          return
        end
        # コモンイベント ID が有効の場合
        if @item.common_event_id > 0
          # コモンイベント呼び出し予約
          $game_temp.common_event_id = @item.common_event_id
          # マップ画面に切り替え
          $scene = Scene_Map.new
          return
        end
      end
      # アイテムを使わなかった場合
      unless used
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
end
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:47

Puis Scene_Skill_Mod :
Code:

#==============================================================================
# ■ Scene_Skill
#------------------------------------------------------------------------------
#  スキル画面の処理を行うクラスです。
#==============================================================================

class Scene_Skill_Mod
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    actor_index : アクターインデックス
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  def main
    # アクターを取得
    @actor = $game_party.actors[@actor_index]
    # ヘルプウィンドウ、ステータスウィンドウ、スキルウィンドウを作成
    @help_window = Window_Help.new
    @status_window = Window_SkillStatus.new(@actor)
    @skill_window = Window_Skill.new(@actor)
    # ヘルプウィンドウを関連付け
    @skill_window.help_window = @help_window
    # ターゲットウィンドウを作成 (不可視・非アクティブに設定)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    # トランジション実行
    Graphics.transition
    # メインループ
    loop do
      # ゲーム画面を更新
      Graphics.update
      # 入力情報を更新
      Input.update
      # フレーム更新
      update
      # 画面が切り替わったらループを中断
      if $scene != self
        break
      end
    end
    # トランジション準備
    Graphics.freeze
    # ウィンドウを解放
    @help_window.dispose
    @status_window.dispose
    @skill_window.dispose
    @target_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ウィンドウを更新
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    # スキルウィンドウがアクティブの場合: update_skill を呼ぶ
    if @skill_window.active
      update_skill
      return
    end
    # ターゲットウィンドウがアクティブの場合: update_target を呼ぶ
    if @target_window.active
      update_target
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (スキルウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_skill
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # メニュー画面に切り替え
      $scene = Scene_Essai.new(1)
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # スキルウィンドウで現在選択されているデータを取得
      @skill = @skill_window.skill
      # 使用できない場合
      if @skill == nil or not @actor.skill_can_use?(@skill.id)
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # 効果範囲が味方の場合
      if @skill.scope >= 3
        # ターゲットウィンドウをアクティブ化
        @skill_window.active = false
        @target_window.x = (@skill_window.index + 1) % 2 * 304
        @target_window.visible = true
        @target_window.active = true
        # 効果範囲 (単体/全体) に応じてカーソル位置を設定
        if @skill.scope == 4 || @skill.scope == 6
          @target_window.index = -1
        elsif @skill.scope == 7
          @target_window.index = @actor_index - 10
        else
          @target_window.index = 0
        end
      # 効果範囲が味方以外の場合
      else
        # コモンイベント ID が有効の場合
        if @skill.common_event_id > 0
          # コモンイベント呼び出し予約
          $game_temp.common_event_id = @skill.common_event_id
          # スキルの使用時 SE を演奏
          $game_system.se_play(@skill.menu_se)
          # SP 消費
          @actor.sp -= @skill.sp_cost
          # 各ウィンドウの内容を再作成
          @status_window.refresh
          @skill_window.refresh
          @target_window.refresh
          # マップ画面に切り替え
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
    # R ボタンが押された場合
    if Input.trigger?(Input::R)
      # カーソル SE を演奏
      $game_system.se_play($data_system.cursor_se)
      # 次のアクターへ
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      # 別のスキル画面に切り替え
      $scene = Scene_Skill.new(@actor_index)
      return
    end
    # L ボタンが押された場合
    if Input.trigger?(Input::L)
      # カーソル SE を演奏
      $game_system.se_play($data_system.cursor_se)
      # 前のアクターへ
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      # 別のスキル画面に切り替え
      $scene = Scene_Skill.new(@actor_index)
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (ターゲットウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_target
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # ターゲットウィンドウを消去
      @skill_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # SP 切れなどで使用できなくなった場合
      unless @actor.skill_can_use?(@skill.id)
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # ターゲットが全体の場合
      if @target_window.index == -1
        # パーティ全体にスキルの使用効果を適用
        used = false
        for i in $game_party.actors
          used |= i.skill_effect(@actor, @skill)
        end
      end
      # ターゲットが使用者の場合
      if @target_window.index <= -2
        # ターゲットのアクターにスキルの使用効果を適用
        target = $game_party.actors[@target_window.index + 10]
        used = target.skill_effect(@actor, @skill)
      end
      # ターゲットが単体の場合
      if @target_window.index >= 0
        # ターゲットのアクターにスキルの使用効果を適用
        target = $game_party.actors[@target_window.index]
        used = target.skill_effect(@actor, @skill)
      end
      # スキルを使った場合
      if used
        # スキルの使用時 SE を演奏
        $game_system.se_play(@skill.menu_se)
        # SP 消費
        @actor.sp -= @skill.sp_cost
        # 各ウィンドウの内容を再作成
        @status_window.refresh
        @skill_window.refresh
        @target_window.refresh
        # 全滅の場合
        if $game_party.all_dead?
          # ゲームオーバー画面に切り替え
          $scene = Scene_Gameover.new
          return
        end
        # コモンイベント ID が有効の場合
        if @skill.common_event_id > 0
          # コモンイベント呼び出し予約
          $game_temp.common_event_id = @skill.common_event_id
          # マップ画面に切り替え
          $scene = Scene_Map.new
          return
        end
      end
      # スキルを使わなかった場合
      unless used
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
end
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:48

Puis Scene_Equip_Mod
Code:

#==============================================================================
# ■ Scene_Equip
#------------------------------------------------------------------------------
#  装備画面の処理を行うクラスです。
#==============================================================================

class Scene_Equip_Mod
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    actor_index : アクターインデックス
  #    equip_index : 装備インデックス
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
    @equip_index = equip_index
  end
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  def main
    # アクターを取得
    @actor = $game_party.actors[@actor_index]
    # ウィンドウを作成
    @help_window = Window_Help.new
    @left_window = Window_EquipLeft.new(@actor)
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    # ヘルプウィンドウを関連付け
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    # カーソル位置を設定
    @right_window.index = @equip_index
    refresh
    # トランジション実行
    Graphics.transition
    # メインループ
    loop do
      # ゲーム画面を更新
      Graphics.update
      # 入力情報を更新
      Input.update
      # フレーム更新
      update
      # 画面が切り替わったらループを中断
      if $scene != self
        break
      end
    end
    # トランジション準備
    Graphics.freeze
    # ウィンドウを解放
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    # アイテムウィンドウの可視状態設定
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    # 現在装備中のアイテムを取得
    item1 = @right_window.item
    # 現在のアイテムウィンドウを @item_window に設定
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    # ライトウィンドウがアクティブの場合
    if @right_window.active
      # 装備変更後のパラメータを消去
      @left_window.set_new_parameters(nil, nil, nil)
    end
    # アイテムウィンドウがアクティブの場合
    if @item_window.active
      # 現在選択中のアイテムを取得
      item2 = @item_window.item
      # 装備を変更
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      # 装備変更後のパラメータを取得
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      # 装備を戻す
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp
      # レフトウィンドウに描画
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ウィンドウを更新
    @left_window.update
    @right_window.update
    @item_window.update
    refresh
    # ライトウィンドウがアクティブの場合: update_right を呼ぶ
    if @right_window.active
      update_right
      return
    end
    # アイテムウィンドウがアクティブの場合: update_item を呼ぶ
    if @item_window.active
      update_item
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (ライトウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_right
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # メニュー画面に切り替え
      $scene = Scene_Essai.new(2)
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # 装備固定の場合
      if @actor.equip_fix?(@right_window.index)
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # アイテムウィンドウをアクティブ化
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      return
    end
    # R ボタンが押された場合
    if Input.trigger?(Input::R)
      # カーソル SE を演奏
      $game_system.se_play($data_system.cursor_se)
      # 次のアクターへ
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      # 別の装備画面に切り替え
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    # L ボタンが押された場合
    if Input.trigger?(Input::L)
      # カーソル SE を演奏
      $game_system.se_play($data_system.cursor_se)
      # 前のアクターへ
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      # 別の装備画面に切り替え
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アイテムウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_item
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # ライトウィンドウをアクティブ化
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # 装備 SE を演奏
      $game_system.se_play($data_system.equip_se)
      # アイテムウィンドウで現在選択されているデータを取得
      item = @item_window.item
      # 装備を変更
      @actor.equip(@right_window.index, item == nil ? 0 : item.id)
      # ライトウィンドウをアクティブ化
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      # ライトウィンドウ、アイテムウィンドウの内容を再作成
      @right_window.refresh
      @item_window.refresh
      return
    end
  end
end
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:48

Puis Scene_Save_Mod:
Code:

#==============================================================================
# ■ Scene_Save
#------------------------------------------------------------------------------
#  セーブ画面の処理を行うクラスです。
#==============================================================================

class Scene_Save_Mod < Scene_File
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super("Sauvegarder dans quel fichier?")
  end
  #--------------------------------------------------------------------------
  # ● 決定時の処理
  #--------------------------------------------------------------------------
  def on_decision(filename)
    # セーブ SE を演奏
    $game_system.se_play($data_system.save_se)
    # セーブデータの書き込み
    file = File.open(filename, "wb")
    write_save_data(file)
    file.close
    # イベントから呼び出されている場合
    if $game_temp.save_calling
      # セーブ呼び出しフラグをクリア
      $game_temp.save_calling = false
      # マップ画面に切り替え
      $scene = Scene_Map.new
      return
    end
    # メニュー画面に切り替え
    $scene = Scene_Essai.new(4)
  end
  #--------------------------------------------------------------------------
  # ● キャンセル時の処理
  #--------------------------------------------------------------------------
  def on_cancel
    # キャンセル SE を演奏
    $game_system.se_play($data_system.cancel_se)
    # イベントから呼び出されている場合
    if $game_temp.save_calling
      # セーブ呼び出しフラグをクリア
      $game_temp.save_calling = false
      # マップ画面に切り替え
      $scene = Scene_Map.new
      return
    end
    # メニュー画面に切り替え
    $scene = Scene_Essai.new(4)
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの書き込み
  #    file : 書き込み用ファイルオブジェクト (オープン済み)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    # セーブファイル描画用のキャラクターデータを作成
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    # セーブファイル描画用のキャラクターデータを書き込む
    Marshal.dump(characters, file)
    # プレイ時間計測用のフレームカウントを書き込む
    Marshal.dump(Graphics.frame_count, file)
    # セーブ回数を 1 増やす
    $game_system.save_count += 1
    # マジックナンバーを保存する
    # (エディタで保存するたびにランダムな値に書き換えられる)
    $game_system.magic_number = $data_system.magic_number
    # 各種ゲームオブジェクトを書き込む
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
  end
end
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyVen 3 Avr 2009 - 21:49

Et enfin Scene_Load_Mod :
Code:

#==============================================================================
# ■ Scene_Load
#------------------------------------------------------------------------------
#  ロード画面の処理を行うクラスです。
#==============================================================================

class Scene_Load_Mod < Scene_File
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # テンポラリオブジェクトを再作成
    $game_temp = Game_Temp.new
    # タイムスタンプが最新のファイルを選択
    $game_temp.last_file_index = 0
    latest_time = Time.at(0)
    for i in 0..3
      filename = make_filename(i)
      if FileTest.exist?(filename)
        file = File.open(filename, "r")
        if file.mtime > latest_time
          latest_time = file.mtime
          $game_temp.last_file_index = i
        end
        file.close
      end
    end
    super("Charger quelle partie?")
  end
  #--------------------------------------------------------------------------
  # ● 決定時の処理
  #--------------------------------------------------------------------------
  def on_decision(filename)
    # ファイルが存在しない場合
    unless FileTest.exist?(filename)
      # ブザー SE を演奏
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # ロード SE を演奏
    $game_system.se_play($data_system.load_se)
    # セーブデータの書き込み
    file = File.open(filename, "rb")
    read_save_data(file)
    file.close
    # BGM、BGS を復帰
    $game_system.bgm_play($game_system.playing_bgm)
    $game_system.bgs_play($game_system.playing_bgs)
    # マップを更新 (並列イベント実行)
    $game_map.update
    # マップ画面に切り替え
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # ● キャンセル時の処理
  #--------------------------------------------------------------------------
  def on_cancel
    # キャンセル SE を演奏
    $game_system.se_play($data_system.cancel_se)
    # タイトル画面に切り替え
    $scene = Scene_Essai.new
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの読み込み
  #    file : 読み込み用ファイルオブジェクト (オープン済み)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    # セーブファイル描画用のキャラクターデータを読み込む
    characters = Marshal.load(file)
    # プレイ時間計測用のフレームカウントを読み込む
    Graphics.frame_count = Marshal.load(file)
    # 各種ゲームオブジェクトを読み込む
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables    = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party        = Marshal.load(file)
    $game_troop        = Marshal.load(file)
    $game_map          = Marshal.load(file)
    $game_player        = Marshal.load(file)
    # マジックナンバーがセーブ時と異なる場合
    # (エディタで編集が加えられている場合)
    if $game_system.magic_number != $data_system.magic_number
      # マップをリロード
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    # パーティメンバーをリフレッシュ
    $game_party.refresh
  end
end
Puis dans Scene_Map ligne 122 :
Code:
 if Input.trigger?(Input::B)
      # イベント実行中かメニュー禁止中でなければ
      unless $game_system.map_interpreter.running? or
            $game_system.menu_disabled
        # メニュー呼び出しフラグと SE 演奏フラグをセット
        $game_temp.menu_calling = true
        $game_temp.menu_beep = true
      end
    end
Exclamation à supprimer !
Puis dans la première map, créer un évenement pour activer un interrupteur (n'importe lequel) et dans les évènements globaux dire Processus Parallèle activation "Votre Interrupteur" :
Si la touche B est pressée
Alors : $scene = Scene_Essai.new
Fin

Voilà Super !

Les scripts sont de moi et les _Mod sont déja là mais je les ai modifiés pour correspondre avec le Scene_Essai.
Revenir en haut Aller en bas
Dragokiller
Embryon
Embryon
Dragokiller


Masculin Messages : 828
Age : 27
Date d'inscription : 09/11/2008

Caractéristiques du membre
Evolution: Atome
Job: Je n'en n'ai pas vraiment pour l'instant
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptySam 4 Avr 2009 - 10:47

Ce script est long pour ce que c'est...
Revenir en haut Aller en bas
Zarmakuizz
Zarmakuizz


Masculin Messages : 5155
Age : 34
Loisirs : Mon biz'
Date d'inscription : 24/09/2006

Caractéristiques du membre
Evolution: Atome
Job: Faire des passes éclair
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptySam 4 Avr 2009 - 12:28

Je me demande aussi si c'est beaucoup pour pas grand-chose. C'est bien plus propre d'avoir à modifier/créer un seul script plutôt que de devoir faire des petites modifications parci-parla.
Revenir en haut Aller en bas
http://www.pokecardex.com
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptySam 4 Avr 2009 - 18:17

J'ai réécrit les _Mod au lieu de faire des modifs à cause des débutants.
Revenir en haut Aller en bas
stolas666
Embryon
Embryon
stolas666


Masculin Messages : 600
Age : 33
Loisirs : Musique
Date d'inscription : 04/03/2009

Caractéristiques du membre
Evolution: Atome
Job: Musicos et semi scenariste.
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptySam 4 Avr 2009 - 20:35

A ok sinon en fait c'est juste des modifs de script c'est sa ?
Revenir en haut Aller en bas
abigaël
Matière
Matière


Masculin Messages : 176
Date d'inscription : 21/03/2009

Caractéristiques du membre
Evolution: Atome
Job: charamaking et scénarios
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptySam 4 Avr 2009 - 20:45

une fois le menu modifié ainsi , on a un menu comme pokémon game boy non ?
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyDim 5 Avr 2009 - 10:20

stolas666 a écrit:
A ok sinon en fait c'est juste des modifs de script c'est sa ?
Pas exactement non, il faut quand même rajoute Scene_Essai.
sabigaël a écrit:
une fois le menu modifié ainsi , on a un menu comme pokémon game boy non ?
C'est pas faux, en réalité le menu dans pokémon est à droite mais bon là aussi on peut le mettre à droite. Razz
Revenir en haut Aller en bas
Zero
Zero


Masculin Messages : 1755
Age : 32
Loisirs : Fight, Drink and Fuck
Date d'inscription : 26/04/2007

Caractéristiques du membre
Evolution: Atome
Job: La fête !
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyDim 5 Avr 2009 - 10:56

Sa bote bien ce truc...

Il y a moyen ( je pense fort bien beaucoup)
De Mettre un image en fond au lieu de la windows skin ?

Voyez? xD
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyDim 5 Avr 2009 - 10:59

Zero a écrit:
Sa bote bien ce truc...

Il y a moyen ( je pense fort bien beaucoup)
De Mettre un image en fond au lieu de la windows skin ?

Voyez? xD
Oui je pense qu'il y a un moyen de mettre autre chose que le Windows Skin mais pour le faire ... study

L'avantage de ce script est qu'il est personnalisable et facile à utiliser.
Même un débutant peut l'utliser lol!
Revenir en haut Aller en bas
Zarmakuizz
Zarmakuizz


Masculin Messages : 5155
Age : 34
Loisirs : Mon biz'
Date d'inscription : 24/09/2006

Caractéristiques du membre
Evolution: Atome
Job: Faire des passes éclair
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyDim 5 Avr 2009 - 16:07

Une chose que tu peux faire, c'est créer un projet contenant des scripts épurés et customisables pour les débutants. Ou au moins contenant ce script.
Revenir en haut Aller en bas
http://www.pokecardex.com
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyDim 5 Avr 2009 - 19:11

Citation :
Une chose que tu peux faire, c'est créer un projet contenant des scripts épurés et customisables pour les débutants. Ou au moins contenant ce script.

Bonne idée : http://www.megaupload.com/?d=O36BUNB3

J'espère que ça servira Super !
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyLun 6 Avr 2009 - 17:19

Nouveau J'up ce script avec un bonus : un Worldmap
Créez un nouveau script : Script_Vol
Code:
#==============================================================================
# ** Scene_Vol
# De Quentin BAZIN htp://www.crazycollec.wb.st
#==============================================================================

class Scene_Vol
  #--------------------------------------------------------------------------
  # ●  menu_index
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0) # Initialisation de l'index
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● Principal
  #--------------------------------------------------------------------------
  def main # Initialisation des variables
    @spriteset=Spriteset_Map.new
    s1 = "Téléporter"
    @command_window = Window_Command_Vol.new(160, [s1]) # Création d'une fenêtre de commande
    @command_window.index = @menu_index
    Graphics.transition # Transition graphique lorsque l'on quitte le menu
    loop do # Début de la boucle
      Graphics.update
      Input.update
      update # On dit au script d'aller voir la méthode "update"
      if $scene != self
        break
      end
    end
    Graphics.freeze # On gèle l'écran
    @command_window.dispose # On efface la fenêtre de commande
    @spriteset.dispose
  end
#=====================================================================
# * Définition de la méthode Teleport
#======================================================================
  def teleport(map_id, coord_x, coord_y, direction=0)
    $game_temp.player_transferring = true
    $game_temp.player_new_map_id = map_id
    $game_temp.player_new_x = coord_x
    $game_temp.player_new_y = coord_y
    $game_temp.player_new_direction = direction
    Graphics.freeze
    $scene = Scene_Map.new
  end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
  def update
    @command_window.update # Mise à jour de la fenêtre de commande en disant d'aller voir la méthode "update" de la classe contenue dans @command_window, c'est à dire "Command_Window.new".
    if @command_window.active # Si la fenêtre de commande est active
      update_command # Aller voir la méthode "update_command"
      return # Retourné le résultat
    end
  end
#--------------------------------------------------------------------------
  # ● Mise à jour de la commande
  #--------------------------------------------------------------------------
  def update_command # Définition de la méthode "update_command"
    # B
    if Input.trigger?(Input::B) #Si l'on appuis sur B (c'est à dire Echap, X, ou 0)
      $game_system.se_play($data_system.cancel_se) #On joue le son "SE" dont le nom ($data_system.cancel_se) est  renvoyer par la méthode "cancel_se" de la classe contenue dans "$data_system".
      $scene = Scene_Menu.new # Aller à la scène : "Scene_Menu"
      return
    end
    # C
    if Input.trigger?(Input::C) # Si l'on appuis sur C (c'est à dire Entrée, ou Espace).
      case @command_window.index # Etudions les valeurs que peuvent prendre l'index de la fenêtre de commande (c'est à dire la position du curseur dans la commande : premier choix, deuxième choix, etc...) sachant que le premier choix à pour numéro 0.
      when 0  # Si l'on est sur le premier choix
        $game_system.se_play($data_system.decision_se) # Jouer la SE
        teleport(2, 17, 3, 2)#Map_Id, coord_x, coord_y, direction 2 = Bas, 4 = Gauche, 6 = Droite, 8 = Haut
      end # Fin de la condition
      return
    end # Fin la condition (appuis touche)
  end # Fin de la méthode
end
Puis supprimez Scene_Menu et renommez Scene_Essai en Scene_Menu :
Code:
#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu # Début de la classe
  #--------------------------------------------------------------------------
  # ●  menu_index
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0) # Initialisation de l'index
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● Principal
  #--------------------------------------------------------------------------
  def main # Initialisation des variables
    @spriteset=Spriteset_Map.new
    s1 = "Objets"
    s2 = "Compétences"
    s3 = "Equiper"
    s4 = "Sauvegarder"
    s5 = "Charger"
    s6 = "Ecran titre"
    s7 = "Quitter"
    s8 = "Status"
    s9 = "Téléport"
    @command_window = Window_Command.new(160, [s1, s2, s3, s8, s9, s4, s5, s6, s7]) # Création d'une fenêtre de commande
    @command_window.index = @menu_index
    Graphics.transition # Transition graphique lorsque l'on quitte le menu
    loop do # Début de la boucle
      Graphics.update
      Input.update
      update # On dit au script d'aller voir la méthode "update"
      if $scene != self
        break
      end
    end
    Graphics.freeze # On gèle l'écran
    @command_window.dispose # On efface la fenêtre de commande
    @spriteset.dispose
  end
  #--------------------------------------------------------------------------
  # ● Mise à jour
  #--------------------------------------------------------------------------
  def update # On définie la méthode "update"
    @command_window.update # Mise à jour de la fenêtre de commande en disant d'aller voir la méthode "update" de la classe contenue dans @command_window, c'est à dire "Command_Window.new".
    if @command_window.active # Si la fenêtre de commande est active
      update_command # Aller voir la méthode "update_command"
      return # Retourné le résultat
    end
  end
  #--------------------------------------------------------------------------
  # ● Mise à jour de la commande
  #--------------------------------------------------------------------------
  def update_command # Définition de la méthode "update_command"
    # B
    if Input.trigger?(Input::B) #Si l'on appuis sur B (c'est à dire Echap, X, ou 0)
      $game_system.se_play($data_system.cancel_se) #On joue le son "SE" dont le nom ($data_system.cancel_se) est  renvoyer par la méthode "cancel_se" de la classe contenue dans "$data_system".
      $scene = Scene_Map.new # Aller à la scène : "Scene_Map"
      return
    end
    # C
    if Input.trigger?(Input::C) # Si l'on appuis sur C (c'est à dire Entrée, ou Espace).
      case @command_window.index # Etudions les valeurs que peuvent prendre l'index de la fenêtre de commande (c'est à dire la position du curseur dans la commande : premier choix, deuxième choix, etc...) sachant que le premier choix à pour numéro 0.
      when 0  # Si l'on est sur le premier choix
        $game_system.se_play($data_system.decision_se) # Jouer la SE
        $scene = Scene_Item.new
      when 1  # Si l'on est sur le deuxième choix
        $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_Vol.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 6
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Load_Mod.new
      when 7
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Title.new
      when 8
        $game_system.se_play($data_system.decision_se)
        command_shutdown
      end # Fin de la condition
      return
    end # Fin la condition (appuis touche)
  end # Fin de la méthode
  #--------------------------------------------------------------------------
  # ● Fermer le Jeu
  #--------------------------------------------------------------------------
  def command_shutdown
    # 決定 SE を演奏
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME をフェードアウト
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # シャットダウン
    $scene = nil
  end
end # Fin de la classe
Et enfin, supprimez tous les _mod sauf Scene_Load_Mod et pour finir copiez le script Window_Command et appellez le Window_Command_Vol puis modifiez l'emplacement de la fenêtre avec la ligne : super(x, y, w, h). Vlà Super !
Revenir en haut Aller en bas
Quent42340
Molécule
Molécule
Quent42340


Messages : 67
Date d'inscription : 03/04/2009

Caractéristiques du membre
Evolution: Atome
Job: La création de Jeux :lol:
XP:
Petit Menu (Personnalisable) + UP : Worldmap Left_bar_bleue20/20Petit Menu (Personnalisable) + UP : Worldmap Empty_bar_bleue  (20/20)

Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap EmptyLun 6 Avr 2009 - 17:31

Et comme le dit Zarmakuizz :
Zarmakuizz a écrit:
Une chose que tu peux faire, c'est créer un projet contenant des scripts épurés et customisables pour les débutants. Ou au moins contenant ce script.

Le lien de la démo ( menu + worldmap ): http://www.megaupload.com/?d=1YRYMOR5
Revenir en haut Aller en bas
Contenu sponsorisé



Petit Menu (Personnalisable) + UP : Worldmap Empty
MessageSujet: Re: Petit Menu (Personnalisable) + UP : Worldmap   Petit Menu (Personnalisable) + UP : Worldmap Empty

Revenir en haut Aller en bas
 

Petit Menu (Personnalisable) + UP : Worldmap

Voir le sujet précédent Voir le sujet suivant Revenir en haut 

 Sujets similaires

-
» Menu personnalisable avec commande téléport
» Thèmes de Worldmap / Overworlds
» Crédi totalement personnalisable
» Script écran titre personnalisable
» Menu CMS
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Zarok RPG Maker :: 

 :: SCRIPTS :: Script XP :: Scripts d'interfaces/ menus
-
Sauter vers: