AccueilPortailCalendrierFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 jouer de l'Ocarina comme dans Zelda 64

Aller en bas 
AuteurMessage
Bluelemon
Roi des Boulets
Roi des Boulets
avatar

Masculin
Nombre de messages : 1773
Projet(s) en cours : Galaxia,Projet de Bruno,Ketanex,Empire of Stagnum, Ether
Niveau Rpg Maker : exceptionnel
Date d'inscription : 11/11/2007

MessageSujet: jouer de l'Ocarina comme dans Zelda 64   Dim 01 Juin 2008, 18:43

Un petit script de l'anglais Nahchito

créer un nouveau script et nommez le Ocarina et copier coller ça :

Citation :
#============================================================================
# ** Ocarina System (Revised)
#----------------------------------------------------------------------------
# Rudy_Guillan : RENEGADEOFBMX : vpcdmd
# 2.0
# 2/16/2008
#---
# ~ Originally Created by : Rudy_Guillan
# ~ Edited by : RENEGADEOFBMX
# ~ Revised and Rewrite by : vpcdmd
#============================================================================

#----------------------------------------------------------------------------
# ** Game_System
#----------------------------------------------------------------------------

class Game_System
attr_reader :ocarina, :ocarina_down, :ocarina_right, :ocarina_up, :ocarina_left
alias tsu_ocarina_initialize initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@ocarina = []
#------------------------------------------------------------------------
@ocarina_down = "001-System01"
@ocarina_left = "002-System02"
@ocarina_right = "003-System03"
@ocarina_up = "004-System04"
#------------------------------------------------------------------------
@ocarina[0] = []
@ocarina[0][0] = 4
@ocarina[0][1] = 4
@ocarina[0][2] = 6
@ocarina[0][3] = 6
@ocarina[0][4] = 2
@ocarina[0][5] = 2
@ocarina[0][6] = "Bolero of fire"
@ocarina[0][7] = Color.new(0, 255, 0)
@ocarina[0][8] = "023-Dive03"
@ocarina[0][9] = 1
#------------------------------------------------------------------------
@ocarina[1] = []
@ocarina[1][0] = 8
@ocarina[1][1] = 2
@ocarina[1][2] = 2
@ocarina[1][3] = 8
@ocarina[1][4] = 2
@ocarina[1][5] = 2
@ocarina[1][6] = "Canción del fuego"
@ocarina[1][7] = Color.new(255, 0, 0)
@ocarina[1][8] = "023-Dive03"
@ocarina[1][9] = 47
#------------------------------------------------------------------------
@ocarina[2] = []
@ocarina[2][0] = 2
@ocarina[2][1] = 2
@ocarina[2][2] = 8
@ocarina[2][3] = 8
@ocarina[2][4] = 8
@ocarina[2][5] = 2
@ocarina[2][6] = 2
@ocarina[2][7] = "Bolero with seven"
@ocarina[2][8] = Color.new(0, 0, 255)
@ocarina[2][9] = "060-Cheer01"
@ocarina[2][10] = 2
#------------------------------------------------------------------------
@ocarina[3] = []
@ocarina[3][0] = 2
@ocarina[3][1] = 8
@ocarina[3][2] = 2
@ocarina[3][3] = 8
@ocarina[3][7] = "Small with four"
@ocarina[3][8] = Color.new(0, 255, 255)
@ocarina[3][9] = "022-Dive02"
@ocarina[3][10] = 3
#------------------------------------------------------------------------
tsu_ocarina_initialize
end
end
#----------------------------------------------------------------------------
# ** Scene_Ocarina
#----------------------------------------------------------------------------

class Ocarina
#--------------------------------------------------------------------------
# * Main
#--------------------------------------------------------------------------
def main
@spriteset = Spriteset_Map.new
@ocarina_window = Window_Ocarina.new
@back = Sprite.new
@back.bitmap = RPG::Cache.picture("pentagrama")
@back.x = 40
@back.y = 360
@back.opacity = 160
@arrow = []
@max_notes = 0
for i in 0...$game_system.ocarina.size
size = $game_system.ocarina[i].size - 4
@max_notes = size > @max_notes ? size : @max_notes
end
for i in 1..@max_notes
@arrow[i] = Sprite.new
@arrow[i].bitmap = RPG::Cache.picture("arrow")
@arrow[i].ox = @arrow[i].bitmap.width / 2
@arrow[i].oy = @arrow[i].bitmap.height / 2
@arrow[i].opacity = 0
end
@song = []
@correct = false
@counter = 0
@objects = [@spriteset, @back, @ocarina_window]
Graphics.transition
while $scene == self
Graphics.update
Input.update
@objects.each {|x| x.update}
update
end
Graphics.freeze
@objects.each {|object| object.dispose}
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
if @correct
if @counter == 0
@ocarina_window.set_text(@i)
se = $game_system.ocarina[@i].size - 2
Audio.se_play("Audio/SE/" + $game_system.ocarina[@i][se], 80, 100)
for i in 1..@max_notes
@arrow[i].opacity = 255
end
switch = $game_system.ocarina[@i].size - 1
$game_switches[$game_system.ocarina[@i][switch]] = true
end
@counter += 1
if @counter >= 200
$scene = Scene_Map.new
$game_map.autoplay
$game_map.refresh
end
else
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
for @i in 0...$game_system.ocarina.size
correct = true
for j in 0...$game_system.ocarina[@i].size - 4
if @song[j] != $game_system.ocarina[@i][j]
correct = false
end
end
if correct == true
@correct = true
break
end
end
if @song.size >= @max_notes && @correct == false
@counter += 1
if @counter >= 80
$scene = Scene_Map.new
end
end
if Input.trigger?(Input::DOWN) && @song.size < @max_notes
Audio.se_play("Audio/SE/" + $game_system.ocarina_down, 80, 100)
@song.push(2)
for i in 1..@song.size
if i == @song.size
@arrow[i].angle = 180
@arrow[i].opacity = 160
@arrow[i].x = 80 + ((400/(@max_notes-1)) * i)
@arrow[i].y = 440
end
end
end
if Input.trigger?(Input::LEFT) && @song.size < @max_notes
Audio.se_play("Audio/SE/" + $game_system.ocarina_left, 80, 100)
@song.push(4)
for i in 1..@song.size
if i == @song.size
@arrow[i].angle = 90
@arrow[i].opacity = 160
@arrow[i].x = 80 + ((400/(@max_notes-1)) * i)
@arrow[i].y = 420
end
end
end
if Input.trigger?(Input::RIGHT) && @song.size < @max_notes
Audio.se_play("Audio/SE/" + $game_system.ocarina_right, 80, 100)
@song.push(6)
for i in 1..@song.size
if i == @song.size
@arrow[i].angle = 270
@arrow[i].opacity = 160
@arrow[i].x = 80 + ((400/(@max_notes-1)) * i)
@arrow[i].y = 400
end
end
end
if Input.trigger?(Input::UP) && @song.size < @max_notes
Audio.se_play("Audio/SE/" + $game_system.ocarina_up, 80, 100)
@song.push(Cool
for i in 1..@song.size
if i == @song.size
@arrow[i].opacity = 160
@arrow[i].x = 80 + ((400/(@max_notes-1)) * i)
@arrow[i].y = 380
end
end
end
end
end
end
#--------------------------------------------------------------------------
# ** Window_Ocarina
#--------------------------------------------------------------------------

class Window_Ocarina < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 280, 640, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
@song = []
@correct = false
@counter = 0
end
#--------------------------------------------------------------------------
# * Set Text
#--------------------------------------------------------------------------
def set_text(index)
col = $game_system.ocarina[index].size - 3
text = $game_system.ocarina[index].size - 4
self.contents.font.color = $game_system.ocarina[index][col]
self.contents.draw_text(0, 0, 618, 48, $game_system.ocarina[index][text], 1)
end
end


UTILISATION

Citation :
SOUND FOR EACH NOTE
@ocarina_down = "001-System01"
@ocarina_left = "002-System02"
@ocarina_right = "003-System03"
@ocarina_up = "004-System04"

Entre les guillemets vous mettez le nom du SE que vous voulez que le jeu joue.

Citation :

@ocarina[i] = []Array number
@ocarina[i][0] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][1] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][2] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][3] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][4] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][5] = direction (2 = down, 4 = left, 6 = right, 8 = up)
@ocarina[i][6] = Name_of_song
@ocarina[i][7] = Color_of_song_name
@ocarina[i][8] = Song's sound file (SE)
@ocarina[i][9] = Switch that activates when the song is player correctly.

Bon ce bloc c'est une musique

[i] désigne le numéro de votre musique
du 1 au 5 il s'agit de la combinaison (ordre) des touches à presser pour activer la musique : le 2 correspond en bas 4 à gauche 6 à gauche 8 en haut.
le 6 est le nom du son
Le 7 la couleur de police du son
le 8 la musique joué SE
le 9 l'interrupteur activé

Vous aurez également besoin de mettre dans votre dossier picture de créer une image bitmap nommée pentagrama
et une autre nommée arrow


Ne pas oubliez pour activer le script :

event->insérer un script->$scene = Ocarina.new
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
jouer de l'Ocarina comme dans Zelda 64
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ligne d'occupation des trains comme dans la réalité
» Etienne Beaudoux pourrai tu faire un plugin pour voir les codes en vb comme dans la version pro mais pour la version standard
» je lis en toi comme dans un livre ouvert. + eva
» Mettre une image dans un titre sujet (comme pour les catégories) {Abandonné}
» Mettre une image comme fond dans les barres

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Divers-
Sauter vers: