Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Un Menu POKéDEX
Goto page: 1, 2, 321, 22, 23  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Sun 18 Jan - 03:28 (2009)    Post subject: Un Menu POKéDEX

[Script] Un Menu POKéDEX
Mis à jour le 20/05/09 à 18h00




Si vous avez un bug de la taille de la police en sortant du menu regarder ici: http://pokemonscriptproject.xooit.fr/t2670-TUTO-Un-Menu-POKeDEX.htm?start=2…


- GROS NETTOYAGE DU CODE
- Animation du menu
- La fenêtre "Infos" a pour le moment disparue, elle reviendra sous peu :D (affichage des badges, de l'argent ...)



Replacez Pokemon_Menu par:

Code:



#==============================================================================
# ■ Pokemon_Menu
# Pokemon Script Project - Krosk
# 18/07/07
#-----------------------------------------------------------------------------
# Scene pour Menu Pokédex V4 par Lén
#-----------------------------------------------------------------------------
module POKEMON_S
  class Pokemon_Menu
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def initialize(index_flow = 1)
      $index_flow = index_flow
    end
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def main
      $index_max = 5
      #$index_flow = 1
      $fontsize = 14     
      @spriteset = Spriteset_Map.new
      $heureold = $game_variables[42]
      $minutesold = $game_variables[43]
      @pokedex = Sprite.new
      @pokedex.bitmap = RPG::Cache.picture("DexV4")
      @pokedex.x = 640
      Graphics.transition
      if @pokedex.x != 0
        loop do
          @pokedex.x -= 80
          Graphics.update
          if @pokedex.x == 0
            break
          end
        end
      end
      @flow = Window_Flow.new
      loop do
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end
      @flow.dispose
#-------------------------------------------------------------------------------     
      loop do
        @pokedex.x -= 80
        Graphics.update
        if @pokedex.x == -640
          break
        end
      end
#-------------------------------------------------------------------------------
      @spriteset.dispose
      @pokedex.dispose
    end

    def update
      @spriteset.update
      update_command
    end
 
    def update_command
     
      if Input.repeat?(Input::RIGHT)
        $test_direction = "droite"
        $testx_old = $testx
        if $index_flow == $index_max
          $index_flow = 1
          $testx = 80
          $test_direction = "gauche"
          $flow_speed = 40
        else
          $testx -= 180
          $index_flow += 1
          $flow_speed = 20
        end
        @flow.refresh       
      end
     
      if Input.repeat?(Input::LEFT)
        $test_direction = "gauche"
        $testx_old = $testx
        if $index_flow == 1
          $index_flow = $index_max
          $testx = -180*($index_max-1)+80
          $test_direction = "droite"
          $flow_speed = 40
        else
          $testx += 180
          $index_flow -= 1
          $flow_speed = 20
        end
        @flow.refresh
      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)
        $back = true
        if $game_party.actors.size == 0 and @command_window.index < 4
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        case $index_flow
        when 1 # 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_Pokedex.new
        when 2 # Menu
          if $pokemon_party.size == 0
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $scene = Pokemon_Party_Menu.new
        when 3 # Sac
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Item_Bag.new
        when 4 # Carte dresseur
          $game_system.se_play($data_system.decision_se)
          $game_temp.common_event_id = 19
          $scene = Scene_Map.new
        when 5 # 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_Save.new     
        end
        return
      end
    end
  end
end




Et créez en dessous un nouveau script:


Code:



# Script par Lén pour PSP et Menu Pokédex (V4)
 class Window_Flow < Window_Base
#==============================================================================
# Initialisation
#==============================================================================
  def initialize
    super(217-16, 120-16, 320+32, 240+32)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.opacity = 0
    @src_rect = Rect.new(0, 0, 320, 240) # Ecran du pokédex (Explications => Spriteplan, enfin un peu différent ici)
    @dest_rect = Rect.new(65, 20, 380, 300) # Rectanlge ou afficher le zoom du Sprite
    # Création des Sprites------------------------------------------------------
    @sprite_array = []
    for i in 1..$index_max
      sprite = Sprite.new
      sprite.z = 4
      @sprite_array.push(sprite)
    end
    # Apparences des Sprites----------------------------------------------------
    for i in 1..$index_max
      @sprite_array[i] = RPG::Cache.picture("option"+i.to_s+".png")
    end
    # Coordonnées des Sprites---------------------------------------------------
    flow_coord
    update_flow
    zoom_flow
  end
#===============================================================================
# Refresh - Déplacement (Flow)
#===============================================================================
  def refresh
    # Apparences des Sprites-----------------------------------------------------
    if $index_flow == 1
      @sprite_array[$index_max] = RPG::Cache.picture("option"+$index_max.to_s+".png")
    else
      @sprite_array[$index_flow-1] = RPG::Cache.picture("option"+($index_flow-1).to_s+".png")
    end
    flow_coord
    # Déplacement des Sprites (Flow)--------------------------------------------
    if $testx_old != $testx
      loop do
        self.contents.clear
        if $test_direction == "droite" # Si l'on a appuyé sur droite
          $testx_old -= $flow_speed # décrémenter $testx_old de 20 ou 40
        end
        if $test_direction == "gauche"
          $testx_old += $flow_speed # incrémenter $testx_old ...
        end
        self.contents.blt($testx_old, 30, @sprite_array[1], @src_rect, 255) # afficher sprite de 20 ou 40 pixels plus loin
        self.contents.blt($testx_old+180, 30, @sprite_array[2], @src_rect, 255)
        self.contents.blt($testx_old+180*2, 30, @sprite_array[3], @src_rect, 255)
        self.contents.blt($testx_old+180*3, 30, @sprite_array[4], @src_rect, 255)
        self.contents.blt($testx_old+180*4, 30, @sprite_array[5], @src_rect, 255)
        Graphics.update
        if $testx_old == $testx
          zoom_flow
          break
        end
      end
    end
  end 
#==============================================================================
# Zoom de l'option sélectionnée
#==============================================================================
  def zoom_flow
    case $index_flow
      when 1
        self.contents.blt($testx, 30, @sprite_array[1] = RPG::Cache.picture("option0"), @src_rect, 255)
      when 2
        self.contents.blt($testx+180, 30, @sprite_array[2] = RPG::Cache.picture("option0"), @src_rect, 255)
      when 3
        self.contents.blt($testx+180*2, 30, @sprite_array[3] = RPG::Cache.picture("option0"), @src_rect, 255)
      when 4
        self.contents.blt($testx+180*3, 30, @sprite_array[4] = RPG::Cache.picture("option0"), @src_rect, 255)
      when 5
        self.contents.blt($testx+180*4, 30, @sprite_array[5] = RPG::Cache.picture("option0"), @src_rect, 255)
    end
      self.contents.stretch_blt(@dest_rect,  @sprite_array[$index_flow] = RPG::Cache.picture("option"+$index_flow.to_s+".png"), @src_rect, 255)
  end
#==============================================================================
# Coordonnées des sprites lors de l'ouverture du menu
#==============================================================================     
  def flow_coord
    case $index_flow
      when 1
        loop_coor(80)
        $testx = 80
      when 2
        loop_coor(80 - 180)
        $testx = 80 -180
      when 3
        loop_coor(80 - 180 * 2)
        $testx = 80 - 180 * 2
      when 4 - 180 * 3
        loop_coor(80 - 180 * 3)
        $testx = 80 - 180 * 3
      when 5 - 180 * 4
        loop_coor(80 - 180 * 4)
        $testx = 80 - 180 * 4
    end
  end
 
  def loop_coor(x)
    for i in 1..$index_max
      self.contents.blt(x, 30, @sprite_array[i], @src_rect, 255)
      x += 180
    end
  end
 
  def update_flow
    self.contents.blt($testx, 30, @sprite_array[1], @src_rect, 255)
    self.contents.blt($testx+180, 30, @sprite_array[2], @src_rect, 255)
    self.contents.blt($testx+180*2, 30, @sprite_array[3], @src_rect, 255)
    self.contents.blt($testx+180*3, 30, @sprite_array[4], @src_rect, 255)
    self.contents.blt($testx+180*4, 30, @sprite_array[5], @src_rect, 255)
  end
#=====================================FIN=======================================
end







Ressources : http://www.mediafire.com/?jyjzwgyzuhm
(A placer dans le dossier Pictures)
Remplacez aussi dans tout les scripts (Pokemon_Pokedex, Pokemon_Party_Menu, Pokemon_Item_Bag et Pokemon_Save) les lignes
Code:




Pokemon_Menu.new(1)



En remplaçant le chiffre entre parenthese par ça place dans le menu (Respectivement par rapport a l'ordre donné au dessus: 1, 2, 3, 5).


Il faut qu'une image de même dimension quel es autres s'appelle option6.png, et qu'elle soit dans le dossier Pictures
Modifications dans Pokemon_menu:
Remplacez en dessous de main
Code:




 $index_max = 5



par


Code:



 $index_max = 6




Rajouter ces lignes JUSTE EN DESSOUS de celles qui leurs ressembles

def refresh

Code:



self.contents.blt($testx_old+180*5, 30, @sprite_array[6], @src_rect, 255)



def zoom_flow
Code:




 when 6
        self.contents.blt($testx+180*5, 30, @sprite_array[6] = RPG::Cache.picture("option0"), @src_rect, 255)



def flow_coord


Code:



      when 6
        loop_coor(80 - 180 * 5)
        $testx = 80 - 180 * 5



def update_flow



Code:



    self.contents.blt($testx+180*5, 30, @sprite_array[6], @src_rect, 255)





Modifiez les valeurs de $flow_speed par 10 au lieu de 20 ou 40. Evidemment le menu ira doucement, vous pourrez remplacer ces valeurs plus tard par des valeurs pouvant diviser les coordoonées maximales des sprites (800 pour 5 options, 960 pour 6 ... ajoutez 180 a chaque fois, je vous laisse faires les calculs mentaux pour trouver des vitesses pouvant diviser 180 et arriver a un chiffre rond (pas de virgule).





Normalement tout marche ! Amusez vous bien !



DONNEZ VOS IDÉES (intéressantes si possible, ne me parler pas de remplacer la carte dresseur par exemple ...).

A la demande de certains, je pousse l'explication de l'utilisation et la mise en place du sytème:



Pour afficher la tête du héros sur la carte, définir les coordonnées des lieux , ainsi que connaître l'ID de sa carte où est le joueur:

Dans le script Scene_Pokemap vous avez vers le début:
Code:










 case $game_map.map_id
       when 5
        @herospos.x = POKEMON_S::Lieu3[1]
        @herospos.y = POKEMON_S::Lieu3[2]
       when 12
        @herospos.x = POKEMON_S::Lieu4[1]
        @herospos.y = POKEMON_S::Lieu4[2]
      end










Il faut aller voir dans le script Vos_Variables pour comprendre ce que signifie Lieu3[1] (on s'occupe pas de POKEMON_S: :)
Code:










 Lieu3 = ["Jadielle", 241, 136, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]










en fait cette variable est ce que l'on pourrait appeler un tableau, explication:
Code:










 LieuX = ["NomDuLieu", Coordonnées X, Coordonées y, "Ligne d'infos 1", "Ligne d'infos 2", "Ligne d'infos 3", "Ligne d'infos 4"]










Un tableau ? et oui car regardez il y a des cases (enfin ça y ressemble):
Code:










  Lieu3 = [Case 0 du tableau, Case 1, Case 2, Case 3, Case 4, Case 5, Case 6]










Donc dans Scene_Pokemap:
Code:










 case $game_map.map_id
        when 5
         @herospos.x = POKEMON_S::Lieu3[1]
         @herospos.y = POKEMON_S::Lieu3[2]










Signifie en Français:
Code:










 Dans le cas ou la map sur laquelle le joueur est a une id égale à:
     Une ID 5
        rendre égale la variable @herospos.x à la valeur dans la case 1 du tableau Lieu3
        rendre égale la variable @herospos.y à la valeur dans la case 2 du tableau Lieu3










du coup, cela affichera la tête du héros sur la CARTE aux coordonnées x et y définis dans le tableau Lieu3 !!!

Oui mais, comment connaître l'ID d'une carte ???

C'est facile, quand vous êtes dans le logiciel de création de votre jeu, quand vous cliquez sur une carte,
en bas de l'écran vous aurez quelque chose du genre:

le 001 c'est l'ID, après il y a le nom de la carte, et ses dimensions.

Oui mais, comment connaître les coordonées x et y à mettre dans les cases de mes tableau LieuX ?
Encore plus simple, dans Scene_Pokemap vous avez vers la fin:
Code:










 if Input.repeat?(Input::UP)
            if $posy==@ymin then
              $game_system.se_play($data_system.buzzer_se)
            else
             $game_system.se_play($data_system.decision_se)
             @curseur.x = $posx
             @curseur.y = $posy-8   
             $posy = @curseur.y
             #print $posx.to_s
             #print $posy.to_s
            end
        return
      end










et bien il suffit de dé-commenter les deux lignes
Code:










#print $posx.to_s
 #print $posy.to_s










cela aura pour effet de vous afficher deux message à la suite l'un de l'autre avec les coordonnées x puis y de l'endroit où est le curseur... il ne vous restera qu'à les recopier dans Vos_Variables dans le tableau adéquate !

Un bon conseil pour récupérer les coordonnées [mod=kidding]Bilkev suit bien ce qui suit[/mod]:
Prenez une feuille et écrivez a la main tout les lieux d'un coup!
exemple, j'ai re-dessiné une carte de kanto à l'arrache en numérotant les lieux où je souhaite avoir la tete du héros.
Je vais dessus avec le curseur, et si vous avez décommenté comme décris au dessus, il faut venir en dessous du lieu et appuyer sur la touche HAUT, ainsi les cooronées s'afficheront.
C'est ici que rentre en jeu la feuille de papier, par exemple j'ai 3 lieux dans mon jeu... j'ecrirais comme suis sur la feuille:
Code:










 LieuX: coordonnées X ; coordonnées Y
 Lieu1:        ;
 Lieu2:        ;
 Lieu3:        ;















VOICI LA V3 DU MENU POKéDEX
POUR CEUX AYANT LA V1 (ou V2) IL EST IMPORTANT DE TOUT METTRE À JOUR !!!



EXPLICATIONS:
- Le changement de ton de l'écran est activé par l'interrupteur 7 !!! (conseillé pour avoir 100% des capacités du menu).

- L'option INFOS affiche les infos sur votre partie (pokémon vus/attrapés, heure réelle, Jour de la semaine).

- L'option CARTE permet de déplacer un curseur sur une carte du monde que vous aurez créé, d'afficher le nom d'un lieu sous le curseur ainsi que de vous envoler vers cette destination si l'interrupteur VOL de PSP est activé. De plus la V3 permet d'avoir plus d'une Région accessible depuis le menu carte, mais cette Région doit être FORCEMENT à gauche de la première (ex: Kanto et Johto).
Pour utiliser cette options vous devrez respecter des conditions:
  1. Les cartes sont maintenant des fichiers images différents et non sont plus "collées" au pokédex.
  2. Je vous ai fait les cartes de kanto et johto, libre a vous de les modifier.
  3. Si vous remplacez mes cartes, pensez à changer dans Vos_Variables les coordonnés des lieux (voir tuto plus haut).
  4. Pour ceux voulant utilisez d'autre carte, je vous conseil de regarder dans le script Vos_Variables , Scene_Pokemap, Window_Pokemap et Scene_Vol pour remplacer les noms de vos Régions (Max 2 Régions à l'heure actuelle).
  5. Une région DOIT être définie au début du jeu, il suffit de mettre les lignes suivantes dans un event.
    Code:
     $RegionHeros = "kanto"
     $RegionCurseur = "kanto"










si vous allez a johto de quel que manière que se soit, pensez à changer les valeur de ces deux variables en "johto", et inversement si vous retourner a kanto.


COMMENT L'INSTALLER:

Les script suivant sont à installer dans l'ordre, c'est à dire le premier script au dessus et les autre en dessous et toujours dans l'ordre (je sais pas si c'est important mais on sait jamais).

- Rajoutez le Script Vos_Variables au dessus de Window_Gold DANS LA PARTIE DEBUG.

Code:









# Script Vos_Variables
# Pour la V3 du MENU POKéDEX
# Créé par Lén

module POKEMON_S
 
# ------- À modifer que si vous utiliser un curseur different -----
  $posx = 201 # correspond a la coordonnée x du curseur (pixel haut gauche du curseur)
  $posy = 64 # correspond a la coordonnée y du curseur (pixel haut gauche du curseur)
#------------------------------------------------------------------ 
  $RegionHeros = "kanto"# Vous pouvez modifer cette variable depuis un event. Script => $RegionHeros = "Nom de votre région". pensez à changer le nom dans les scripts !!!
  $RegionCurseur = $RegionHeros# cette variable sert a effacer la tete du heros si il est sur une autre region que le curseur, sinon la tete du héros resté affichée sur cette 2e region... alors que le héros n'y est pas !
  Vus = 98
  Capture = 99
  SOUS_LIEU = 500 #encore en cours de créations, indisponible pour cette version.
  DESTINATION = 499 #La varialbe du jeu 499 prendras une valeur selon la destination choisi, pour creer une teleportation à partir d'un event.
  VarNomJour = 40
  VarNuitJour = 41
  VarTempsHeure = 42
  VarTempsMinutes = 43
  VarTempsSecondes = 44
  SwiExterieur = 7 #Interrupteur à activer pour le changement du ton de l'écran en fonction de l'heure.

 
#Les coordonnées d'un lieu son définies ci-dessous
# LieuX = ["NomDuLieu", Coordonnées X, Coordonées y, "Ligne d'infos 1", "Ligne d'infos 2", "Ligne d'infos 3", "Ligne d'infos 4"]
 
# PREMIERE CARTE---------------------------------------------------   
    Lieu1 = ["Plateau Indigo", 217, 104, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu2 = ["Argenta", 241, 112, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu3 = ["Jadielle", 241, 136, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu4 = ["Bourg Palette", 241, 160, "Le petit village ou est né", "SACHA KETCHUM", "HAHAHA", "ça ROXX"]
    Lieu5 = ["Cramois'Île", 241, 184, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu6 = ["Parmanie", 305, 168, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu7 = ["Celadopole", 289, 128, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu8 = ["Azuria", 313, 104, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu9 = ["Safrania", 313, 128, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu10 = ["Carmin-sur-Mer", 313, 144, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu11 = ["Lavanville", 337, 128, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu12a = ["Route 2", 241, 120, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu12b = ["Forêt de Jade", 241, 120, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Route1 = ["Route 1", 241, 143, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
# DEUXIEME CARTE---------------------------------------------------   
    Lieu101 = ["Bourg Geon", 345, 160, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu102 = ["Ébénelle", 345, 104, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu103 = ["Acajou", 313, 104, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu104 = ["Rosalia", 281, 104, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu105 = ["Oliville", 233, 112, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu106 = ["Irisia", 225, 152, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu107a = ["Doublonville", 265, 152, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu107b = ["Doublonville", 265, 144, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu108 = ["Ecorcia", 281, 184, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu109 = ["Mauville", 297, 120, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
    Lieu110 = ["Ville Griotte", 313, 160, "Infos ligne 1", "Infos ligne 2", "Infos ligne 3", "Infos ligne 4"]
   
end











- Rajoutez le script Window_Gotcha en dessous (ainsi de suite).

Code:









# Script Window_Gotcha
# Pour la V3 du MENU POKéDEX
# Créé par Lén

class Window_Gotcha < Window_Base
  def initialize
    super(182, 30, 200, 200)
    self.contents = Bitmap.new(200, 200)
    self.contents.font.color = white
    self.contents.font.name = "Comic Sans MS"
    self.contents.font.size = 14
    seen = 0
    captured = 0
    for i in 1..$data_pokedex.length-1
    if $data_pokedex[i][0]
    seen += 1
    end
    if $data_pokedex[i][1]
    captured += 1
    end
    end
    $game_variables[POKEMON_S::Vus] = seen
    $game_variables[POKEMON_S::Capture] = captured
    @ball = Sprite.new
    @ball.x = 200
    @ball.y = 60
    @jumelle = Sprite.new
    @jumelle.x = 200
    @jumelle.y = 80
    @clock = Sprite.new
    @clock.x = 200
    @clock.y = 186
    refresh
  end
 
  def refresh
    self.contents.clear           
    @ball.bitmap = RPG::Cache.icon("pokeball16.png")
    @jumelle.bitmap = RPG::Cache.icon("jumelle.png")
     if $game_variables[POKEMON_S::VarNuitJour]=="Nuit" then
      @clock.bitmap = RPG::Cache.icon("lune_menu")
     elsif $game_variables[POKEMON_S::VarNuitJour]=="Jour" then
      @clock.bitmap = RPG::Cache.icon("soleil_menu")
     elsif $game_variables[POKEMON_S::VarNuitJour]=="Crépuscule" then
      @clock.bitmap = RPG::Cache.icon("matin_menu")
     elsif $game_variables[POKEMON_S::VarNuitJour]=="Matin" then
      @clock.bitmap = RPG::Cache.icon("matin_menu")
     end
    self.contents.draw_text(25, 7, 120, 32, $game_variables[POKEMON_S::Capture].to_s)
    self.contents.draw_text(25, 26, 120, 32, $game_variables[POKEMON_S::Vus].to_s)
    self.contents.draw_text(25, 132, 120, 32, sprintf("%02d",$game_variables[POKEMON_S::VarTempsHeure])+" h "+ sprintf("%02d",$game_variables[POKEMON_S::VarTempsMinutes]))
    self.contents.draw_text(25, 113, 120, 32, $game_variables[POKEMON_S::VarNomJour].to_s)
  end
 
   def update
    super
    if $game_variables[POKEMON_S::VarTempsMinutes] != $minutesold then
      refresh
    elsif $game_variables[POKEMON_S::VarTempsHeure] != $heureold then
      refresh
    elsif $game_variables[POKEMON_S::VarNomJour] != $jourold then
      refresh
    end
  end
end











- Créez Scene_Vol en dessous de Window_Gotcha et collez-y ça:
Code:









# Script Scene_Vol
# Pour la V3 du MENU POKéDEX
# Créé par Lén

class Scene_Vol
  def main
      @spriteset = Spriteset_Map.new
      @sprite = Sprite.new
      @sprite.bitmap = RPG::Cache.picture("carte")     
      @carte = Sprite.new
    if $RegionCurseur == "kanto"
      @carte.bitmap = RPG::Cache.picture("pokemapkanto")
    elsif $RegionCurseur == "johto"
      @carte.bitmap = RPG::Cache.picture("pokemapjotho")
    end
      @carte.x = 198
      @carte.y = 58
      @curseur = Sprite.new
      @curseur.bitmap = RPG::Cache.picture("curseur")
      @curseur.x = $posx
      @curseur.y = $posy
      @select_window = Window_Command.new(192, ["S'ENVOLER", "RESTER ICI"], 16, 1, 20)
      @select_window.opacity = 0
      @select_window.x = 182
      @select_window.y = 280
      @select_window.height = 200
     
      if $game_switches[5]==false
        @select_window.disable_item(0)
      end
     
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
     end
     Graphics.freeze
     @spriteset.dispose
     @select_window.dispose
     @curseur.dispose
     @carte.dispose
     @sprite.dispose
   end
   
def update
    @select_window.update
    @spriteset.update
   
        if Input.trigger?(Input::B)
            $game_system.se_play($data_system.buzzer_se)
            $scene = Scene_Pokemap.new
        end
         
        if Input.trigger?(Input::C)
          case @select_window.index
           when 0
            if $game_switches[5]==false
              $game_system.se_play($data_system.buzzer_se)
             return
           end
            $game_temp.common_event_id = 7
            $game_system.se_play($data_system.decision_se)
            $scene = Scene_Map.new
           when 1
            $game_system.se_play($data_system.decision_se)
            $scene = Scene_Pokemap.new
          end
        end
      end
    end











- Ensuite celui la:

Code:









# Script Window_Pokemap
# Pour la V3 du MENU POKéDEX
# Créé par Lén

class Window_Pokemap < Window_Base
 def initialize
    super(182, 249, 200, 200)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Comic Sans MS"
    self.contents.font.size = 18
    if $game_variables[POKEMON_S::SOUS_LIEU]==0
      $game_variables[POKEMON_S::SOUS_LIEU] = 1
    end   
    refresh
  end
 
  def refresh
    self.contents.clear
    @posxold = $posx
    @posyold = $posy
    self.contents.font.color = white
  if $RegionCurseur=="kanto" then
    if $posx==POKEMON_S::Lieu1[1] and $posy==POKEMON_S::Lieu1[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu1[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu1[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu1[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu1[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu1[6].to_s)
    elsif $posx==POKEMON_S::Lieu2[1] and $posy==POKEMON_S::Lieu2[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu2[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu2[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu2[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu2[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu2[6].to_s)
    elsif $posx==POKEMON_S::Lieu3[1] and $posy==POKEMON_S::Lieu3[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu3[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu3[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu3[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu3[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu3[6].to_s)
    elsif $posx==POKEMON_S::Lieu4[1] and $posy==POKEMON_S::Lieu4[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu4[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu4[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu4[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu4[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu4[6].to_s)
    elsif $posx==POKEMON_S::Lieu5[1] and $posy==POKEMON_S::Lieu5[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu5[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu5[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu5[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu5[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu5[6].to_s)
    elsif $posx==POKEMON_S::Lieu6[1] and $posy==POKEMON_S::Lieu6[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu6[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu6[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu6[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu6[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu6[6].to_s)
    elsif $posx==POKEMON_S::Lieu7[1] and $posy==POKEMON_S::Lieu7[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu7[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu7[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu7[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu7[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu7[6].to_s)
    elsif $posx==POKEMON_S::Lieu8[1] and $posy==POKEMON_S::Lieu8[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu8[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu8[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu8[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu8[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu8[6].to_s)
    elsif $posx==POKEMON_S::Lieu9[1] and $posy==POKEMON_S::Lieu9[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu9[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu9[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu9[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu9[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu9[6].to_s)
    elsif $posx==POKEMON_S::Lieu10[1] and $posy==POKEMON_S::Lieu10[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu10[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu10[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu10[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu10[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu10[6].to_s)
    elsif $posx==POKEMON_S::Lieu11[1] and $posy==POKEMON_S::Lieu11[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu11[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu11[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu11[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu11[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu11[6].to_s)
#------------------EN COUR DE DEVELOPPEMNT (SOUS LIEUX)------------
#    elsif $posx==POKEMON_S::Lieu12[1] and $posy==POKEMON_S::Lieu12[2] then
#      if $game_variables[$sousPOKEMON_S::Lieu]==1     
#       self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu12a[0].to_s)
#      elsif $game_variables[$sousPOKEMON_S::Lieu]==2
#       self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu12b[0].to_s)
#      end     
#------------------------------------------------------------------
    end
  elsif $RegionCurseur=="johto" then
    if $posx==POKEMON_S::Lieu101[1] and $posy==POKEMON_S::Lieu101[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu101[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu101[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu101[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu101[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu101[6].to_s)
    elsif $posx==POKEMON_S::Lieu102[1] and $posy==POKEMON_S::Lieu102[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu102[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu102[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu102[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu102[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu102[6].to_s)
    elsif $posx==POKEMON_S::Lieu103[1] and $posy==POKEMON_S::Lieu103[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu103[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu103[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu103[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu103[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu103[6].to_s)
    elsif $posx==POKEMON_S::Lieu104[1] and $posy==POKEMON_S::Lieu104[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu104[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu104[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu104[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu104[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu104[6].to_s)
    elsif $posx==POKEMON_S::Lieu105[1] and $posy==POKEMON_S::Lieu105[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu105[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu105[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu105[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu105[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu105[6].to_s)
    elsif $posx==POKEMON_S::Lieu106[1] and $posy==POKEMON_S::Lieu106[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu106[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu106[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu106[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu106[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu106[6].to_s)
    elsif $posx==POKEMON_S::Lieu107a[1] and $posy==POKEMON_S::Lieu107a[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu107a[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu107a[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu107a[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu107a[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu107a[6].to_s)
    elsif $posx==POKEMON_S::Lieu107b[1] and $posy==POKEMON_S::Lieu107b[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu107b[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu107b[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu107b[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu107b[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu107b[6].to_s)
    elsif $posx==POKEMON_S::Lieu108[1] and $posy==POKEMON_S::Lieu108[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu108[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu108[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu108[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu108[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu108[6].to_s)
    elsif $posx==POKEMON_S::Lieu109[1] and $posy==POKEMON_S::Lieu109[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu109[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu109[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu109[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu109[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu109[6].to_s)
    elsif $posx==POKEMON_S::Lieu110[1] and $posy==POKEMON_S::Lieu110[2] then
      self.contents.draw_text(2, 2, width, 32, POKEMON_S::Lieu110[0].to_s)
      self.contents.draw_text(2, 22, width, 32, POKEMON_S::Lieu110[3].to_s)
      self.contents.draw_text(2, 42, width, 32, POKEMON_S::Lieu110[4].to_s)
      self.contents.draw_text(2, 62, width, 32, POKEMON_S::Lieu110[5].to_s)
      self.contents.draw_text(2, 82, width, 32, POKEMON_S::Lieu110[6].to_s)
    end
  end
 
  def update
    super
    if $posx != @posxold
      refresh
    elsif $posy != @posyold
      refresh
    end
  end
end
end











- Et enfin le dernier a créer:

Code:









# Script Scene_Pokemap
# Pour la V3 du MENU POKéDEX
# Créé par Lén

class Scene_Pokemap
  def main
@xmin = 201 # correspond au pixel le plus a gauche de la carte
@xmax = 353 # correspond au pixel le plus a droite de la carte moins la largeur du curseur
@ymin = 64 # correspond au pixel le plus haut de la carte
@ymax = 192 # correspond au pixel le plus bas de la carte moins la hauteur du curseur


    @spriteset = Spriteset_Map.new
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.picture("carte")
    @carte = Sprite.new
  if $RegionCurseur == "kanto"
    @carte.bitmap = RPG::Cache.picture("pokemapkanto")
  elsif $RegionCurseur == "johto"
    @carte.bitmap = RPG::Cache.picture("pokemapjotho")
  end
    @carte.x = 198
    @carte.y = 58
    @herospos = Sprite.new
    @herospos.bitmap = RPG::Cache.icon("heros")   
    @curseur = Sprite.new
    @curseur.bitmap = RPG::Cache.picture("curseur")
    @curseur.x = $posx
    @curseur.y = $posy
    @pokemap_window = Window_Pokemap.new
    @pokemap_window.opacity = 0
#------------------------------------------------------------------------- 
    if $RegionHeros=="kanto" then   
      #Exemple: Bourg Palette à l'ID 12 et s'enregistre dans la variabla POKEMON_S::Lieu3
      #donc je rajoute:
      #When 12
      #@herospos.x = POKEMON_S::Lieu3[1]
      #@herospos.y = POKEMON_S::Lieu3[2]
      #Facile non ? Pensez à configurer dans Vos_Variables les variables de type POKEMON_S::Lieu.

      case $game_map.map_id
       when 5
        @herospos.x = POKEMON_S::Lieu3[1]
        @herospos.y = POKEMON_S::Lieu3[2]
       when 12
        @herospos.x = POKEMON_S::Lieu4[1]
        @herospos.y = POKEMON_S::Lieu4[2]
      end
    elsif $RegionHeros=="johto" then
      case $game_map.map_id
       when 38
        @herospos.x = POKEMON_S::Lieu101[1]
        @herospos.y = POKEMON_S::Lieu101[2]
      end
   end
#-------------------------------------------------------------------------

   
   
   
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      update_command
      if $scene != self
        break
      end
     end
     Graphics.freeze
     @spriteset.dispose
     @sprite.dispose
     @curseur.dispose
     @pokemap_window.dispose
  end

  def update
    if $RegionCurseur == $RegionHeros
      @herospos.opacity = 255
    elsif $RegionCurseur != $RegionHeros
      @herospos.opacity = 0
    end
    @spriteset.update
    @pokemap_window.update
  end   

  def update_command
  if Input.trigger?(Input::C)
    if $posx==POKEMON_S::Lieu1[1] and $posy==POKEMON_S::Lieu2[2] then #lieu 1
      $game_variables[POKEMON_S::DESTINATION]=1
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu2[1] and $posy==POKEMON_S::Lieu2[2] then #lieu 2
      $game_variables[POKEMON_S::DESTINATION]=2
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu3[1] and $posy==POKEMON_S::Lieu3[2] then #lieu 3
      $game_variables[POKEMON_S::DESTINATION]=3
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu4[1] and $posy==POKEMON_S::Lieu4[2] then #lieu 4
      $game_variables[POKEMON_S::DESTINATION]=4
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu5[1] and $posy==POKEMON_S::Lieu5[2] then #lieu 5
      $game_variables[POKEMON_S::DESTINATION]=5
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu6[1] and $posy==POKEMON_S::Lieu6[2] then #lieu 6
      $game_variables[POKEMON_S::DESTINATION]=6
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu7[1] and $posy==POKEMON_S::Lieu7[2] then #lieu 7
      $game_variables[POKEMON_S::DESTINATION]=7
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu8[1] and $posy==POKEMON_S::Lieu8[2] then #lieu 8
      $game_variables[POKEMON_S::DESTINATION]=8
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu9[1] and $posy==POKEMON_S::Lieu9[2] then #lieu 9
      $game_variables[POKEMON_S::DESTINATION]=9
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu10[1] and $posy==POKEMON_S::Lieu10[2] then #lieu 10
      $game_variables[POKEMON_S::DESTINATION]=10
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu11[1] and $posy==POKEMON_S::Lieu11[2] then #lieu 11
      $game_variables[POKEMON_S::DESTINATION]=11
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="kanto"
      $scene = Scene_Vol.new
    elsif $posx==POKEMON_S::Lieu101[1] and $posy==POKEMON_S::Lieu101[2] then #lieu 101
      $game_variables[POKEMON_S::DESTINATION]=12
      $game_system.se_play($data_system.decision_se)
      $RegionCurseur="johto"
      $scene = Scene_Vol.new
    end
  end

    if Input.trigger?(Input::B)
        $game_system.se_play($data_system.buzzer_se)
        $scene = POKEMON_S::Pokemon_Menu.new(6)
    end   
     
        if Input.repeat?(Input::RIGHT)             
            if $posx==@xmax and $RegionCurseur=="johto" then
              @carte.bitmap = RPG::Cache.picture("pokemapkanto")
              $RegionCurseur = "kanto"
              @curseur.x = @xmin
              $game_system.se_play($data_system.decision_se)
              $posx = @curseur.x
            elsif $posx==@xmax and $RegionCurseur=="kanto" then
              $game_system.se_play($data_system.buzzer_se)
            else
             $game_system.se_play($data_system.decision_se)
             @curseur.x = $posx+8
             @curseur.y = $posy
             $posx = @curseur.x
             #print $posx.to_s
             #print $posy.to_s
            end                           
          return       
        end
         
      if Input.repeat?(Input::LEFT)
            if $posx==@xmin and $RegionCurseur=="kanto" then
              @carte.bitmap = RPG::Cache.picture("pokemapjotho")
              $RegionCurseur = "johto"
              @curseur.x = @xmax
              $game_system.se_play($data_system.decision_se)
              $posx = @curseur.x
            elsif $posx==@xmin and $RegionCurseur=="johto" then
              $game_system.se_play($data_system.buzzer_se)
            else
             $game_system.se_play($data_system.decision_se)
             @curseur.x = $posx-8
             @curseur.y = $posy
             $posx = @curseur.x
             #print $posx.to_s
             #print $posy.to_s
            end                           
          return       
        end
     
      if Input.repeat?(Input::DOWN)
            if $posy==@ymax then
              $game_system.se_play($data_system.buzzer_se)
            else
             $game_system.se_play($data_system.decision_se)
             @curseur.x = $posx
             @curseur.y = $posy+8   
             $posy = @curseur.y
             #print $posx.to_s
             #print $posy.to_s
            end
        return
      end
     
      if Input.repeat?(Input::UP)
            if $posy==@ymin then
              $game_system.se_play($data_system.buzzer_se)
            else
             $game_system.se_play($data_system.decision_se)
             @curseur.x = $posx
             @curseur.y = $posy-8   
             $posy = @curseur.y
             #print $posx.to_s
             #print $posy.to_s
            end
        return
      end
   
    end
end











- Remplacez le script Pokemon_Menu par celui la:

Code:









#==============================================================================
# ■ Pokemon_Menu
# Pokemon Script Project - Krosk
# 18/07/07
#-----------------------------------------------------------------------------
# Scène modifiable
#-----------------------------------------------------------------------------
# Menu principal accessible par échap
#-----------------------------------------------------------------------------
module POKEMON_S
  class Pokemon_Menu
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def initialize(menu_index = 0)
      @menu_index = menu_index
    end
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def main
      $fontsize = 14     
      @spriteset = Spriteset_Map.new
      $heureold = $game_variables[42]
      $minutesold = $game_variables[43]
      @sprite = Sprite.new
      @sprite.bitmap = RPG::Cache.picture("pokedex4g.png")
      @pokedex = Sprite.new
      @pokedex.x = 198
      @pokedex.y = 58
      @pokedex.z = 9999
      @gotcha_window = Window_Gotcha.new
      @gotcha_window.opacity = 0
      s1 = "INFOS"
      s2 = "POKéDEX"

      s3 = "POKéMON"
      s4 = "SAC"
      s5 = Player.name
      s6 = "SAUVER" 
      s7 = "CARTE"
      #@command_window = Window_Command.new(width, commands, size = $fontsize, column = 1, height = nil)
      @command_window = Window_Command.new(166, [s1, s2, s3, s4, s5, s6, s7], 16, 1, 20)
      @command_window.index = @menu_index
      @command_window.opacity = 0
      @command_window.x = 182
      @command_window.y = 258
      @command_window.height = 200
     
      if $pokemon_party.size == 0
        # Enlève accès Equipe
        @command_window.disable_item(2)
      end
      if not($data_pokedex[0])
        # Enlève accès Pokédex si non possédé
        @command_window.disable_item(1)
      end
      if $game_system.save_disabled
        @command_window.disable_item(5)
      end

      Graphics.transition
      loop do
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @command_window.dispose
      @spriteset.dispose
      @sprite.dispose
      @gotcha_window.dispose
      @pokedex.dispose
      $fontsize = 24
    end
    #--------------------------------------------------------------------------
    #
    #--------------------------------------------------------------------------
    def update
      # ウィンドウを更新
      timesys_time("minutes")
      timesys_time("heure")
      @command_window.update
      @spriteset.update
      @gotcha_window.update
      jour_update
      $heureold = $game_variables[POKEMON_S::VarTempsHeure]
      $minutesold = $game_variables[POKEMON_S::VarTempsMinutes]
      $jourold = $game_variables[POKEMON_S::VarNomJour]
      #------------------------------------------------
      case @command_window.index
        when 0 # Infos
            @pokedex.bitmap = RPG::Cache.picture("0.png")
        when 1 # Pokédex
          if not($data_pokedex[0])
            @pokedex.bitmap = RPG::Cache.picture("11.png")
            return
          end
          @pokedex.bitmap = RPG::Cache.picture("1.png")
        when 2 # Menu
          if $pokemon_party.size == 0
            @pokedex.bitmap = RPG::Cache.picture("22.png")
            return
          end
          @pokedex.bitmap = RPG::Cache.picture("2.png")
        when 3 # Sac
          @pokedex.bitmap = RPG::Cache.picture("3.png")
        when 4 # Carte dresseur
          @pokedex.bitmap = RPG::Cache.picture("4.png")
        when 5 # Sauvegarde
          if $game_system.save_disabled
            @pokedex.bitmap = RPG::Cache.picture("0.png")
            return
          end
          @pokedex.bitmap = RPG::Cache.picture("0.png")
        when 6 # Carte dresseur
          @pokedex.bitmap = RPG::Cache.picture("map.png")
        end
      #------------------------------------------------ 
      # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
      if @command_window.active

        update_command
        return
      end
    end
#==============================================================================
#==============================================================================
#==============================================================================
# Cette zone encadrée par 3 ligne de "=" au début et à la fin est
# sous licence Creative Commons !!!!!!
# by MoussPSP Corporation
# 13/07/08 -- Version 4
#                            DEBUT DE LA LICENSE   
    def jour_update
      case @clock.strftime("%A")
        when "Monday"
          jour = "Lundi"
        when "Tuesday"
          jour = "Mardi"
        when "Wednesday"
          jour = "Mercredi"
        when "Thursday"
          jour = "Jeudi"
        when "Friday"
          jour = "Vendredi"
        when "Saturday"
          jour = "Samedi"
        when "Sunday"
          jour = "Dimanche"
      end
      $game_variables[POKEMON_S::VarNomJour] = jour
    end



    def timesys_time(asked = 0)
    @clock = Time.new
    if asked == "heure"
      $game_variables[VarTempsHeure] = @clock.hour.to_s
      return $game_variables[VarTempsHeure]
    end
    if asked == "minutes"
      $game_variables[VarTempsMinutes] = @clock.min.to_s
      return $game_variables[VarTempsMinutes]
    end
    if asked == "secondes"
      $game_variables[VarTempsSecondes] = @clock.sec.to_s
      return $game_variables[VarTempsSecondes]
    end
  end

#                              FIN DE LA LICENSE 
#==============================================================================
#==============================================================================
#==============================================================================   
 
    def update_command
      if Input.trigger?(Input::B)
        # キャンセル SE を演奏
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        if $game_party.actors.size == 0 and @command_window.index < 4
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        case @command_window.index
        when 0 # Infos
          $game_system.se_play($data_system.decision_se)
        when 1 # 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_Pokedex.new
        when 2 # Menu
          if $pokemon_party.size == 0
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          $scene = Pokemon_Party_Menu.new
        when 3 # Sac
          $game_system.se_play($data_system.decision_se)
          $scene = Pokemon_Item_Bag.new
        when 4 # Carte dresseur
          $game_system.se_play($data_system.decision_se)
          $game_temp.common_event_id = 19
          $scene = Scene_Map.new
        when 5 # 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_Save.new
        when 6 # Map
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Pokemap.new         
        end
        return
      end
    end
  end
end


























- Rajouter un script Jour/Nuit + Temps Réel de MoussPSP au dessus de main
http://pokemonscriptproject.xooit.fr/t229-Systeme-Jour-Nuit-Temps.htm?q=r%C…

- Créez un évènement commun en Processus Parallèle et activé par l'interrupteur 102 que vous devrez activer avant d'ouvrir le menu pour la première fois (l'activer dans l'évènemment du début du jeu est conseillé).


- Créez un évènement commun comme l'image ci-dessous. Je rappel que la condition doit être sur la variable 499. la valeur a tester est le numéro de la variable $Lieu dans le script Window_Pokémap.

Exemple: Pour moi Jadielle dans Vos_Variables c'est $Lieu3 donc ci-dessous je test si la variable 499 = 3 si oui me teleporter! si la variable 499 = 2 et si j'avais plus complété l'event ci-dessous en disant teleporter l'equipe à Argenta cela m'aurais téléporté a Argenta !! la valeur de la variable 499 égale au lieu sur lequel vous avez appuyé sur action donc vous n'avez rien d'autres a configurer pour la téléportation. N'oubliz pas de changer de variable dans cette Event si vous l'avez modifier dans le script Vos_Variables.

Une nouvelle chose fait son apparition, c'est la notion de région. Pensez à rajouter la région en dessous de chaque téléportations.



Et enfin téléchargez ce fichier zip contenant les images utilisées dans le script. metez les dans les bon dossiers !!!
Mis à jour pour la V3: http://www.mediafire.com/?1ytkgyenyxz

Ressources Graphiques:

100% custom


Last edited by Lén on Sun 20 Dec - 04:44 (2009); edited 39 times in total
Back to top
Publicité






PostPosted: Sun 18 Jan - 03:28 (2009)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Bilkev
Guest





PostPosted: Sun 18 Jan - 09:00 (2009)    Post subject: Un Menu POKéDEX

Chez moi sa bug je ne sais pas pourquoi il dise que sa bug au niveau de Window_Gotcha
Back to top
Suicune31
Membre


Joined: 08 Aug 2008
Posts: 1,161
Localisation: Haute-garonne (31)
Masculin

PostPosted: Sun 18 Jan - 09:03 (2009)    Post subject: Un Menu POKéDEX

Alors la ... Rien a dire ...
Ou plutôt si .. un ptit truc ^^ quand on va sur la fiche d'un pokémon dans le pokédex, et qu'on change de fiche entre 2 pokémon, on vois ces trois images pendent la transition ^^ j'ai galérai a prendre ce screen MDr


En tout cas le reste c'est top on peut pas trouvé mieux xD . Brav0 Bouche extensiblek: (bonne nouvelle, je n'ai plus de problème de taille avec la police ^^)

EDIT : Bilkev fait un événement et active l'interrupteur 102 Clin d'œil foireux
EDIT(2) : Lèn, il y a marqué 9h1 au lieu de 09h01 sur l'écran su haut xD ^^


Last edited by Suicune31 on Sun 18 Jan - 09:14 (2009); edited 2 times in total
Back to top
Bilkev
Guest





PostPosted: Sun 18 Jan - 09:04 (2009)    Post subject: Un Menu POKéDEX

comment ta fait ? J'ai suivis les consignes.
et j'ai active l'event 102 .
Back to top
Suicune31
Membre


Joined: 08 Aug 2008
Posts: 1,161
Localisation: Haute-garonne (31)
Masculin

PostPosted: Sun 18 Jan - 09:07 (2009)    Post subject: Un Menu POKéDEX

Attend bilkev je te dit tout pars MP Clin d'œil foireux

EDIT : Le (ok) tu pouvais l'éviter xD


Last edited by Suicune31 on Sun 18 Jan - 09:13 (2009); edited 1 time in total
Back to top
Bilkev
Guest





PostPosted: Sun 18 Jan - 09:08 (2009)    Post subject: Un Menu POKéDEX

ok.
Back to top
PiVa
Guest





PostPosted: Sun 18 Jan - 10:43 (2009)    Post subject: Un Menu POKéDEX

Comment faire pour que l'affichage de l'heure soit actualisé automatiquement ? (car sinon on doit fermer et rouvrir le menu)
Back to top
Suicune31
Membre


Joined: 08 Aug 2008
Posts: 1,161
Localisation: Haute-garonne (31)
Masculin

PostPosted: Sun 18 Jan - 10:51 (2009)    Post subject: Un Menu POKéDEX

C'est ce qu'il essais de faire ^^ il y est pas parvenu encore ...
Back to top
PiVa
Guest





PostPosted: Sun 18 Jan - 11:02 (2009)    Post subject: Un Menu POKéDEX

Buggg XD

L'heure s'affiche 11 h 1 a la place de 11 h 01
Back to top
Hanamichi93
Guest





PostPosted: Sun 18 Jan - 11:29 (2009)    Post subject: Un Menu POKéDEX

Sa c'est pas grave , on va pas faire du chichi pour des petits detailles nan .
J'ai un petit probleme j'ai tout suivis t'es instruction et des que j'ouvre le menu il me dise qu'il y a un probleme avec Windows_Gocha ligne 52


Last edited by Hanamichi93 on Sun 18 Jan - 12:00 (2009); edited 1 time in total
Back to top
PiVa
Guest





PostPosted: Sun 18 Jan - 11:33 (2009)    Post subject: Un Menu POKéDEX

si c'est grave, c'est un détail très important !
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Sun 18 Jan - 11:36 (2009)    Post subject: Un Menu POKéDEX

Code:
sprintf("%02d",valeur)


Sauf erreur, cette fonction permet d'afficher valeur (qui est un nombre, ici un nombre de minutes) en permanence, sur 2 chiffres.
Back to top
PiVa
Guest





PostPosted: Sun 18 Jan - 12:00 (2009)    Post subject: Un Menu POKéDEX

Ca marche Bouche extensiblek:
Code:
    self.contents.draw_text(25, 132, 120, 32, $game_variables[42]+" h "+ sprintf("%02d",$game_variables[43]))
Back to top
Hanamichi93
Guest





PostPosted: Sun 18 Jan - 12:01 (2009)    Post subject: Un Menu POKéDEX

J'ai un petit probleme j'ai tout suivis t'es instruction et des que j'ouvre le menu il me dise qu'il y a un probleme avec Windows_Gotcha ligne 52

Edite : Pichu65 j'ai esaye de mettre ton code mais sa marche toujours pas !
Back to top
PiVa
Guest





PostPosted: Sun 18 Jan - 12:06 (2009)    Post subject: Un Menu POKéDEX

Le code doit être sur une ligne a la place de la ligne 52
Tu dois obtenir ça :
Code:
 def refresh
    self.contents.clear
    @ball.bitmap = RPG::Cache.icon("pokeball16.png")
    @jumelle.bitmap = RPG::Cache.icon("jumelle.png")
    @clock.bitmap = RPG::Cache.icon("clock.png")
    self.contents.draw_text(25, 7, 120, 32, $game_variables[99].to_s)
    self.contents.draw_text(25, 26, 120, 32, $game_variables[98].to_s)
    self.contents.draw_text(25, 132, 120, 32, $game_variables[42]+" h "+ sprintf("%02d",$game_variables[43]))
    end
end
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: 1, 2, 321, 22, 23  >
Page 1 of 23

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)