Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: [VX] Trophy Dim 25 Aoû 2013 - 13:58 | |
| Bonjour à tous et à toutes! Je viens vous partager une de mes créations (une vieille cette fois) qui permet d'avoir un système de trophée. Tout est écrit dans la configuration du script ! Vidéo démonstration :[ytube]https://www.youtube.com/watch?v=jkACM4_RsUg[/ytube] Le script :- Spoiler:
- Code:
-
############################################################################################# ##### TROPHY ############################################################################################# # Auteur : Biward # Date : 20/08/2013 21:35 # Version : VX # # Permet d'avoir un album de trophée dans son jeu
module BITRO #====================================================================== # Information #======================================================================
# Pour débloqué une photo, mettez ceci dans un évènement : # new_troph(ID) # ID = id de la photo # Pour appeller l' album : # album # à mettre dans un appel de script ! #======================================================================= # Configuraion #======================================================================= # Mettez ici les photo ! # ID = [Nom = "...", Image = "...", Int = 0] # ID = id du trophée # Nom = Nom du trophée # Image = Nom de l'image du trophée dans le dossier pictures # Int = ID de l'interrupteur qui permettra d'afficher la photo dans l'album Trophy = { 1 => [Nom = "Ajisai", Image = "Aji", Int = 1], 2 => [Nom = "KuroFidy", Image = "Kuro", Int = 2], 3 => [Nom = "Jnapoutiha", Image = "Jna", Int = 3], 4 => [Nom = "Kouett", Image = "Kouett", Int = 4] } #Laissez ça ! # Mettez soit : # "menu" pour l'appel de script depuis le menu # "map" pour l'appel de script depuis la map # "objet" pour l'appel de script depuis un objet APPEL = "map" # Configuration de la fenête de débloquage de photo : # Texte de déblocage : TEXT_DELOCK = "Nouveau trophée" #Texet de photos déjà débloquée TEXT_DEJA_DELOCK = "Trophée déjà gagné !" # Position X et Y de la fenêtre de déblocage X_DELOCK = 0 Y_DELOCK = 0 # Opacité de la fenêtre OPACITY_DELOCK = 100 #=================================================================== # Fin de la configuration #=================================================================== end
class Album < Scene_Base def start create_menu_background @choix = [] @commands = [] BITRO::Trophy.keys.each do |i| @commands.push(BITRO::Trophy[i][0]) if $game_switches[BITRO::Trophy[i][2]] end @choix = Window_Command.new(150, @commands) @input = 0 end #Start def terminate dispose_menu_background @choix.dispose if @sprite != nil @sprite.dispose end end def update @choix.update if Input.trigger?(Input::B) and @input == 0 Sound.play_cancel @appel = BITRO::APPEL if @appel == "map" $scene = Scene_Map.new elsif @appel == "menu" $scene = Scene_Menu.new elsif @appel == "objet" $scene = Scene_Item.new else print "Mauvais réglage dans le script de PHOTO !" print "Modifiez l'appel dans la configuration du script de Photo et reesayez !" print "En attendant, le script vous renvoie à l'ecran titre !" $scene = Scene_Title.new end elsif Input.trigger?(Input::B) and @input == 1 @choix.visible = true @choix.active = true @choix.x += 1 @input = 0 end # if if Input.trigger?(Input::C) if @input == 0 @choix.active = false @choix.visible = false @input = 1 elsif @input == 1 @choix.visible = true @choix.active = true @input = 0 end end # if if Input.trigger?(Input::RIGHT) and @input == 1 and @choix.index + 1 != @commands.size @choix.index += 1 end if Input.trigger?(Input::LEFT) and @input == 1 and @choix.index != 0 @choix.index -= 1 end if @commands.include?(BITRO::Trophy[@choix.index + 1][0].to_s) @sprite.dispose if @sprite @sprite = Sprite.new @sprite.bitmap = Cache.picture(BITRO::Trophy[@choix.index + 1][1]) @sprite.x = Graphics.width / 2 - @sprite.width / 2 @sprite.y = Graphics.height / 2 - @sprite.height / 2 else @test = 1 for i in 0...BITRO::Trophy.size if @commands.include?(BITRO::Trophy[@test][0].to_s) @sprite.dispose if @sprite @sprite = Sprite.new @sprite.bitmap = Cache.picture(BITRO::Trophy[@test][1]) @sprite.x = Graphics.width / 2 - @sprite.width / 2 @sprite.y = Graphics.height / 2 - @sprite.height / 2 else @test += 1 @sprite.dispose if @sprite end # If end # for end # if end #Update end #Album
class Trophy < Scene_Base def initialize(id) @id = id end # Initialize def start create_menu_background @photo = Sprite.new @photo.bitmap = Cache.picture(BITRO::Trophy[@id][1]) @photo.x = Graphics.width / 2 - @photo.width / 2 @photo.y = Graphics.height / 2 - @photo.height / 2 @window_message_delock = Window_Photo_Delock.new(@id) end def terminate dispose_menu_background @photo.dispose @window_message_delock.dispose end def update if Input.trigger?(Input::C) or Input.trigger?(Input::B) $game_switches[BITRO::Trophy[@id][2]] = true $scene = Scene_Map.new end end end
class Window_Photo_Delock < Window_Base def initialize(id) super(BITRO::X_DELOCK, BITRO::Y_DELOCK, 544, 57) self.opacity = BITRO::OPACITY_DELOCK @id = id refresh end def refresh self.contents.font.color = Color.new(rand(255), rand(255), rand(255), 255) self.contents.font.size = 30 if $game_switches[BITRO::Trophy[@id][2]] @text = BITRO::TEXT_DEJA_DELOCK @x = Graphics.width / 2 - 275/2 else @text = BITRO::TEXT_DELOCK @x = Graphics.width / 2 - 225/2 end self.contents.draw_text(@x, -197, 544, 416, @text, 0) self.contents.font.color = Color.new(255, 255, 255, 255) self.contents.font.size = 20 end end
class Game_Interpreter def album $scene = Album.new end def new_troph(number) $scene = Trophy.new(number) end end La démo : lien Enjoy |
|
Va-nu-pieds Lv.4
Age : 35 Inscrit le : 14/10/2010 Messages : 59
| Sujet: Re: [VX] Trophy Jeu 25 Déc 2014 - 13:51 | |
| |
|
Va-nu-pieds Lv.4
Age : 35 Inscrit le : 14/10/2010 Messages : 59
| Sujet: Re: [VX] Trophy Jeu 25 Déc 2014 - 15:57 | |
| Bonjour, ton idée n'est pas mal mais quand tu mets plus de 5 trophés ton album ne donne pas la bonne image. |
|
Citadin Lv.7
Age : 35 Inscrit le : 17/05/2010 Messages : 212
| Sujet: Re: [VX] Trophy Ven 21 Aoû 2015 - 16:43 | |
| |
|