- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
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
Jukebox
Mar 12 Aoû 2008 - 22:32
Ce script permet de faire une juke-box. Celle ci sera affichée ici :
Auteur => Fils du loup
Installation : Ouvrez l'éditeur de script (F11). Allez dans "Scene_Title" et collez le code ci-dessous.
Suite 2e post
Auteur => Fils du loup
Installation : Ouvrez l'éditeur de script (F11). Allez dans "Scene_Title" et collez le code ci-dessous.
- Spoiler:
- Code:
#===============================================================
#
# rpgmakervx.1fr1.net
#
#===============================================================
#==============================================================================
# ■ 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'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
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
Re: Jukebox
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!
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
- OrbitalMembre
- Nombre de messages : 141
Age : 33
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
Re: Jukebox
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.ô
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'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
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
Re: Jukebox
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 ^^
Sinon oui il faut le remplacer ^^
- HiginiaMembre
- Nombre de messages : 191
Age : 31
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008
Re: Jukebox
Mer 13 Aoû 2008 - 14:27
je t'aime aussi coco !
Mais ce ne serait pas possible que le joueur voit ce menu , une fois le jeu terminé ?
Mais ce ne serait pas possible que le joueur voit ce menu , une fois le jeu terminé ?
- MAXIME260697Membre
- Nombre de messages : 47
Distinction : aucune
Date d'inscription : 17/07/2008
Re: Jukebox
Mer 13 Aoû 2008 - 14:53
C'est trop cool!!! Mais comment on fait pour afficher un SE??
- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
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
Re: Jukebox
Mer 13 Aoû 2008 - 15:07
Je crois qu'à la place de ça :
Tu met ç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)
- pinguino21vMembre
- Nombre de messages : 199
Age : 35
Localisation : Vous êtes ici
Distinction : aucune
Date d'inscription : 22/07/2008
Re: Jukebox
Mer 13 Aoû 2008 - 20:26
Ne serait-ce pas plutot...cocodriftou a écrit:
- Code:
Audio.bgm_play("Audio/SE/Nom de la musique.mid",100,100)
- Code:
Audio.se_play("Audio/SE/Nom de la musique.mid",100,100)
- OrbitalMembre
- Nombre de messages : 141
Age : 33
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
Re: Jukebox
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
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
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum