Partagez
Aller en bas
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 25
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Jukebox Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Jukebox Empty Jukebox

le Mar 12 Aoû 2008 - 22:32
Ce script permet de faire une juke-box. Celle ci sera affichée ici :
Jukebox Sans_t11


Auteur => Fils du loup
Installation : Ouvrez l'éditeur de script (F11). Allez dans "Scene_Title" et collez le code ci-dessous.

Spoiler:
Code:
#===============================================================
#                         
#                www.rpgmakervx-fr.com                                         
#     
#===============================================================
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  def main
    if $BTEST                        # 戦闘テストの場合
      battle_test                    # 戦闘テストの開始処理
    else                              # 通常のプレイの場合
      super                          # 本来のメイン処理
    end
  end
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
    load_database                    # データベースをロード
    create_game_objects              # ゲームオブジェクトを作成
    check_continue                    # コンティニュー有効判定
    create_title_graphic              # タイトルグラフィックを作成
    create_command_window            # コマンドウィンドウを作成
    play_title_music                  # タイトル画面の音楽を演奏
  end
  #--------------------------------------------------------------------------
  # ● トランジション実行
  #--------------------------------------------------------------------------
  def perform_transition
    Graphics.transition(20)
  end
  #--------------------------------------------------------------------------
  # ● 開始後処理
  #--------------------------------------------------------------------------
  def post_start
    super
    open_command_window
  end
  #--------------------------------------------------------------------------
  # ● 終了前処理
  #--------------------------------------------------------------------------
  def pre_terminate
    super
    close_command_window
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_command_window
    snapshot_for_background
    dispose_title_graphic
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    @command_window.update
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0    # ニューゲーム
        command_new_game
      when 1    # コンティニュー
        command_continue
      when 2    # シャットダウン
        Sound.play_decision
      $scene = Scene_Jukebox.new
      when 3
        command_shutdown
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● データベースのロード
  #--------------------------------------------------------------------------
  def load_database
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes      = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items        = load_data("Data/Items.rvdata")
    $data_weapons      = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies      = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas        = load_data("Data/Areas.rvdata")
  end
  #--------------------------------------------------------------------------
  # ● 戦闘テスト用データベースのロード
  #--------------------------------------------------------------------------
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rvdata")
    $data_classes      = load_data("Data/BT_Classes.rvdata")
    $data_skills        = load_data("Data/BT_Skills.rvdata")
    $data_items        = load_data("Data/BT_Items.rvdata")
    $data_weapons      = load_data("Data/BT_Weapons.rvdata")
    $data_armors        = load_data("Data/BT_Armors.rvdata")
    $data_enemies      = load_data("Data/BT_Enemies.rvdata")
    $data_troops        = load_data("Data/BT_Troops.rvdata")
    $data_states        = load_data("Data/BT_States.rvdata")
    $data_animations    = load_data("Data/BT_Animations.rvdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
    $data_system        = load_data("Data/BT_System.rvdata")
  end
  #--------------------------------------------------------------------------
  # ● 各種ゲームオブジェクトの作成
  #--------------------------------------------------------------------------
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message      = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party        = Game_Party.new
    $game_troop        = Game_Troop.new
    $game_map          = Game_Map.new
    $game_player        = Game_Player.new
  end
  #--------------------------------------------------------------------------
  # ● コンティニュー有効判定
  #--------------------------------------------------------------------------
  def check_continue
    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  end
  #--------------------------------------------------------------------------
  # ● タイトルグラフィックの作成
  #--------------------------------------------------------------------------
  def create_title_graphic
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("Title")
  end
  #--------------------------------------------------------------------------
  # ● タイトルグラフィックの解放
  #--------------------------------------------------------------------------
  def dispose_title_graphic
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● コマンドウィンドウの作成
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::new_game
    s2 = Vocab::continue
    s3 = "Jukebox"
    s4 = Vocab::shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    if @continue_enabled                    # コンティニューが有効な場合
      @command_window.index = 1            # カーソルを合わせる
    else                                    # 無効な場合
      @command_window.draw_item(1, false)  # コマンドを半透明表示にする
    end
    @command_window.openness = 0
    @command_window.open
  end
  #--------------------------------------------------------------------------
  # ● コマンドウィンドウの解放
  #--------------------------------------------------------------------------
  def dispose_command_window
    @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● コマンドウィンドウを開く
  #--------------------------------------------------------------------------
  def open_command_window
    @command_window.open
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 255
  end
  #--------------------------------------------------------------------------
  # ● コマンドウィンドウを閉じる
  #--------------------------------------------------------------------------
  def close_command_window
    @command_window.close
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 0
  end
  #--------------------------------------------------------------------------
  # ● タイトル画面の音楽演奏
  #--------------------------------------------------------------------------
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::ME.stop
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーの初期位置存在チェック
  #--------------------------------------------------------------------------
  def confirm_player_location
    if $data_system.start_map_id == 0
      print "プレイヤーの初期位置が設定されていません。"
      exit
    end
  end
  #--------------------------------------------------------------------------
  # ● コマンド : ニューゲーム
  #--------------------------------------------------------------------------
  def command_new_game
    confirm_player_location
    Sound.play_decision
    $game_party.setup_starting_members            # 初期パーティ
    $game_map.setup($data_system.start_map_id)    # 初期位置のマップ
    $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
  #--------------------------------------------------------------------------
  # ● コマンド : コンティニュー
  #--------------------------------------------------------------------------
  def command_continue
    if @continue_enabled
      Sound.play_decision
      $scene = Scene_File.new(false, true, false)
    else
      Sound.play_buzzer
    end
  end
  #--------------------------------------------------------------------------
  # ● コマンド : シャットダウン
  #--------------------------------------------------------------------------
  def command_shutdown
    Sound.play_decision
    RPG::BGM.fade(800)
    RPG::BGS.fade(800)
    RPG::ME.fade(800)
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 戦闘テスト
  #--------------------------------------------------------------------------
  def battle_test
    load_bt_database                  # 戦闘テスト用データベースをロード
    create_game_objects              # ゲームオブジェクトを作成
    Graphics.frame_count = 0          # プレイ時間を初期化
    $game_party.setup_battle_test_members
    $game_troop.setup($data_system.test_troop_id)
    $game_troop.can_escape = true
    $game_system.battle_bgm.play
    snapshot_for_background
    $scene = Scene_Battle.new
  end
end

Suite 2e post
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 25
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Jukebox Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Jukebox Empty Re: Jukebox

le Mar 12 Aoû 2008 - 22:34
Comment mettre les musiques?
Il faut mettre ce script (encore, oui je sais ^^') au dessus de main cette fois ci

Pour rajouter les musiques, tout est clairement expliqué dedans!

Spoiler:
Code:
#==============================
# ■ Jukebox par Fils du loup
#------------------------------
#Permet de créer une fenêtre un sous menu pour écouter la musique
#==============================
class Scene_Jukebox


def initialize(menu_index = 0)
@menu_index = menu_index

end
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
#Mettre l'image title en fond ca a changé par rapport a xp !
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("Title")
#Initializé les commande et la fenetre
s1 = "Nom de la musique"  #signifie que le choix numero un aura ecrit Le nom de votre musique à la fenetre
s2 = "Nom de la musique"
s3 = "Nom de la musique"
s4 = "Nom de la musique"
s5 = "Nom de la musique"
s6 = "Nom de la musique"
s7 = "Nom de la musique"
s8 = "Retour Menu" #ci vous voulez ajouter une musique apré le s7 marquez s8 et les "Nom de la musique" et changer le s8 = "Retour Menu" en s9.
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
@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
# Si j'appuie sur B
if Input.trigger?(Input::B)
# joue cancel
Sound.play_cancel
# returne a l'ecran titre
$scene = Scene_Title.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0 # アイテム
# 決定 SE を演奏
Sound.play_decision# Joue le son qui a été paramétré dans la base de donnée
# アイテム画面に切り替え
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
#Execute la musique
when 1 # スキル
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
when 2 # 装備
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
when 3
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
when 4
Sound.play_decision
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
when 5
Sound.play_decision
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)
when 6
Sound.play_decision
# 決定 SE を演奏
Sound.play_decision
# ステータスウィンドウをアクティブにする
Audio.bgm_play("Audio/BGM/Nom de la musique.mp3",100,100) #même le MP3 marche.
when 7 #ci vous rajouter une musique copier le code ici et mètre when 8 pour suivre.
Sound.play_decision
$scene = Scene_Title.new
end
return
end
end
end


Dernière édition par cocodriftou le Mer 13 Aoû 2008 - 15:06, édité 1 fois
Orbital
Orbital
Membre

Nombre de messages : 141
Age : 28
Localisation : Euh, tu vois la France ? l'Isère ? grenoble ? SMH ? ma maison ? le bureau ? le PC ? bah c'est là
Distinction : aucune
Date d'inscription : 09/08/2008

Jukebox Empty Re: Jukebox

le Mar 12 Aoû 2008 - 23:52
je t'aime coco XD

Mais si je veux appeler le juke-box par un évènement dans le jeu ou qu'il soit accessible via le menu plus tard dans le jeu, j'ai besoin des 2 script ? et aussi le "script title" je remplace celui deja existant ? O.ô
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 25
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Jukebox Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 11:51
lol je suis pas scripeur moi! Il faut demander a un scripteur directement!

Sinon oui il faut le remplacer ^^
Higinia
Higinia
Membre

Nombre de messages : 191
Age : 26
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 14:27
Jukebox 354280 je t'aime aussi coco ! Jukebox 301290

Mais ce ne serait pas possible que le joueur voit ce menu , une fois le jeu terminé ?
MAXIME260697
MAXIME260697
Membre

Nombre de messages : 47
Distinction : aucune
Date d'inscription : 17/07/2008

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 14:53
C'est trop cool!!! Mais comment on fait pour afficher un SE??
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 25
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Jukebox Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 15:07
Je crois qu'à la place de ça :
Code:
Audio.bgm_play("Audio/BGM/Nom de la musique.mid",100,100)

Tu met ça

Code:
Audio.bgm_play("Audio/SE/Nom de la musique.mid",100,100)
pinguino21v
pinguino21v
Membre

Nombre de messages : 199
Age : 29
Localisation : Vous êtes ici
Distinction : aucune
Date d'inscription : 22/07/2008

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 20:26
cocodriftou a écrit:
Code:
Audio.bgm_play("Audio/SE/Nom de la musique.mid",100,100)
Ne serait-ce pas plutot...
Code:
Audio.se_play("Audio/SE/Nom de la musique.mid",100,100)
J'en sais rien, je propose hein
Orbital
Orbital
Membre

Nombre de messages : 141
Age : 28
Localisation : Euh, tu vois la France ? l'Isère ? grenoble ? SMH ? ma maison ? le bureau ? le PC ? bah c'est là
Distinction : aucune
Date d'inscription : 09/08/2008

Jukebox Empty Re: Jukebox

le Mer 13 Aoû 2008 - 20:54
sisi c'est ca,

le juke box marche très bien, merci (sauf que y a qu'une seule colonne et ca va etre vite rempli, donc si quelque peu changer le script pour avoir 2 colones + que ca soit défilant pour avoir en quelque sorte une infinité de place....genre mettre 40 sons)

Merci

(ah aussi j'ai changé 2, 3 truc comme une ligne "arreter musique" et un retour au menu au lieu de l'écran titre. Ah aussi j'ai pris que le 2ème script, ca marche très bien, le 1er servant à mettre le juke box à l'écran titre

Voilou
Contenu sponsorisé

Jukebox Empty Re: Jukebox

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum