Sujet n°5208
Posté par Slash le 16 Oct - 20:02 (2009)
Titre : Menu COAA
Bon bah tout est dans le titre

Voici comment l'installer :

Dans un premier temps, Coller les images de ce dossier dans le dossier Pictures de votre projet
http://www.sendspace.com/file/j6bbxp

Ensuite, Remplacer le script Pokemon_Menu par celui ci :
Pokemon_Menu



Code:

 module POKEMON_S
  class Pokemon_Menu
   
    def initialize(menu_index = 0)
      @menu_index = menu_index
    end
 
    def main
      Graphics.freeze
      @z_level = 10000
      # Image de fond du menu
      @spriteset = Spriteset_Map.new
      @background = Sprite.new
      @background.bitmap = RPG::Cache.picture("Menu_Back.PNG")
      @background.x = 0
      @background.y = 0
      @background.z = @z_level
      @command = POKEMON_S::Window_Menu.new
      @command.x = 0
      @command.y = 0
      @command.z = @z_level + 2
      @command.opacity = 0
      @cde0 = Sprite.new
      @cde0.bitmap = RPG::Cache.picture("Menu0.PNG")
      @cde0.y = 44+ 84 *(0 % 3)
      @cde0.x = 48 + 160*(0 / 3)
      @cde0.z = @z_level + 2
      if not($data_pokedex[0])
        @cde0.opacity = 0
      end
      @cde1 = Sprite.new
      @cde1.bitmap = RPG::Cache.picture("Menu1.PNG")
      @cde1.y = 44+ 84 *(1 % 3)
      @cde1.x = 48 + 160*(1 / 3)
      @cde1.z = @z_level + 2
      if $pokemon_party.size == 0
        @cde1.opacity = 0
      end
      @cde2 = Sprite.new
      @cde2.bitmap = RPG::Cache.picture("Menu2.PNG")
      @cde2.y = 44+ 84 *(2 % 3)
      @cde2.x = 48 + 160*(2 / 3)
      @cde2.z = @z_level + 2
      @cde3 = Sprite.new
      @cde3.bitmap = RPG::Cache.picture("Menu3.PNG")
      @cde3.y = 44+ 84 *(3 % 3)
      @cde3.x = 48 + 160*(3 / 3)
      @cde3.z = @z_level + 2
      @cde4 = Sprite.new
      @cde4.bitmap = RPG::Cache.picture("Menu4.PNG")
      @cde4.y = 44+ 84 *(4 % 3)
      @cde4.x = 48 + 160*(4 / 3)
      @cde4.z = @z_level + 2
      @cde5 = Sprite.new
      @cde5.bitmap = RPG::Cache.picture("Menu5.PNG")
      @cde5.y = 44+ 84 *(5 % 3)
      @cde5.x = 48 + 160*(5 / 3)
      @cde5.z = @z_level + 2
      if not($data_pokedex[0]) and @menu_index == 0
        @menu_index = 1
      end
      if $pokemon_party.size == 0 and @menu_index == 1
        @menu_index = 2
      end
      @curseur = Sprite.new
      @curseur.bitmap = RPG::Cache.picture("Menu_curseur.PNG")
      @curseur.y = 44+ 84 *(@menu_index % 3)
      @curseur.x = 48 + 160*(@menu_index / 3)
      @curseur.z = @z_level + 4
     
      Graphics.transition
      loop do
        Graphics.update
        Input.update
        update
        @curseur.dispose
        @curseur = Sprite.new
        @curseur.bitmap = RPG::Cache.picture("Menu_curseur.PNG")
        @curseur.y = 44+ 84 *(@menu_index % 3)
        @curseur.x = 48 + 160*(@menu_index / 3)
        @curseur.z = @z_level + 4
        @command.refresh
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @curseur.dispose
      @command.dispose
      @background.dispose
      @spriteset.dispose
      @command.dispose
      @cde0.dispose
      @cde1.dispose
      @cde2.dispose
      @cde3.dispose
      @cde4.dispose
      @cde5.dispose
    end
   
  def update
    @spriteset.update
    a = 0
    if Input.trigger?(Input::UP) and @menu_index>0
      @menu_index -= 1
      if @menu_index == 2
        @menu_index = 3
        a = 1
      end
      if not($data_pokedex[0]) and @menu_index == 0
        @menu_index = 1
        a = 1
      end
      if $pokemon_party.size == 0 and @menu_index == 1
        @menu_index = 2
        a = 1
      end

      if a == 0
        $game_system.se_play($data_system.decision_se)
      end
    end
    if Input.trigger?(Input::DOWN) and @menu_index<5
      @menu_index += 1
      if @menu_index == 3
        @menu_index = 2
        a = 1
      end
      if a == 0
        $game_system.se_play($data_system.decision_se)
      end
    end
    if Input.trigger?(Input::LEFT) and @menu_index>2
      $game_system.se_play($data_system.decision_se)
      @menu_index -= 3
      if not($data_pokedex[0]) and @menu_index == 0
        @menu_index = 1
      end
      if $pokemon_party.size == 0 and @menu_index == 1
        @menu_index = 2
      end
    end
    if Input.trigger?(Input::RIGHT) and @menu_index<3
      $game_system.se_play($data_system.decision_se)
      @menu_index += 3
    end 
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if @menu_index == 0 # Pokédex
        if not($data_pokedex[0])
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = POKEMON_S::Pokemon_Pokedex.new
      end 
      if @menu_index == 1 # Menu
        if $pokemon_party.size == 0
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = POKEMON_S::Pokemon_Party_Menu.new
      end
      if @menu_index == 2 # Sac
        $game_system.se_play($data_system.decision_se)
        $scene = Pokemon_Item_Bag.new
      end
      if @menu_index == 3 # Carte dresseur
        $game_system.se_play($data_system.decision_se)
        $game_temp.common_event_id = 19
        $scene = Scene_Map.new
      end
      if @menu_index == 4 # Sauvegarde
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = POKEMON_S::Pokemon_Save.new
      end
      if @menu_index == 5 # Quitter le menu
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Map.new
      end
      return
    end
  end     
end
 
  class Window_Location < Window_Base
    #--------------------------------------------------------------------------
    def initialize
      super(0, 0, 300, 96)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      refresh
    end
    #--------------------------------------------------------------------------
    def refresh
      self.contents.clear
      self.contents.font.color = Color.new(40,40,40,255)
      self.contents.draw_text(6, 0, 300, 32,$data_mapzone[$game_map.map_id][1])
      self.contents.draw_text(4, 2, 300, 32,$data_mapzone[$game_map.map_id][1])
      self.contents.draw_text(6, 2, 300, 32,$data_mapzone[$game_map.map_id][1])
      self.contents.font.color = Color.new(251,251,251,255)
      self.contents.draw_text(4, 0, 300, 32,$data_mapzone[$game_map.map_id][1])
    end
  end

  class Window_Argent < Window_Base

    #--------------------------------------------------------------------------
    def initialize
      super(0, 0, 900, 96)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      refresh
    end

    #--------------------------------------------------------------------------
    def refresh
      self.contents.clear
      self.contents.font.color = Color.new(40,40,40,255)
      self.contents.draw_text(6, 0, 300, 32, $pokemon_party.money.to_s + "$", 2)
      self.contents.draw_text(4, 2, 300, 32, $pokemon_party.money.to_s + "$", 2)
      self.contents.draw_text(6, 2, 300, 32, $pokemon_party.money.to_s + "$", 2)
      self.contents.font.color = Color.new(251,251,251,255)
      self.contents.draw_text(4, 0, 300, 32,$pokemon_party.money.to_s + "$", 2)
    end
  end
 
  class Window_Menu < Window_Base
    #--------------------------------------------------------------------------
    def initialize
      super(0, 0, 640, 480)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      self.contents.clear
      refresh
    end
    #--------------------------------------------------------------------------
    def refresh
      s1 = "POKéDEX"
      s2 = "POKéMON"
      s3 = "SAC"
      s4 = Player.name
      s5 = "SAUVER"
      s6 = "QUITTER"
      menu = [s1,s2,s3,s4,s5,s6]
      for i in 0..5
        if not($data_pokedex[0]) and i == 0
          i = 1
        end
        if $pokemon_party.size == 0 and i == 1
          i = 2
        end
        y = 46+ 84 *(i % 3) + 34
        x = 72 + 160*(i / 3)
        text = menu[i].to_s
        a = self.contents.text_size(text).width / 2
        self.contents.font.color = Color.new(107,107,107,255)
        self.contents.draw_text((x-a)+2, y, 300, 32, text)
        self.contents.draw_text((x-a), y+2, 300, 32, text)
        self.contents.draw_text((x-a)+2, y+2, 300, 32, text)
        self.contents.font.color = Color.new(251,251,251,255)
        self.contents.draw_text((x-a), y, 300, 32,text)
      end 
    end
    def dispose
      self.contents.clear
    end
  end

end




et voila, le tour est joué

Résultat



Posté par Pαlвσlѕку le 16 Oct - 20:17 (2009)
Bien joué Slash ! (tu fais pas mal de chose en ce moment et c'est très bien !)

J'ai déjà fait la même chose pour Echoes, mais seulement moi l'image est toujours afficher ! (deux écrans, plus de place. Clin d'œil foireux )

Posté par Slash le 16 Oct - 20:19 (2009)
Merci Pal mais si je fait cela c'est pour le bien de la communauté

Posté par Warp' le 16 Oct - 20:29 (2009)
C'est super bien!
Je le prend officielement...
Meric Slash!

Posté par Suicune31 le 16 Oct - 21:32 (2009)
Merci slash ! Encore un gros script à ajouté à ton actif ^^ Bouche extensiblek:

Posté par Warp' le 16 Oct - 21:37 (2009)
Vas-tu faire plain de script à la COAA?
Si oui, le prochain devrait être celui de combat.
Merci encore pour se script fabuleux.

Posté par Heiwka le 16 Oct - 21:58 (2009)
How Sash, je t'admire *-*

Posté par Slash le 16 Oct - 22:06 (2009)
Heiwka a écrit:

How Sash, je t'admire *-*

Tu me flatte Heiwka c'est juste un script que j'ai fait en 2h
warpras a écrit:


Vas-tu faire plain de script à la COAA?
Si oui, le prochain devrait être celui de combat.
Merci encore pour se script fabuleux.

Ca risque d'etre plus dur Warp car la je maitrise pas du tout


En tout cas merci pour vos encouragement.

Posté par Sphinx le 16 Oct - 22:12 (2009)
tu es un codeur d'interfaces génial, slash Clin d'œil foireux félicitations pour ce nouveau script =)

Posté par Disccat le 16 Oct - 22:13 (2009)
Merci Slash, c'est un excellent travail, encore une fois !

Je prends ! :D

Posté par Slash le 16 Oct - 22:19 (2009)
Sphinx a écrit:

tu es un codeur d'interfaces génial, slash Clin d'œil foireux félicitations pour ce nouveau script =)
Aurais-je réussi a faire tomber le nez du Grand sphinx ? Lordork chez mémé
Je ne crois pas mais comme tu le dit je croit que je commence a maitrisé a la perfection les script de type Fenetre.
Toi tu maitrise a la perfection les script de type Systeme
A nous 2 on pourrais codé le 2 Vs 2 lol

Posté par Heiwka le 16 Oct - 22:22 (2009)
Pfeuh !

Ça m'dégoute les gens qui savent scripter *se tue*

Posté par Evilmad le 17 Oct - 00:37 (2009)
C'est parfait ça , je vais donc changer de style de menu.
celui la me plait beaucoup !
Bien joué Slash !

Posté par Bilkev le 17 Oct - 09:42 (2009)
J'essayerais de le regler sur le deuxième écran.

Posté par Disccat le 17 Oct - 23:56 (2009)
Slash a écrit:
A nous 2 on pourrais codé le 2 Vs 2 lol


Ce serait merveilleux, cependant, j'ai comme la sensation qu'il faudra recoder tout le squelette de combat, parce-que si j'ai bien compris une certaines chose sur ce système, c'est que l'image du dresseur ennemi se transforme en celui du Pokémon envoyé par celui-ci (en modifiant le script pour maintenir le dresseur adverse en combat j'en suis arrivé à cette conclusion).

Ce qu'il faudrait donc réussir à faire, c'est réussir à ajouter 2 images en face simultanément, sur deux variables différentes, ce qui permettrait d'avoir deux Pokémon en face. Mais ce n'est qu'une partie de l'idée du combat duo, sachant qu'il faudra avoir la possibilité (selon l'attaque, grâce à leurs paramètres duo déjà préparé) de choisir lequel des Pokémon attaquer. Il est important aussi de savoir qu'un voltali allié puisse lancer une attaque Tonnerre sur un Elekable allié, utile pour les capacités spéciales.

Il est à noter aussi que les attaques qui n'affectent que les deux adversaires sont divisées presque par deux (mais ça il faudrait trouver les sites qui indiquent les calculs de dégats en combat duo, ou aussi grâce à NetBattle je pense...). Cependant, ce genre d'attaque reprend 100% si il ne reste plus qu'un adversaire au lieu de deux.

En ce qui concerne les attaques affectant les 2 Pokémon adverse + le Pokémon allié (exemple: Séisme, Coup d'Jus, etc...) les dégats restent égaux à 100%.

Enfin, ne me connaissant pas trop en script, je vous laisse y réfléchir et/ou le commencer, mais j'apporte encore ce dernier détail, qui pourrait être une bonne suggestion: Prévoyez la possibilité d'un IA allié, qui saura attaquer ses adversaires et non nos Pokémon, comme dans Pokémon Emeraude (héros allié à Pierre) et Pokémon D/P/Pl (héros allié à son rival, etc...). D'ailleur en parlant de D/P/Pl, lorsque le dresseur est allié à un second personnage (ce qui nous allie à lui pour les combats duo), il est aussi possible de rencontrer deux Pokémon sauvages.

Voilà, je ne me sens pas très utile, en espèrant quand-même l'avoir été un tout petit peu.

Posté par jerebip le 15 Nov - 17:46 (2009)
Je viens de tester,il est aussi fonctionnel sous PSP4G+

Posté par Ace Attorney Man le 16 Nov - 11:12 (2009)
Je confirme, compatible avec 4G+ :D

Posté par BLaCKbirD le 18 Nov - 10:19 (2009)
J'ai un problème, quand j'ouvre le menu, le fond est rose et le curseur aussi, alors, je les ait rectifié en blanc.
Et maintenant, c'est en fond blanc et l'intéreur du curseur en blanc aussi !!
:(  Aidez moi !!!

Posté par xxdylanxx le 18 Nov - 12:21 (2009)
ta du te tromper sur quelque part moi sa marche parfaitement tes bien sur d'avoir les image donnez  dans picture?

Posté par Ace Attorney Man le 18 Nov - 13:12 (2009)
S4MSUNG a écrit:
J'ai un problème, quand j'ouvre le menu, le fond est rose et le curseur aussi, alors, je les ait rectifié en blanc.
Et maintenant, c'est en fond blanc et l'intéreur du curseur en blanc aussi !!
:(  Aidez moi !!!


Remet les fichiers pictures, ils ont dû mal passer.
Bonne journée.

Posté par Lén le 19 Nov - 01:51 (2009)
Ou plus facile encore remplace la couleur qui te gène par du transparent  8)

Posté par Ace Attorney Man le 19 Nov - 06:38 (2009)
Lén a écrit:
Ou plus facile encore remplace la couleur qui te gène par du transparent  8)


Nan car justement ça fera moche =o

Posté par bibiantonio le 22 Nov - 11:16 (2009)
Ca marche bien, et c'est trés beau =)

Posté par antoinedu92 le 22 Déc - 16:12 (2009)
Moi j'ai un bug quand j'ouvre la carte dresseur:

???????? NameError ????????
unndefinied locel variable or method 'carte_dresseur' for
#{Interpreter:0x8d41138}

Je crois qu'il n'est pas compatible avec le script de carte dresseur personnalisé.

Posté par Ace Attorney Man le 22 Déc - 21:58 (2009)
Dans le script de carte dresseur personnalisé, re-fait les instructions où il faut remplacer la ligne du script Pokemon_Menu Clin d'œil foireux.

Posté par antoinedu92 le 23 Déc - 13:41 (2009)
Oui, mais il n'y a plus les lignes de code a remplacer

Posté par Ace Attorney Man le 23 Déc - 18:16 (2009)
Si.

Posté par antoinedu92 le 23 Déc - 21:43 (2009)
Non, jai suivi le tuto de la carte dresseur remis a jour et ensuite celui du menu et la ligne a remplacer dans pokemon_menu a disparu.

Posté par Shnek le 23 Fév - 16:50 (2010)
Comme rien ne marche du premier coup chez moi...

Spoiler
---------- Erreur de script : Scene_Map ----------
----- Type
NameError

----- Message
uninitialized constant POKEMON_S::Pokemon_Menu

----- Position dans Scene_Map
Ligne 38

----- Backtrace
Script : Scene_Map | Ligne : 38 | Méthode : in `call_menu'
Script : Scene_Map | Ligne : 147 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `old_update'
Script : TempsJourNuit | Ligne : 248 | Méthode : in `update_passminimap'
Script : Minimap | Ligne : 44 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `old_main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `old_main'
Script : TempsJourNuit | Ligne : 237 | Méthode : in `main_passminimap'
Script : Minimap | Ligne : 31 | Méthode : in `main'
Script : Main | Ligne : 49

Posté par RevengeOfShadow le 26 Aoû - 10:07 (2010)
Testé sous PSP 4G+, fonctionne super bien et il est génial ! Merci Slash !

Posté par AretoSama le 27 Aoû - 14:04 (2010)
moi ca me met ca avec 0.7 dès que j'ouvre mon jeu: